Tag Archives: Java

Java, Amazon AWS Lambda and Ant

Using Java, Amazon Web Services (AWS) and Ant; a function can be created/deployed that performs the role of a scheduled task. The code can be used to make web service calls, run backup tasks, clean a database table, etc.

Source code is discussed, and a walk through goes over the process of registering the function with AWS.

All source code can be found on GitHub.

Continue reading

NOAA Specific Area Message Encoding (SAME)…Geocoded

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

Technical notes:
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).

GeoServer Manipulation

GeoServer is an open source GIS server that propagates geospatially enabled information. Data is ingested as shapefiles, GeoTIFFs, geospatially enabled databases etc. and then displayed using Open Geospatial Consortium standards, namely WMS and WFS. This allows any software product that has a WMS/WFS ingest to accept these served layers, i.e. Google Earth, OpenLayers, ESRI products.

Many users have run into the issue of updating their GeoServer installation with new data programmatically. There is a partial module for a RESTful configuration, but has not been fully implemented. There is also an excellent code sample here that is the basis for this tutorial. However, with 1.6.0, and the new integrated security subsystem, the code no longer functions properly.

Continue reading