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.