Geocoding

Aus Geoinformation HSR
Wechseln zu: Navigation, Suche

The geocoding (geolocalization, DE:Geokodierung) is the process of finding associated geographic coordinates (e.g. latitude/longitude or northing/easting) from other geographic data, such as addresses (street name and street or building number), postal codes or place names. Since address data is a laborious data (like most geospatial data) and often copyrighted there is no single free solution or service.

Geocoding Data

 >> The section below is outdated and needs to be updated <<

Given a local spreadsheet with not-yet-geocoded address data, there are following current solutions:

  1. ArcGIS Online or Google Fusion Tables (data source for both: Google): no programming, webbased service, data needs to be uploaded, needs Google or AGOL account => See ArcGIS Online and Esri Help Pages.
  2. Google Docs with App Script (data source: Google): predefined scripts, webbased service, data needs to be uploaded => See https://github.com/mapbox/geo-googledocs .
  3. Mapquest (data source: Nominatim/OpenStreetMap): predefined scripts, webbased service, data remains locally => See http://schoolofdata.org/handbook/recipes/geocoding/ .
  4. SpatiaLite (data source: MOPublic/Swiss Cadastre and Statistics): local sw, local data, predefined scripts. See SpatiaLite.


Geocoding im Web

Geocoding APIs

  • OpenCage Geocoder [1]
  • MapQuest Open Geocoding API Service ([2]) (und weitere [3]) (Beschränkungen: Gibt nur Ortschaft/Strasse zurück?; Lizenz: CC-BY-SA)
  • Yahoo BOSS Geo Services (kostenpflichtig!) 'Yahoo! PlaceFinder API' Service (Beschränkungen: mit API-Key; max. 50'000 Requests/Tag; Lizenz: ???)
  • 'Bing Maps APIs' (Beschränkungen: mit API-Key? unübersichtlich; Lizenz: ???).
  • Geoadmin API (Beschränkungen: verschiedene; ?; Lizenz: Bund...???)
  • Geonames findNearestIntersectionOSM oder postalCodeSearch (Beschränkungen: availability; Lizenz: "free"/CC-BY-SA)
  • 'Google Maps Geocoding API' Service (Beschränkungen: nur 2'500 Requests/Tag und Resultat muss im Web sichtbar gemacht werden)
  • tinygeocoder.com:
    • Geocoding "Oberseestrasse+10,Rapperswil-Jona,Switzerland": [4]
    • Reverse geocoding of "47.2230647,8.8165114": [5]
  • GeoAdmin API 2.5, SwissSearch: geocoding and SwissSearch: reversegeocoding [6]
  • Nominatim

Geocoding mit MS Excel

Geocoding von Adressen aus Excel mit VB programmiert

  • Juice Analytics: Geocodiert einzeln/mehrere Adressen international (Basis Yahoo Webservice) sowie Google Earth ()-Output. Hinweis: Dazu muss man a) einen Yahoo-Account haben und b) eine Application-ID (Authentisierungs-Typ Generic) beziehen; beides ist kostenlos. zum Download...
  • Weiterentwicklung mit Google Maps (falls mehrere Adressen codiert werden sollen, yahoo_id = "YahooDemo" ersetzen durch eigene Application-ID): zum Download...

Geocoding mit QGIS

Siehe auch:


Geocoding mit Python

Siehe auch: Python.

"Géocoder en masse plusieurs milliers d’adresses avec Python et Nominatim" par AdrienVH, le 18/01/2015 [7].

 """ ====================================================
 geocode.py - a geocoder based on OSM / Nominatim
 Dependencies: GeoPy
 Input       : File adresses.csv
 Output      : File resultat.csv
 ==================================================== """
 import csv
 from geopy.geocoders import Nominatim # needs GeoPy lib!
 geocoder = Nominatim()
 inputFile = open('adresses.csv', 'rb')
 outputFile = open('resultat.csv', 'w')
 try:
   outputData = csv.writer(outputFile, delimiter=';', lineterminator='\n')
   outputData.writerow(('adresse', 'latitude', 'longitude'))
   inputData = csv.reader(inputFile, delimiter=';')
   for ligne in dataInput:
     adresse = ligne[0] + ", " + ligne[1]
     try:
       location = geocoder.geocode(adresse, True, 30)
       outputData.writerow((adresse, location.latitude, location.longitude))
     except Exception as inst:
       print inst
 finally:
   inputFile.close()
   outputFile.close()

Weblinks

Generell/Liste: http://del.icio.us/search/?all=geocoding