blankblank blank


Archive for the 'GIS' Category

Geographic Data Recording On Android With Memento

Application Name: Memento

Description: Database app with custom form design, GPS geolocation input

Publisher’s website: Memento

Cost: Free ad-supported version; $9.95 Pro version removes ads, removes limits on number of databases that can be synced with Google Docs

Version/date reviewed: v.1.8.3  /  4-24-11

Phone/OS: Droid X / Android 2.2

mem_qr

Android Market (mobile app only)
Android Market (browser)


Memento is generally regarded as the best consumer-level database app for Android. You can select from 11 standard data templates (Tasks, CDs, DVDs, Purchases, etc.), browse an online catalog where others have shared their templates, or create your own Custom data template, choosing from 19 different data types:

  • Text
  • Integer
  • Real number
  • Boolean
  • Calculation
  • Date
  • Time
  • Date/Time
  • Contact
  • Image
  • String values
  • Multiselect values
  • Audio
  • Currency
  • Rating
  • Hyperlink
  • Barcode
  • Link to entry
  • Link to file
  • Password
  • Phone
  • Email
  • Google Maps coordinates

Of particular interest here is the last one; you can save geographic coordinate data using a Google Maps interface in conjunction with GPS.

mem_1

Here, I’ve created a simple database, with a text field and location field.

mem_2

Tapping the Location field brings up a Google Maps view, and fires up the GPS; your current location will be marked by the blue dot.

mem_3

Ideally, the default would be for your current location to be the desired location for recording. However, Memento requires you to select a location by tapping on the map view; the selected location is marked with a pushpin icon. Accurate placement requires you to zoom in to the maximum zoom level, and even then it may take you some practice to get it right. You can also zoom out to a different location, and position the pushpin there.

mem_4

Clicking on OK enters that location in to the appropriate field; clicking on Create saves the record.

Databases can be exported in CSV format, although some data types like images cannot be exported to this format; you can also import data in CSV format to a data template, if you follow the directions to make sure the data fields in the CSV match the data fields in the template correctly.

Even more usefully, you can sync your database automatically to a Google Docs spreadsheet. Syncing is done manually, so that you can record data while offline, then sync it up later with Google Docs. Syncing works both ways, so you can add data in Google Docs, and have it synced to your Android unit. Once in Google Docs, you can analyze the data, manipulate it, and export it in a variety of formats (e.g. CSV, XLS). It’s usually best to do this on a copy of the data, as modifying the original spreadsheet may result in sync problems later on.

mem_5

One quirk of the geographic coordinate recording is that the latitude and longitude are combined into a single entry, separated by a colon, as seen above in a screen capture from Google Docs. However, it’s pretty easy to convert that into split Latitude/Longitude columns:

1. Make a copy of the synced spreadsheet to avoid sync issues later on.

2. In the copy, create a new C column, and label it Latitude.

mem_6

3. Use the Split command to split the data in the B column (Location) into two separate data fields. You need to specify the spreadsheet location you want to modify (B2 here), and the delimiter (a colon), so you would enter =Split(B2,”:”) into the C2 column. Hitting the Enter key will now split the B column data into two data entries, the first half going into the C column, the second going into a new D column:

mem_7

 

4. You can now copy and paste the C2 data into all the other rows in the C column, and have all that data split as well; the D column is the Longitude, so you can label it as such:

mem_8

If you export this modified spreadsheet as a CSV or XLS file, some mapping/GIS programs can open it directly. Otherwise, you can use a program like MapWindow to convert the CSV file into a GIS-friendly shapefile format, or a program like DNRGarmin to convert it to a GPS-friendly GPX format.

Other issues: The free version limits the number of databases you can sync with Google Docs, but I couldn’t find out anywhere what that limit was. The in-app help is terrific, maybe the best I’ve seen, and it’s available even when you’re offline.

Final thoughts: The free version is a no-brainer must-have; this is the best basic database app for Android, especially with the geographic capabilities and Google Docs sync. If you need to sync lots of databases to Google Docs, the Pro version is expensive (for an Android app), but may be worth it.




View GIS Shapefiles On Android With SHP Viewer

Application Name: SHP Viewer

Description: View GIS shapefiles on Android, query attributes.

Publisher’s website: nexti

Cost: Free

Version/date reviewed: v.1.03  /  3-8-11

Phone/OS: Droid X / Android 2.2

shp_qr
Android Market (mobile app only)
Android Market (browser)


Note: Also requires the Adobe Air framework; Android Market link (mobile app) , Android Market link (browser).

There aren’t a lot of vector GIS data viewers currently available for Android; actually, as of the time of writing, I could only find one such app, SHP Viewer, reviewed here. After installing the app, copy the .shp, .shx and .dbf files to the “Maps” directory on your SD card; if the directory isn’t there, you’ll need to correct it. Shapefiles need to be in the geographic projection (latitude/longitude coordinates), WGS 84 datum (NAD 83 is close enough, as are many other modern datums).

