blankblank blank


Archive for the 'shapefile' 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.