Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

We are a small non-profit. We use a fairly complex MS Access application to track everything.

We would very much like to geocode addresses in our application and display the results on a map. In other words, we would like to input an address and have it display on a map. We would need to use the GIS data provided by our municipality. They use ArcGIS and the MXD files contain a fair amount of ancillary data for each point.

We have access to ArcGIS 9.x. But I am unable to get the map control working in our Access application, and apparently ESRI is eliminating that control anyway. I tried the following already:

  • Google Maps static API. Works pretty well, but I have no way of geocoding against the local municipal data.
  • MapWinGIS makes great maps based on ArcGIS file, but I have no way to geocode against the local data, as far as I can tell.
  • Export MXD to KML. Works OK, but no labels/other ancillary data.
  • Export points in ArcGIS and import to Access table. Sloppy, doesn't bode well for future updates to the GIS data provided by the municipality, and have no way of dealing with intersections.

I would be willing to import the ArcGIS data into a different GIS product, if it would help (we could presumably just import new versions of the data in the same way.)

Any suggestions greatly appreciated.

share|improve this question
2  
Have you considered geocoding using the Google API (gis.stackexchange.com/questions/27194/…)? As a non-profit you might be within their Outreach remit (google.com.au/earth/outreach/index.html). Using something like QGIS and the open-layers add on would allow you to map directly onto a Google Maps base layer.... –  Andrew Tice Feb 14 '13 at 6:05
1  
Do you have any plans to migrate away from Access and into a more flexible database and application development environment? There are many open-source web-enabled stacks to choose from. If your concern is interoperability with data from the municipality or other agencies you will certainly want to look into GDAL/OGR and possibly FME depending on budget. –  blah238 Feb 14 '13 at 7:35
    
Unfortunately we are limited to MS Access. –  milhouse Feb 14 '13 at 18:30
    
From what I can see in terms of QGIS and Google Maps, the geocoding is done against Google's address locator. I need to geocode against the local municipal maps. I believe you can do this - and plot the results on Google Maps - if you have ArcGIS Server (help.arcgis.com/en/webapi/javascript/gmaps/index.html) but I don't have that. –  milhouse Feb 14 '13 at 18:36
add comment

2 Answers

If I have this correct -- biggest constraint is that you must use the local municipal data as the geocoding reference data. This wasn't clear in your original question.

I'll give you the ArcGIS answer -- since that is available to you and what I know.

You need to create a ArcGIS locator from the municipal data, i.e. the reference data. This is your biggest hurdle and will require fiddling with the configuration of the locator. If you have polyline street data, it has to have a beginning and end street number for each record, use "US One Range" style. For dual street number ranges, you can use "US Streets" style. If you have polygon parcels or centroid parcel points or something like that, use "US One Address".

Read through this section on geocoding for ArcGIS 9.3 and follow the instructions there -- http://webhelp.esri.com/arcgisdesktop/9.3/index.cfm?TopicName=An_overview_of_geocoding

Once you have the locator built, you can pull in a table of data with addresses from Access directly into ArcMap. Then, use the built in geocoding tools in ArcMap to run your data through the locator and produce your new geocoded point layer. The output spatial data layer can be created in different formats, but the most used ones for Esri are shapefiles and and Access tables, ArcGIS calls it a personal geodatabase, which is just an mdb with extra tables that manage the spatial data. (There's a new format called file gdb, but since you know Access, use that.)

To display the processed geocoded data - show it in ArcGIS Desktop, Google Maps, ArcGIS Online, Openlayers, etc. Many choices are available, but if you are wanting to display a map in your custom Access application with the geocoded point data -- post another question when you get to that point.

share|improve this answer
    
Ideally, it is better to geocode against a parcel layer that has a address field(s) rather than using street centerline layer that has estimated address ranges. –  artwork21 Feb 15 '13 at 11:51
    
@artwork21 I wouldn't recommend that, it is very common for there to be more than 1 address for a "parcel". –  blah238 Feb 15 '13 at 18:32
    
I have been able to geocode in this way; this is how we're doing it (rather kludgily) right now. Also, we've been reduced to using the word "kludgily". The problem I run into is regarding intersections. As part of my research I've tried mightily to export a table of intersection points from ArcGIS, which apparently isn't really possible. And we do use the parcel data as opposed to the street centerline. These maps are official municipal maps and (barring some sort of oversight) there are no duplicates. I agree, it's much preferable to the centerline data. –  milhouse Feb 19 '13 at 16:12
    
So basically at this point we're exporting a table to points to MS Access and using that. But it has many limitations: - no intersections - difficult to update when the municipality revises regularly In short, you understood my poor writing correctly. I need to be able to geocode against the municipal data. And I can't figure out how to do that in Access. –  milhouse Feb 19 '13 at 16:13
add comment

This might give you a headstart: http://peterssoftware.com/ggc.htm

share|improve this answer
3  
While this link may answer the question, it is better to include the essential parts of the answer here and provide the link for reference. Link-only answers can become invalid if the linked page changes. –  Zachary Feb 18 '13 at 17:53
1  
Welcome to our site, Peter! Your software looks like an apt solution to the question in this thread. Would you mind including a brief description of it here in your answer? –  whuber Feb 18 '13 at 18:19
    
I have nothing to add here, but Peter, I use your site all the time and your MS Access work is golden. –  milhouse Feb 19 '13 at 16:09
add comment

We're looking for long answers that provide some explanation and context. Don't just give a one-line answer; explain why your answer is right, ideally with citations. Answers that don't include explanations may be removed.

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.