shp_list

After copying the shapefiles over, and starting the app, you’ll need to press the “Refresh” button in the upper right to get them to show up in the file list (the home button at upper left exits the program). Tap on a shapefile in the list to select it.

shp_map_init

The initial view will be of the entire extent of the shapefile; you can zoom in either with the zoom control at right, or multi-touch pinch to zoom. Tap and drag to pan the map.

shp_map_zoom

SHP Viewer supports polygons, polylines and points; I’ve test it with all three, and it seems to work with all of them. Here, a polygon map is loaded. If you tap on a polygon shape …

shp_attributes

… you’ll get a popup window listing all the attribute values for that shapefile.

Other issues: Small shapefiles (< 1 MB) drew quite quickly. Tried a 13 MB polygon shapefile, and that was a bit slow to show up (20 seconds), but it did work. Then tried a 250 MB polygon shapefile, and crashed the app so completely I had to reboot. So don’t try shapefiles that are too large.

The app could really use two additional features:

  • GPS option, so that you can display your position on the shapefile map display
  • Thematic display, i.e. different colors or symbols depending on a shapefile attribute.

Final thoughts: Not a lot of choices yet for GIS data apps on Android, but they’re coming. For now, SHP Viewer is a reasonable stopgap.




FIPS Code Lookup With FIPSit

Application Name: FIPSit

Description: Lets you look up the FIPS code for a state/county, or reverse lookup if you have the code numbers.

Publisher’s website: Basement Dwelling Geek

Cost: Free

Version/date reviewed: v.1.5  /  2-21-11

Phone/OS: Droid X / Android 2.2

fipsit_qr
Android Market (mobile app only)
Android Market (browser)


US Government FIPS code numbers (Federal Information Processing Standards) have been commonly used to tag geographic data with a unique ID number for a particular state, and also county within that state; US Census data in particular has been using the FIPS code to identify geographic areas, and it’s also known as the “Census Code”. While they’re being deprecated in favor of other code systems, you can still find them used in older GIS datasets. FIPSit offers a handy reference tool for looking up the FIPS code for a state/county, and also a reverse lookup if you have a code number and want the state/county it refers to.

fipsit_1

Type in the state name (full, or standard abbreviation), and get the two-digit FIPS code.

fipsit_2

Type in at least three letters into the county name box, and you’ll get all matching counties for those three letters; as you type in more letters, non-matching entries drop out.

fipsit_3

Type in the state code into the top box, and get a list of all the counties in that state, with their FIPS codes.

fipsit_4

Type in the full county code number at top, and get the specific county.

Other issues: Be nice to have older FIPS code lookups for populated places, but those were already being deprecated in favor of the GNIS code system a few years ago.

Final thoughts: It’s a bit specialized, but if you deal with FIPS codes on a regular basis, it’s a convenient and easy-to-use reference tool.




Locational Soil And Vegetation Data In Android With SoilWeb

Application Name: SoilWeb

Description: Pulls up NRCS-NCSS soil, geology and vegetation data for a location.

Publisher’s website: SoilWeb

Cost: Free

Version/date reviewed: v.1.1  /  9-21-10

Phone/OS: Droid X / Android 2.1

sw_qr

Android Market link (mobile app only)
Android Market link (browser)


If someone asked me to demonstrate apps that showed the true potential of Android-based portable geography tools, SoilWeb would be one of my top examples. SoilWeb queries US government soil survey data based on a GPS-derived location, then displays it on your Android’s screen. The intro screen gives basic instructions, as well as an example of the kind of data it will retrieve (Figure 1):

sw1

Tap on “Get My Location” to start up the GPS, and determine the coordinates for which data will be retrieved. Since the app only allows 30 seconds for position acquisition, it’s probably a good idea to run some other GPS app beforehand to “warm up” the system. Ironically, my house is in one of the few areas in the country with no data coverage; the app will tell me that, as well as bringing up a link to a US data coverage map (Figure 2):

coverall

However, I was in an area of New Mexico last week that does have data, and was able to fully exercise the app. After getting my location, the app retrieved two soil columns for the area I was in (Figure 3):

sw3

Tapping on the link at the top of the column brings up a description of it (Figure 4):

teco1

Tapping on the soil column itself brings up tabular data for both the soil, and vegetation types typical for that soil type and the climate of the area (Figure 5):

tecofull

Awesome stuff, and I hope to see more apps like this in the future. I hope to try and bang out a few myself, but am unlikely to make one as good as this one. Kudos to Dylan Beaudette of the California Soil Resource Lab for putting this app together, and making it freely available.