2010-10-28 17 views
8

Szukasz sposobu na uzyskanie listy kodów obszaru telefonicznego dla danej szerokości i długości geograficznej (i jeśli to konieczne podanego kodu wewnętrznego). Uwaga, nie mówię o wybieraniu międzynarodowym prefiksy, ale kody obszarów w nich.Wyszukaj numer kierunkowy telefonu według szerokości i długości geograficznej

Na przykład Denver Colorado jest objęty kodami rejonowymi 303 i 720. Jest to 39.739 -104.985 i jest w NANP 1. Tak więc biorąc pod uwagę 39.739, -104.985,1 Chciałbym wrócić [303,720].

Biblioteki, usługi internetowe, bazy danych lub surowe dane, które muszą zostać przetworzone w DB, np. Strona z kształtami punktów, są w porządku, im większy zasięg globalny, tym lepiej, ale tylko NANP 1 byłby wspaniała pomoc.

Uwaga Korzystam już z MaxMind i mogłem zamienić lat-lng w fałszywy IP i użyć go jako klucza wyszukiwania, ale MaxMind zgłasza tylko kody obszaru USA (bez względu na to, czy naprawdę oznaczają one US, czy faktycznie NANP, którego nie testowałem) i pozornie tylko 1 na lokalizację (np. tylko 303 dla Denver.) Więc jest to możliwe, po prostu nie świetne.


UPDATE: znalazłem trochę więcej istotnych informacji, ale nie ma ostatecznych rozwiązań, więc jestem wystawianie go tutaj, a nie w odpowiedzi:

udało mi się znaleźć dwa baz amerykańskich http://www.area-codes.com/area-code-database.asp i http://www.nationalnanpa.com/area_codes/index.html (50% w dół strony, plik MS Access). Pierwsza zawiera lat/lng za 450 USD, a druga wymaga dopasowania najbliższego sąsiada, o czym mówi KeithS (prawdopodobnie jest to ten sam DB, leżący u podstaw znalezionego przez niego NANPA City Query).

Dodatkowo znalazłem informacje, które sugerują, że Teleatlas ma mapy granic obszaru kodu oraz że ESRI zawiera pliki kształtu kodu obszaru z kopiami ArcGIS. Maponics wydaje się mieć dostępne dane: istnieje implementacja Maponics w Mapach Google pod adresem http://www.usnaviguide.com/areacode.htm.

Odpowiedz

5

Wow. Na pewno potrzebujesz jakiejś wcześniej istniejącej bazy punktów. Moja pierwsza myśl to ZIPList5 Geocode. Obejmuje on długie dane dla każdego aktywnego kodu pocztowego w Stanach Zjednoczonych, więc możesz umieścić te dane w tabeli DB, zindeksować je i wyszukiwać według niemal wszystkich informacji geograficznych, do których masz dostęp. Możesz kupić jedną kopię za 40 USD, przy użyciu na poziomie korporacyjnym za 100 USD. Jedynym problemem jest to, że ten DB ma tylko "podstawowy" kod obszaru dla każdego kodu pocztowego, więc obszary miejskie, które mają więcej niż jeden (Dallas, Chicago, NYC) nie zamierzają pokazać wszystkich z nich.

Można wypróbować podejście dwubiegunowe z pewnymi darmowymi danymi, które znalazłem: dla danej szerokości i długości geograficznej, przeszukuj najbliższe sąsiadów danych w USGS Geographic Names Information System; zawiera informacje o każdym centrum zamieszkiwania ludzi i każdej nazwanej funkcji punktu orientacyjnego, z długimi współrzędnymi ich centrów. Teraz twój punkt długości/długości jest mapowany na najbliższe miasto/miasto, kod pocztowy, województwo i stan. Teraz możesz porównać to z listą U.S. Area Codes, aby znaleźć kody obszarów pasujące do dowolnej lub wszystkich informacji identyfikacyjnych z USGS. To wszystko za darmo, a ostatecznie dostaniesz to, czego potrzebujesz, ale prawdopodobnie będziesz musiał wykonać trochę pracy, aby "masować" dwa zestawy danych w coś, co możesz efektywnie powiązać i/lub musisz zaimplementuj dobrą "wyszukiwarkę", która dokładnie znajdzie najbliższe sąsiadujące punkty, a następnie znajdź kody obszarów dla lokalizacji pasujących do nazw.

Jeszcze jedna rzecz, na którą należy zwrócić uwagę to NANPA, która na początku administruje przypisaniem kodu obszaru. Jestem pewien, że mają one bardziej obszerną bazę danych do pobrania, ale jedynym darmowym dostępem publicznym, jaki mogłem znaleźć, była strona wyszukiwania, która zawiera kody obszarów dla dowolnego miasta z> 20 tysiącami osób.Można włączyć swoje łac/długie danych do miasta i państwa, a następnie uderzyć tę stronę wyszukiwania: NANPA City Query

+0

Wystarczy rozwinąć akapicie drugim; korzystanie z usługi internetowej lub bezpłatna baza danych z Geonames to kolejna alternatywa dla wyszukiwania najbliższego sąsiada. –

Powiązane problemy