blankblank blank

Archive for the 'geocoding' Category

Earth Survey Plugin: NGS Benchmarks, PLSS Data, USGS Quad Data And More

A while back, I posted about a free web app from Metzger and Willard that shows National Geodetic Survey control points (benchmarks) near a specific area, and lets you view data for those landmarks. I’ve just noticed that they’ve created a newer web app called the Earth Survey Plugin, running in a Google Earth browser plugin that not only has the same capability, but also adds a bunch of additional features:

  • An NGS Survey Marker capability that works very similarly to the previous app, but now offers the ability to export the data into a static KML file
  • A PLSS point geocoder function that either gives you the section data for the point in the middle of the display:


… or lets you enter the PLSS parameters, and find the center point associate with them:


These can also be saved as a KML file.

  • A click-to-geocode function:


Plus, a set of overlays:

  • PLSS sections, including quadrants and subquadrants:


  • Principal meridians:


  • USGS topo quad index; orange dots for 1:24K, purple for 1:100K, cyan for 1:250K. Clicking on a dot brings up a pop-up balloon with the name of a quad, and a direct link to the GeoPDF for that quad at the USGS store. Note that GeoPDF quads are not currently available for quads in US National Forests, and that at this time, some states (e.g. AZ, CA) don’t have full topographic information on their GeoPDF quads.


  • Actual USGS topo map views, with the scale depending on your zoom level.

Free Open GeoData Server Package (With Geocoding)

Via geothought comes word of the latest project from the developer of OpenHeatMap, Pete Warden. The Data Science Toolkit wraps up a number of open-source data tools into a combined server/data package that you can install as a VMware image or Amazon EC2 package (downloads/instructions included). You can also set it up as a stand-alone Linux-based server, or install it on a hosting service, with instructions available at the project’s github depository. Geo-related services include:

  • Geocoding: US address to latitude/longitude)
  • Coordinates to political areas: Enter coordinates, and get country/state/region/neighborhood data. For example, for (37.769456,-122.429128), you get:

(United States, usa, country) (California, us06, state) (San Francisco, 06_075, county) (San Francisco, 06_67000, city) (Eighth district, CA, 06_08, constituency) (Castro-Upper Market, Castro-Upper Market|San Francisco|CA, neighborhood)

  • Geodict: “pulls country, city and region names from unstructured English text, and returns their coordinates.” This one’s not working fully yet; sometimes gives results, other times nothing, even on the same query.
  • IP Address to Coordinates: Translates IPv4 numeric address to coordinates. Not always the coordinates directly associated with the website. For example, this site is based out of Arizona, but the server address for the hosting company is in Chicago, and used to be in Utah.

Also includes a built-in REST/JSON-based API for web services, so you can invoke it from other websites. Big advantage of this approach is that you can set up your own server for these data queries, free of the daily limits other similar services apply. You can test out the current services on the website.

Here’s a talk on this topic by Pete Warden from this year’s GigaOm Structure Big Data 2011 conference:

Watch live streaming video from gigaombigdata at

Convert An Excel Address Spreadsheet Into A KML File (And Then Into A Geocoded CSV Text File) With KMLGeocode And KMLReport

KMLGeocode (available here under the Google Geocoder listing) takes an address file in Excel (or XML) format, and creates a Google Earth KML file that plots geocodable addresses in the correct position. Load an address XLS file into the program (like this sample data also available on the download page):


You have to specify the column names that contain the key address fields required for geocoding, as well as the output KML filename. Once done, create the KML output file and open it in Google Earth. Addresses that could be geocoded will be plotted with orange pushpins:


