Work Journal
 
Trips
 
Locations
 
Users

Google Maps & Geo-Coding
April 2007

Work Location: Denton, TX and West Des Moines, KS (see my wife's travel log).

I did not get a lot of work done on the site this month. Too much towing (Texas to Kansas to Iowa); a week at the RV manufacturers in Kansas getting a laundry list of stuff done; visiting with my daughter in Iowa.

Mon 2 - Wed 4 (continued) (releases v00.057 & v00.058)

Locations

Can now edit GPS coordinates by dragging a point on a Google Map.

Fixed crasher in creation of a new location. Added an integration test for the condition. Fixed bad location integration test. Add a few other tests, also.

Thu 5 (release v00.059)

Users

Added fields for editor and admin roles. Currently the only way to set the fields is by manually modifying database fields.

Locations

As a security and sanity measure, location can now only be edited by a user under these conditions:

  1. the user created the location record, or
  2. the location record is public and the user is an authorized editor, or
  3. the location record is not public, but the user is an authorized supervisory editor.

Thu 5 - Sun 8 (release v00.060)

Locations

Refactored editing code in controller to make it easier to add option buttons.

Edit action now only saves location if there were changes.

Maps have been deactivated for this release. Next release will include buttons to turn them on and off. On slow internet connections the maps are a problem. Cannot have them until they can be turned on and off.

Mon 9 - Mon 23(release v00.061)

Locations

Option Commands

Continued refactoring the location controller and display code to facilitate adding of option commands.

Map Display Option

Map display can now be turned on and off. Default is off. This capability has already be handy in development on days when the satellite connection is slow.

GPS Editing Option

Can now switch between editing two GPS formats:

Defaults to DMS format to make it easier to enter coordinates from Google Earth maps and from our truck's GPS navigation system.

Longitude is always negative, since all locations are in the Americas. Now automatically make the longitude degrees negative if it was not as such. I got tired of always typing a negative sign when there was no other option anyway.

Tue 24 (release v00.062)

Map Display, New Location

If GPS coordinates have not yet been set, the map is not displayed.

GPS Coordinates Status

Added a table to be used in describing the status of GPS coordinates. The intent is to indicate the "quality" of GPS coordinates. Initial use is in the Locations table.

Here are the possible GPS Coordinate states, from worst quality to best:

Status Code / Id Category Name Description
Code Meaning
1 0 Uknown Unknown Coordinates not set and no attempt to set the coordinates has occurred.
2 0 Uknown Failed Guess failed or user supplied values were invalid.
3 1 Guessed City Guess based on city only. Accuracy: within tens of miles?
4 1 Guessed Postal Code Guess based on postal code only. Accuracy: within tens of miles?
5 1 Guessed Full Address Guess based on full address. Accuracy: generally within ten or twenty miles?
6 2 Verified Cross Checked Verified by a person cross referencing maps, driving directions, and/or low resolution aerial imagery.
7 2 Verified Aerial Imagery Verified by a person using aerial imagery of high enough resolution to clearly see RV's, buildings, etc.
8 2 Verified Feet On Ground GPS Verified by a person at the location using a reliable GPS unit.

Location details display the status as "GPS Quality".

Wed 25 (release v00.063)

Locations GPS Edit

Can now modify "GPS Quality".

Thu 26 - Sun 29 (release v00.064)

Locations GPS Edit

Major overhaul of Location model with respect to setting attributes from edit form.

As more specific address location is added, GPS coordinate guesses are refined. The most refined guess is based on street address when added to city and state.

Any time an address component is changed, GPS coordinates are re-guessed UNLESS the GPS quality/state is set to one of the "verified" values. Re-guessing can be forced by setting GPS quality to one of the "unknown" values.

Note that GPS guesses based on city, state, and postal code are based on data from ZipCodeWorld.com.

Guesses based on street address use Google's geo-coding API.

Limitations:

Mon 30 - continued in May (release v00.065)

Adding integration tests to ensure tht the GPS quality/status and the geo-coding continue to work as advertised.