Pages

Thursday, December 10, 2020

Week 14: Final paper and moving forward

    I have submitted my final paper (late) and I am okay with the content, although it could definitely be better. The database is in good shape on my end, my other team members seem enthused for their side of things, and we are all working hard over the break to put some finishing touches on it for a full demonstration. 

Overview of my final paper on building the BAT-MON database.

    
 I will be forever grateful to this scholarship program, which introduced me to opportunities I could never have had otherwise. Working within TRAIN has helped me grow as a person, given me the strength to face difficult challenges, and learn to work under pressure. I have learned what it's like to consult on a project and help plan out the steps to move forward, while also getting an understanding of how to complete a research project. I know that these skills will be very useful in the near future and I couldn't have had them without this program. Thank you to everyone including Amanda Chapman, Josh James, Matt Haberkorn, and all the other TRAIN scholars who have been so helpful and
welcoming since I have been a part of it. Good luck and keep putting in hard work to reach your goals.

Thursday, December 3, 2020

Week 13: Approaching the end

 I hope everyone had a good Thanksgiving break. It was definitely a time for me to relax and catch up on things I have been wanting to do all semester. The transition to a new submission is mostly complete, with a few changes pending some meetings. I think that this new system is much easier for the average user and will help make incorporating map utilities much more seamless. 

Part of the new feature includes some reverse GPS lookup, called reverse geocoding. A surveyor will have their location saved, and predictive measures will be taken to see if the user is at a commonly accessed site. If the surveyor confirms that the suggestion is the correct place, then all of the habitat information will be filled out from previous sessions. Plans to incorporate a search bar with predictive text will also make this process very simple.

Large chunk of code, and that's not all of it!


I plan on continuing to work on this project even beyond the walls of PC, because it has meant so much to me to have the opportunity. Being able to help put together someone else's vision by supplying the mechanics behind how it works is satisfying and I know that I am helping contribute to an area of study that needs more researchers backing it. 

So far my paper has reached 8 pages and probably have 2 more to go, but its a full write up on the system as it is intended to work. I am very happy with how it is turning out.

Anyway, I wish everyone good luck on their finals, and I hope that you all get to wrapping up your projects as you had hoped since the start! 

Tuesday, November 17, 2020

Week 11: New data collection method, geolocation API

After completing the PDF parsing version of the project, I realized that this process can be simplified by parsing data from the KML files that are generated after each recording session. I put in a lot of hard work for the initial approach but we now have a better method of execution, which shouldn't take long too implement. This will also reduce the requirements from the end user when submitting their data.

Within KML files lies entries for each "hit" when the echo meter detects a bat call in the app. It includes everything needed like name of species, coordinates of each hit, time stamps, and more. With this information available, the process will now skip using a PDF entirely, and the user will only be required to submit audio files with the supplied KML file. That's it, no filling out forms or anything, just bring the generated files and you are set... Simple! 

This change has led me to working with a reverse geolocation API, and I believe I have settled on one that will fit our needs without costing anything. Reverse geolocation is the process of gathering location data from a set of coordinates. I have only recently started working with JSON and now have much respect for how easy it makes the process of collecting data from online sources for use in any application. In this case, the user's average coordinates will be referenced and relevant geolocation data will be returned such as address, neighborhood, city, state, etc. 

Example of a pin drop and the returned results from the API. In place of a pin drop would be coordinates from the user's KML file.

The plan is to hopefully prime this for scalability on the national or even global level. Imagine a bat database that serves the entire planet! Pretty exciting stuff. Can't wait to see how far this thing can go.

Thursday, November 12, 2020

Week 10: Front-end to back-end translation

As I have been getting reacquainted with HTML and JavaScript, I have had to pass information regarding file uploads to the PHP script that works with the database. Progress has been made but I have learned some ugly things about the nature of interacting with PHP along the way. Multi-file uploads are sent via POST as a bizarre 3-dimensional array with file information split into string-based indices. The last index is a number associated with the index of the file you are trying to access. It took me a while to realize that and finally figured it out after using a var_dump. PHP is a great language but it can be a bit wonky sometimes. The good news is that I have files uploading and posting from front-end to back-end, although accessing the file information I need is still underway. Hoping to have it done by next week, as we are close to the final steps for this project.

Sunday, November 8, 2020

Week 9: Uploader and exception handling

This week I dusted off my JavaScript knowledge to implement a new uploader. It has been years since I last touched the language, and I appreciated taking a look at it again now that I have more experience programming. I am still trying to remember how to appropriately style pages but it will come in time! Since users will be required to submit both a pdf form along with their data, I felt it was important to keep things simple for the user and make a drag and drop uploader that does the sorting and checking for you instead of having separate upload pages or entry boxes. The script will now sort through the files and manipulate them as needed. On top of all this, I have started the process of exception handling for all possible outcomes when using the uploader. This process can be challenging, but it feels very rewarding to know I am identifying all possible issues that may occur and supplying a procedure to deal with them appropriately.

Thursday, October 29, 2020

Week 8: File management

Work on the project has transitioned into handling uploaded files. Since surveyors will have both a data form and ultrasonic recordings, the intention is to save these files on a server using a file naming scheme that is easily searchable. I have yet to receive a sample recording to understand what I will be working with exactly, but I have been told that the files are quite large, and can expand into sizes over a gigabyte. This would require a large server just to maintain a record of audio recordings. Thankfully magnetic drives are getting cheaper, so getting a few terabytes wouldn't be too much of an issue. As of now, I am able to upload and rename files as desired to a folder. Looking forward to checking out some data samples this week.

Tuesday, October 20, 2020

Week 7: Parser complete

The parsing setup is fully functioning. I still have to run extended tests but everything looks great so far. Users will upload their forms, the data will be parsed and sorted for upload, then added to the database without the need for intervention. I still have to address the process for uploading data from new locations, but this shouldn't be much of an issue. I will be finishing up some of the smaller things within the code and once testing is complete, I should be able to throw anything at it and keep it working as intended. The next steps are to work on user authentication and accounts, along with a method to store uploaded information that includes the document for backup and the audio files from surveys. As this project continues to move forward, it will be harder to post screenshots of completed work if we want to protect the integrity of the system since it may one day be public facing. I will do my best to include relevant media but it will be tough!