Clicking on  pushpin will bring up all the data fields for a record in the spreadsheet, not just the specified ones. Addresses that couldn’t be geocoded are given yellow pushpin designations, and will either show up plotted in a general location, or not plotted at all in Google Earth (though they will be listed in the Place pane under the KML file listing:


To embed the actual geographic coordinates for each of these addresses, right-click on the KML file listing (people.kml in the above example), and save it as another KML file with a different name. You can now open this different KML file in the KML Geocode Report program:


Specify the name of a text output file; this output will be a spreadsheet-readable CSV file that contains the original spreadsheet data with the longitude and latitude of geocodable addresses appended at the end as X and Y coordinates:

 11, Suzanne White, Office of Information Resources, 312 8th Ave North, Suite 1600, Nashville, TN, 37243, 615-253-4799,,-86.784031,36.164133
 12, Kurt Snider, US Fish and Wildlife Service, 446 Neal St, , Cookeville, TN, 38501, 931-528-6481,,-85.497903,36.138056
 14, David Tirpak, Comptroller of the Treasury, 505 Deaderick St, Suite 1700, Nashville, TN, 37243-0277, 615-401-7820,,-86.781603,36.165238

The “UnMatched” file is supposed to contain the non-geocodable addresses in KML format (at least, according to the PDF manual for these programs), but it didn’t show up for the sample data when I tried it. When you “Process” the files, in addition to the output file above, you’ll get a pop-up telling you the overall geocoding success percentage:


Note: When installing both programs, the installation directory is listed simply as “C:\Program Files\”; however, unless you specify the new name, it is installed in the directory “C:\Program Files\BRalston”, and “BRalston” is the folder in the Start Menu where you’ll find the program shortcut icons.

Georeferencing A General Textual Location With BioGeomancer

In the good old days, before 1994 or so, when commercial handheld GPS units first came onto the market, locations were often described in general textual terms, like “28 miles NNW of Gila Bend”, or “5 kilometers east of Mount Whitney”. BioGeoMancer Classic and BioGeomancer Workbench can parse these kind of textual descriptions, and convert them to a set of geographic coordinates.

The older Classic version has a text-only interface with limited options:


And gives a text output:



The “Map” option in Classic doesn’t seem to work, but the XML option does. Since the Classic version is no longer under development, it’s likely to stay in this format

The newer BioGeomancer Workbench version, still under development, has a Google Maps based interface. Enter a locality like “5 kilometers east of Mount Whitney”, and get a list of localities with their locations plotted in Google Maps:


In this case, I was looking for Mount Whitney in CA, but it came up with an additional one in NY. By using “5 kilometers east of Mount Whitney, CA” as the location reference, the NY locality would be dropped:


The more general geographic info you can add, the better you will be able to narrow down the possibilities. It looks like you need commas to delimit geographic data, since “5 kilometers east of Mount Whitney CA” won’t return any results.

Zooming in on the northern localities shows them plotted, along with the location uncertainty as a darker circle:


Clicking on a placemark brings up options to change the uncertainty radius, delete the placemark, delete all the other placemarks, or zoom in:


The only way to save the data now is to copy it from BioGeomancer and paste it into a different application. The help page indicates that in the future, you’ll have the option to save the data in spreadsheet format, and also do batch text georeferencing.

Digipoint, Export Of Google Maps Point Coordinates, Upgraded To Version 3

I’ve posted before about Digipoint (version 1 and version 2), a web app that lets you select points in a Google Maps interface, then export their coordinates in a variety of formats. Version 3 of Digipoint is now out, with some modest improvements:

  • A new interface, a bit easier to use, and which works better in browsers where the default font size has been modified
  • Fly-to: Specify an address, country, or location, and the map will automatically go there. There are also a limited number of pre-specified country/region links, where  clicking on the link takes you to the area automatically
  • In previous versions, you had to copy/paste text for a particular export format like CSV or KML; you can now download the file automatically
  • For exported shapefiles, a corresponding prj file is also created to specify the coordinate system (your choice of geographic or UTM; WGS84)
  • Help section added

Still supports the same export formats as before: CSV, TXT, TAB, BLN (Surfer), GPX, KML, DXF and shapefile. Versions one and two are still available if you want them, but there’s no good reason to use them anymore.

Online Geocoding, Address Verification And Shortest Path Utilities From the USC GIS Research Laboratory

The USC GIS Research Laboratory offers a number of online geographic applications and Web APIs. You have to register for the services, and you’ll get 5000 use credits. After those are used up, the services are free for non-profit and non-commercial enterprises, as long as you cite/reference their use somewhere. For commercial use, if you post an attribution to the service on your website, and also allow them to use your name/logo on their website, you can also use it for free; if not, you can also buy processing credits from them. See this page on usage costs for more info.

Continue reading ‘Online Geocoding, Address Verification And Shortest Path Utilities From the USC GIS Research Laboratory’

Tiny Geocoder

Tiny Geocoder is a small, simple web geocoder; type in an address or geographic location, and get back the approximate latitude/longitude for that location, and a Google Map view with that location plotted:

12-1-2008-10.03.26 AM

If you have a Google Map API key (free), you can generate code to create a static link to this map (static meaning just the image itself, not scrollable or zoomable).

And for web gearheads, there’s a simple and free API available for geocoding and reverse geocoding. Here’s an example of geocoding for Provo, Utah, and reverse geocoding for 37,-110.

GIS-Like Functionality In Google Maps With ZeeMaps

The classic functionality for Google Maps is the computerized equivalent of “sticking a pin in a map”, albeit a very fancy pin with the ability to hold and display additional information. ZeeMaps takes that simple Google Maps functionality and moves it towards something a lot closer to a Geographic Information System. With ZeeMaps you can:

  • Create standard maps, housing maps (specialized real estate data attributes), or IP maps (data markers based on location of IP address)
  • Import and export data in CSV format.
  • Import a list of addresses and have them automatically geocoded and plotted. Or, import data with latitude/longitude coordinates.
  • Define attribute fields for your data, then filter your data based on those attributes.
  • Annotate the map with text (separate from the data markers).
  • Display data in map form, list form, or both.
  • Select data points based on distance from a specific point (spatial selection).
  • Publish maps on the Web, either in read-only format, or allowing others to add and modify points. You can also select subsets of data that is displayed, while hiding other datasets.
  • Associate and upload pictures and audio files with data markers.
  • “Print” the map in PDF format.

The service is free, and can be used without registration (though registration makes tracking and managing multiple maps easier). The interface is intuitive, and there’s a decent help section. Although some operations take a few more steps to accomplish than I would like, overall there’s nothing major to complain about; it’s a great Google Maps service, especially at the price.