Tag Archives: Web Applications

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

GeoServer 2.6.2, Programmatically Registering an SLD

While using GeoServer 2.6.2 for a project, I ran into an issue registering a styled layer descriptor (SLD) over the REST interface.

The SLD in question uses a PointSymbolizer, referring to a graphic in the same directory as the SLD. When I login to GeoServer’s administrative interface, I can easily create the SLD from scratch, and everything validates/saves/displays as expected. Original SLD.

Continue reading

jsTree/jQuery, Dynamic Node Addition

jsTree is a jQuery plugin allowing easy integration of interactive trees. Both products are well supported, pervasive and useful. Creating the static jsTree is trivial, but the syntax for dynamically editing the tree after the ‘ready.jstree’ event can be difficult for the newcomer.

My specific use case was to create the tree based on the result from an external web service call. The call finished long after the tree was loaded, so the JSON result needed parsed, and the tree updated.

JSFiddle showing functionality.

Screenshot in case JSFiddle is down:

screenshot

 

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).

Weather Underground Web API using C#, Part 2

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.

Continue reading

Dormitory Assessment Module (DAM)

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.

Continue reading

Blue Marble Mosaic

Recently, I decided to push www.olympianengine.com to Google App Engine. Google App Engine is a platform for building and hosting web applications on Google Web Servers (wikipedia).

I hit an immediate show-stopper: the maximum size for any single file is 1048576 bytes. I spent a night chopping up the bluemarble.tif from the GeoTIFF tutorial, such that I can load it in chunks, then realized I have large KML files on another website that I have no intention of chopping up.

Continue reading