February 6, 200817 yr Hi, Anybody know an easy way to get 3000 addresses from a FileMaker database into a GPS unit? I'd like them to be shown as waypoints/points-of-interest. Possibly via parsing the addresses into longitude/latitude? I am looking to get clients' addresses from our customer relationship database into GPS systems. This will help oour mobile sales team sales team. FYI, all addresses are in USA and we are open as to which model/brand of GPS units to buy. Has anybody had any success with this? ft.
February 6, 200817 yr As far as getting the latitude/longitude, there are a few sites that have web services for this. Some of them (Yahoo, Google) have very restrictive licenses. But for 3000, that shouldn't really be a problem. You could get them via an url request, with an xml result, using an xsl file to Import XML into FileMaker. Or some other ones you could just parse the data easily with text functions. What platform, Mac, Windows, both?
March 14, 200817 yr Author Sorry for omission - platform is Mac. I found these guys who will provide lat & long coordinates for up to 20,000 addresses for $50. http://geocoder.us/help/databureau.shtml I will probably use their service on my current data to get the project going. longer term I will work on something to pull try & geocodes into FileMaker on the fly when new customers are entered. Thanks, ft.
March 14, 200817 yr Author In fact I found http://www.gpsvisualizer.com/geocoder/ which will geocode 1000 addresses at a time for free. I can the pull the coordinates into FileMaker, and then export to RouteBuddy for route-planning and syncing with the GPS device. ft.
April 1, 200817 yr If you are open to the type of GPS - this can easily be done with either DeLorme or MS Streets and Trips - you can simply export a CSV of your FM data and import those as markers in the both programs. If you go with DeLorme, get the Plus, it has a feature called X-Data which handles multiple datapoints much better than their graphic overlay. I currently have about 7000 datapoints in our map. If you don't like the idea of having a notebook in your car (which i prefer over those little GPS screens), then there are options where you can take the DeLorm or Streets and trips maps and export them to whatever GPS handheld they support... I have not looked into that in detail, though.
April 9, 200817 yr Author Thanks. I'm on Mac using RouteBuddy at the moment. In the end I modified this script http://my.advisor.com/doc/18834 to automatically batch-geocode my addresses using coordinates from Google. The geocode data is returned to a web-viewer, and you can extrapolate the date with some calculation fields. You just need a Google API key (takes 30 secs to get) and to create the fields. My script looked something like: Allow User Abort [ On ] Go to Layout [ “Geocoding” (CustomerData) ] Go to Record/Request/Page [ First ] Set Web Viewer [ Object Name: "GPSWebService"; URL: "http://maps.google.com/maps/geo?q=" & CustomerData::GeocodeAddress & "&output=csv&key= MyGoogleAPIKey" ] Loop Pause/Resume Script [ Duration (seconds): .5 ] Set Field [ CustomerData::GPSWebViewerContent; GetLayoutObjectAttribute("GPSWebService"; "content") ] Exit Loop If [ not IsEmpty(CustomerData::GPSWebViewerContent) ] End Loop Set Field [ CustomerData::StreetLat; Middle ( CustomerData::GPSWebViewerContent ; Position(CustomerData::GPSWebViewerContent;",";0;2) + 1; (Position(CustomerData:: GPSWebViewerContent;",";0;3) - Position(CustomerData::GPSWebViewerContent;",";0;2))-1) ] Set Field [ CustomerData::StreetLong; Right (CustomerData::GPSWebViewerContent; (Length ( CustomerData::GPSWebViewerContent) - Position(CustomerData::GPSWebViewerContent;",";0;3))) ] Set Field [ CustomerData::GPSPrecision; Middle ( CustomerData::GPSWebViewerContent ; Position(CustomerData::GPSWebViewerContent;",";0;1) + 1; (Position (CustomerData::GPSWebViewerContent;",";0;2) - Position(CustomerData::GPSWebViewerContent;",";0;1))-1) ] Set Field [ CustomerData::GPSHTMLError; Left (CustomerData::GPSWebViewerContent; Position(CustomerData::GPSWebViewerContent;",";0;1)-1) ] Loop Go to Record/Request/Page [ Next; Exit after last ] Set Web Viewer [ Object Name: "GPSWebService"; URL: "http://maps.google.com/maps/geo?q=" & CustomerData::GeocodeAddress & "&output=csv&key=MyGoogleAPIKey" ] Loop Pause/Resume Script [ Duration (seconds): .5 ] Set Field [ CustomerData::GPSWebViewerContent; GetLayoutObjectAttribute("GPSWebService"; "content") ] Exit Loop If [ not IsEmpty(CustomerData::GPSWebViewerContent) ] End Loop Set Field [ CustomerData::StreetLat; Middle ( CustomerData::GPSWebViewerContent ; Position(CustomerData::GPSWebViewerContent;",";0;2) + 1; (Position (CustomerData::GPSWebViewerContent;",";0;3) - Position(CustomerData::GPSWebViewerContent;",";0;2))-1) ] Set Field [ CustomerData::StreetLong; Right (CustomerData::GPSWebViewerContent; (Length ( CustomerData::GPSWebViewerContent) - Position(CustomerData::GPSWebViewerContent;",";0;3))) ] Set Field [ CustomerData::GPSPrecision; Middle ( CustomerData::GPSWebViewerContent ; Position(CustomerData::GPSWebViewerContent;",";0;1) + 1; (Position (CustomerData::GPSWebViewerContent;",";0;2) - Position(CustomerData::GPSWebViewerContent;",";0;1))-1) ] Set Field [ CustomerData::GPSHTMLError; Left (CustomerData::GPSWebViewerContent; Position(CustomerData::GPSWebViewerContent;",";0;1)-1) ] End Loop For anybody looking to work with postcode or zipcode proximity searches I think this is the way to go. hth, ft Edited April 9, 200817 yr by Guest
Create an account or sign in to comment