Creazione del servizio Web di geocodifica / gazetteer?


14

Vorrei scrivere un servizio web di geocodifica per la genealogia in Java. Perché è per la genealogia, non ho bisogno di scendere al livello della strada. Devo solo andare nella contea.

Guardando i dati genealogici, i nomi errati sono molto comuni. Le persone usano anche molte abbreviazioni non standard. Ad esempio, per la contea di Baltimora potrebbe apparire come:

  1. Baltimora
  2. Contea di Baltimora
  3. Baltimore Co
  4. Baltimore Cty

Risposte:


10

Non penso che questa domanda sia esplicitamente geografica, perché ti interessano solo i nomi, quindi potresti volerlo fare su Stack Overflow . Potresti rispondere alla tua domanda con due informazioni: lo stato e il nome della contea corretto. Per eseguire le correzioni, è consigliabile utilizzare la distanza Levenshtein ( esempio e implementazione java ) per abbinare i dati fuzzy ai valori corretti.


+1 Questo è probabilmente vero. Levenshtein sembra un buon punto di partenza e sembra che Postgres lo supporti anche. Grazie.
Jay Askren,

Penso che combinare la distanza di Levenshtein con i dati di Geonames ( geonames.org ) potrebbe funzionare per me. Grazie.
Jay Askren,

5

Un servizio di geocodifica richiede dati di geometria geografica, un dizionario geografico associato (per gestire la denominazione e le alternative ai nomi) e un'interfaccia utente (per mediare la ricerca). Per un geocoder inverso, è necessario aggiungere un validatore di topologia. Per Java, la suite di topologia JTS open source sarebbe la scelta naturale: http://www.vividsolutions.com/jts/jtshome.htm

Le geometrie delle contee per gli Stati Uniti sono disponibili al censimento: http://www.census.gov/geo/www/cob/co2000.html

Per iniziare con la gazzetta, la US Board on Geographic Names ha un database: http://geonames.usgs.gov/

La creazione di un database di dizionari geografici solidi e algoritmi di tessitura che tollerano corrispondenze approssimative della ricerca sono la parte difficile.


Gli algoritmi sono quello che sto cercando.
Jay Askren,

Le domande sugli algoritmi di somiglianza semantica possono avere più rispondenti sul sito principale dello stackoverflow.
Glennon,


1

Google ha una bella API per il geocodifica , se puoi seguire i loro termini di servizio. La demo di base è disponibile qui .

L'uso del loro servizio è soggetto ad alcune limitazioni, ma il risultato è intuitivo, veloce, preciso e familiare per la maggior parte degli utenti. Ti permetterà di concentrarti sullo sviluppo della parte genealogica del tuo servizio.


Mi piacerebbe davvero ospitare tutto in casa e non dipendere da un'API esterna.
Jay Askren,

Quindi stai cercando un database di geocodifica con licenza open source?
Adam Matan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.