While working on a web services project I needed to parse Specific Area Message Encoding (SAME) geocodes from NOAA (Wikipedia) (NOAA). Specifically, I needed to be able to parse the six-digit geocodes from HERE, and get a lat/lon back. From what I can tell, this list won’t be changing much, so server side geocoding is preferred. I figured this had been done by someone, somewhere…yet looking through NOAA’s official documentation and Googling did not result in geocoded geocodes.
Using Java stub code and the Google Geocoding API, I generated a geocoded list of each entry…
Local Copy of Original List: SameCode.txt
Geocoded Version: SameCodeGeocoded.txt
0. The string delimiter is now a semicolon.
1. This list is up to date as of 04.27.2014.
2. The Google Geocoding API only allows 2500 queries a day for personal use. I split up the list and ran the code twice over a 48 hour period.
3. The API had some trouble with a few of the U.S. Pacific Islands, using Google Earth and Wikipedia, I hand annotated those ones (less than half a dozen).
For part 2 of the Weather Underground API post, I’ll be taking weather data, and injecting it into a KML file. The Keyhole Markup Language (KML) is an XML based format that allows geographic data e.g. lines, points, polygons, to be easily seen in compatible viewers.
Using the previous post as a starting point, we’ll be adding:
- Front Matter. Starts the KML file, defines the encoding, has a concise description of the file.
- Style Section. Defines the way the balloons and text will look in the KML file.
- KML Encoding. The information from the Wunderground API call is encapsulated in pertinent KML.
- System.IO.File. Is used to write the output file.
In the off hours, I’ve been teaching myself C#…a simple enough object oriented language, with the benefit of using the .NET framework. If you’re targeting Windows, it’s incredibly easy…features like file IO and serial port communications work effortlessly.
I have a list of tasks that I complete before I refer to myself as ‘capable’ in a new language:
- Web API Access
- File IO
- XML Parsing
- GUI Creation
- Serial Communication
- System Call
- Directory Management
- Database Connectivity
- 3rd Party Library Integration
- Error Catching/Mitigation
The Digilent chipKIT32 (Uno32 || Max32) is an Arduino ~compatible prototype board that uses the Arduino form factor as well as the powerful PIC32.
Current Masters/PhD research at University of California, Santa Cruz (UCSC) currently consists of working on the Santa Cruz Low-cost UAV GNC System’ (SLUGS) at the Autonomous Systems Laboratory (ASL). A current side project I’m working on is to visualize the data that is produced from the SLUGS simulation such that it looks like the user is seeing through a camera mounted to the front of the UAV.
A barebones Master’s thesis in LaTeX based on the documentation from the UCSC Graduate Handbook as of May 2011.
This project includes fully documented LaTeX code and cursory bibliography/figures/tables to show usage. The generated document has all the proper pages, page numbering, borders, formatting, etc.
‘BSOE’ is listed anywhere and everywhere, but keep in mind that this was put together with information from the Graduate Division. This LaTeX template can be used by ANY graduate student in ANY program at UCSC.
For CE-218, Mechatronics, my team and I were required to build a robot for our final project. The goal of this project is to create a robot within certain specifications that can meet a required goal. This year’s project was named Slug-o-Lete; and the tasks involved the robot acting as a bull, and a toreador. In both modes the robot is to stay within a seven foot diameter circle using tape sensors, and to respond to bump sensors. The robot will have a switch that allows the robot to change from bull to toreador mode and back again.
For CE-231, Human Computer Interface (HCI), my team and I decided on creating a web application with a user-friendly UI, leveraging free web services. We designed the application to be inexpensive, easy to use/maintain, and to require minimum training.
Any modern university with housing facilities needs to maintain the condition of hundreds to thousands of rooms. A housing department needs a low cost and effective way to communicate the state of dormitory rooms between on-site employees, off-site housing administration, persons responsible for fixing a room (maintenance), and the previous/next residents.
Flying-Model-Simulator is a free radio control flight simulator for rotary and fixed wing aircraft. Using a COTS radio control, and this free flight simulator, one can develop flying skills without expensive accidents.
MicroController Linux (uCLinux) is a Linux operating system for embedded hardware systems without a memory management unit (MMU).
The LEON3 is a 32-bit VHDL processor core based on the SPARCV8 RISC instruction set architecture.
This project will involve synthesis and placement of a LEON3 processor onto a commercial off the shelf (COTS) field programmable gate array (FPGA), uCLinux will then be loaded to the FPGA.