Coğrafi kodlama / gazeteci web hizmeti oluşturuluyor mu?


14

Java'da şecere için bir coğrafi kodlama web hizmeti yazmak istiyorum. Şecere için olduğu için sokak seviyesine inmem gerekmiyor. Sadece ilçeye gitmem gerek.

Şecere verilerine bakıldığında, yanlış yazılmış isimler çok yaygındır. İnsanlar ayrıca birçok standart dışı kısaltma kullanırlar. Örneğin Baltimore County için şöyle görünebilir:

  1. Baltimore
  2. Baltimore Bölgesi
  3. Baltimore Co
  4. Baltimore Cty

Yanıtlar:


10

Bu sorunun açıkça coğrafi olduğunu düşünmüyorum, çünkü sadece isimlerle ilgileniyorsunuz, bu yüzden Stack Overflow'da sormak isteyebilirsiniz . Sorunuzu iki bilgi ile cevaplayabilirsiniz: eyalet ve düzeltilmiş ilçe adı. Düzeltmeleri gerçekleştirmek için muhtemelen bulanık verileri düzeltilmiş değerlerle eşleştirmek için Levenshtein mesafesini ( örnek & java uygulaması ) kullanmak istersiniz .


+1 Muhtemelen doğrudur. Levenshtein başlamak için iyi bir yer gibi görünüyor ve Postgres bile destekliyor gibi görünüyor. Teşekkürler.
Jay Askren

Levenshtein mesafesini Geonames'in ( geonames.org ) verileriyle birleştirmek benim için işe yarayabilir. Teşekkürler.
Jay Askren

5

Bir coğrafi kodlama hizmeti, coğrafi geometri verilerine, ilişkili bir gazeteciye (adlandırma ve ad alternatiflerini işlemek için) ve bir kullanıcı arabirimine (aramaya aracılık etmek) ihtiyaç duyar. Ters bir coğrafi kodlayıcı için bir topoloji doğrulayıcı eklemeniz gerekir. Java için açık kaynak JTS Topology Suite doğal seçim olacaktır: http://www.vividsolutions.com/jts/jtshome.htm

ABD için ilçe geometrileri Sayım'da bulunabilir: http://www.census.gov/geo/www/cob/co2000.html

Gazeteciye başlamak için ABD Coğrafi Adlar Kurulu'nun bir veritabanı var: http://geonames.usgs.gov/

Katı bir gazete veritabanı oluşturmak ve yaklaşık arama eşleşmelerini tolere eden dokuma algoritmaları zor kısmıdır.


Algoritmalar aradığım şey.
Jay Askren

Anlamsal benzerlik algoritmaları hakkındaki sorular, ana yığın akışı sitesinde daha fazla katılımcıya sahip olabilir.
glennon


1

Hizmet şartlarını uygulayabiliyorsanız Google'ın coğrafi kodlama için güzel bir API'sı vardır . Temel demoyu burada bulabilirsiniz .

Hizmetlerini kullanmak bazı sınırlamalara tabidir, ancak sonuç sezgisel, hızlı, doğru ve çoğu kullanıcıya aşinadır. Bu, hizmetinizin şecere bölümünü geliştirmeye odaklanmanızı sağlayacaktır.


Gerçekten evde her şeyi barındırmak ve dış bir API bağlı değil istiyorum.
Jay Askren

Yani açık kaynaklı lisanslı bir coğrafi kodlama DB'si mi arıyorsunuz?
Adam Matan
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.