Szukasz bazy danych kraju / stanu / miasta? [Zamknięte]


22

Tworzę katalog, który używa lokalizacji do kategoryzowania wszystkich ofert. Zamiast polegać na danych wprowadzonych przez użytkownika, chciałbym podać listę lokalizacji, które użytkownik może wybrać. Próbowałem już GeoWorldMap, który jest dostarczany przez GeoBytes, ale ma pewne problemy. Na przykład wymienia 275 krajów. Poza tym ich baza danych jest regularnie aktualizowana, co oznacza, że ​​jeśli będę utrzymywał lokalną bazę danych, będę musiał ją aktualizować co jakiś czas, aby upewnić się, że jest aktualna.

Chcę wiedzieć, czego używają do tego programiści. Czy zamiast bazy danych używają jakiejś usługi do pobrania listy lokalizacji?

Obawiam się, że ręczne wprowadzanie danych przez użytkownika nie jest otwartą opcją, ponieważ kategoryzacja według lokalizacji będzie niezbędna, więc nie mogę ufać ani polegać na tym, co użytkownik wprowadza ręcznie.

Widziałem kilka stron, które to robią, więc jestem pewien, że istnieje praktyczne rozwiązanie.


Korzystam z tego i działa świetnie !! universal-tutorial.com/rest-apis/…
Ron

Odpowiedzi:


18

Myślę, że GeoPlanet Yahoo !, może być bardzo przydatny do tego: zapewniają one dość wyczerpującą listę miejsc i hierarchiczne relacje między nimi, i możesz pobrać listę nazw lub użyć ich API.

Inne gazetery (to termin, którego szukasz) obejmują GeoNames , które również zawierają bezpłatne dane do pobrania. (Jestem pewien, że StackOverflow lub nawet wyszukiwarka Google może uzyskać więcej opcji w tym samym stylu).

Ponadto, jeśli planujesz utworzyć interfejs użytkownika, aby użytkownicy mogli wybierać z listy miejsc, chciałbym zasugerować wtyczkę Freebase Suggest, wtyczkę jQuery, która zmusi użytkowników do wybrania określonej kategorii (w Twoim przypadku krajów, powiedz) i zapewnij przyjemny interfejs do wybierania z tego, co semantyczna baza danych Freebase uważa za poprawną. Zapewnia nawet kontekst przypominający wiki, aby pomóc w ujednoznacznieniu.


Oddelegowanie GeoPlanet. Jedną z fajnych cech identyfikatorów (identyfikatorów WOE) w danych jest to, że są one zaprojektowane tak, aby były stabilne, więc nie znajdziesz się w konflikcie z przyszłymi aktualizacjami bazy danych.
Michał Migurski

1
Dziękujemy za udostępnienie tych linków. Spędziłem dużo czasu pracując z nimi i z powodzeniem je wdrożyłem, ale teraz zamierzam po prostu zrezygnować. Wszystko wyglądało dobrze, jeśli chodzi o kraje i stany, ale struktura zastosowana do wszystkiego poniżej stanów jest tak niespójna. Nie uważam tego już za praktyczne. Niektóre kraje mają zarówno państwa, jak i miasta, a niektóre mają tylko miasta, ale zamiast stanów kraje te mają prowincje. Miałem wrażenie, że tak właśnie będzie. Ale nie jest. Stany z USA spadają o 3 poziomy w dół. Mimo że Atlanta jest miastem ...

1
w Gruzji wygląda to tak: USA -> Georgia -> Hrabstwo Fulton -> Atlanta. A hrabstwo Fulton nie tylko ma Atlanty, ale także wymienia różne inne lokalizacje i nie każda z nich jest miastem. Wymienia także Adamsville, które jest właściwie tylko miejscem.

4
Oczywiście nieto proste problemy; możliwe hierarchie są złożone (i według niektórych definicji nieograniczone) i zależą od różnych norm kulturowych i przepisów rządowych, a także różnych przypadków użycia. Polecam przejrzeć dokumentację, która może bardzo pomóc: developer.yahoo.com/geo/geoplanet/guide/… Jeśli chcesz, możesz wyciągnąć tylko miasta lub tylko podziały administracyjne. Dokumentacja Yahoo! wyjaśnia różne hierarchie. Ale rozumiem twoją frustrację, to skomplikowane! Powodzenia!
npdoty,

Dane Yahoo Geoplanet zostały zdjęte, oto ostatnia wersja: archive.org/details/geoplanet_data_7.10.0.zip
0


1

Wystarczy popatrzeć na GeoDB miast . Jest to usługa, którą opracowałem i hostuję, która otacza dane GeoNames.org w interfejsie REST. Uważam, że powinien zapewnić to, czego szukasz pod względem stabilnych danych. Żadne dane starego miasta nigdy nie są fizycznie usuwane, a jedynie oznaczone jako takie (co może się zdarzyć podczas odświeżania z GeoNames). Usługa umożliwia także wyświetlanie wyników miasta / regionu / kraju w wielu językach.

Darmowa instancja jest dość rozsądnym IMO, ale oczywiście jestem stronniczy.


0

Istnieje wiele płatnych i bezpłatnych źródeł baz danych miast w kraju:

  1. GeoNames to bezpłatne dane, ale mnóstwo danych. Będziesz musiał skorzystać z pomocy DBA w celu oczyszczenia danych. Ale jest to jednorazowy wysiłek, aby wyczyścić i załadować dane zgodnie z wymaganiami. Skończyło się na tym, że po rozpakowaniu zip rozpakowałem plik o wielkości 1,3 GB, a załadowanie tych danych do DB wymaga również dobrego, wydajnego sprzętu.
  2. Dane MaxMind są bardzo stare i przestały aktualizować udostępniane przez nich bezpłatne dane
  3. Płatne dane GeoDatasource
  4. Baza danych miast z http://www.worldcitiesdatabase.com, która jest dostępna po rozsądnych kosztach.
  5. Następnie możesz spojrzeć na płatne usługi danych MaxMind, ale są one bardzo kosztowne, chyba że budżet jest bardzo dobry.

Wybór należy do Ciebie. Myślę, że jakość danych może się różnić u każdego z powyższych dostawców.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.