क्या अमेरिका के लिए कोई मुफ़्त या यथोचित मूल्य डेटाबेस है जिसे खोजा जा सकता है और अक्षांश और देशांतर जानकारी लौटा सकता है?
क्या अमेरिका के लिए कोई मुफ़्त या यथोचित मूल्य डेटाबेस है जिसे खोजा जा सकता है और अक्षांश और देशांतर जानकारी लौटा सकता है?
जवाबों:
कई रिकॉर्ड के लिए, एक वेब सेवा पर भी विचार न करें। अपना कार्य पूरा करने से पहले वे आपको काट देंगे या काट देंगे।
तो फिर आपका विकल्प इसे स्थानीय स्तर पर चलाने के लिए बन जाता है, और इसके लिए आपके पास कई वाणिज्यिक या मुफ्त विकल्प हैं।
नि: शुल्क विकल्प जनगणना टाइगर डेटासेट का उपयोग करेगा जिसे आपको एक स्थानिक डेटाबेस में लोड करना होगा। आप पुस्तकालयों को पा सकते हैं जो पोस्टगिस या साइक्लाइट के लिए टाइगर के खिलाफ जियोकोड है । बिल्ली आप टाइगर के खिलाफ जियोकोड में आर्कगिस का भी उपयोग कर सकते हैं । बेशक, आर्कजीआईएस मुक्त नहीं है, जो मुझे अगले वाणिज्यिक विकल्पों में लाता है। यदि आपके पास एक ArcGIS लाइसेंस संभावना है, तो आपके पास TeleAtlas ( मेरा मतलब टॉम टॉम ) या Navqq डेटासेट के साथ StreetMap डीवीडी है । यह निर्भर करता है कि क्या आपको स्ट्रीट मैप प्रीमियम मिला है। उन दो डेटासेट में से कोई भी संभवतः आपको TIGER की तुलना में अधिक सुसंगत परिणाम देगा।
अपने डेटा को लोड करने के बाद अपने आप पर एक एहसान करें और सड़क डेटाबेस की कई प्रतियां बनाएँ। इनपुट डेटा के सबसेट के साथ कई मशीनों पर जियोकोडिंग प्रक्रिया चलाएं। न केवल इसे एक मशीन पर चलाने की कोशिश करें या आप इसके लिए दिनों का इंतजार करेंगे कि यह उल्लेख न हो कि आप जो भी प्रक्रिया चलाते हैं वह संभवत: मेमोरी खत्म हो जाएगी और इसके खत्म होने से पहले कई बार दुर्घटनाग्रस्त हो जाएगी। इसका मतलब है कि आप अपनी प्रक्रिया के लिए अलग-अलग चौकियां रखना चाहते हैं।
मैं SmartyStreets (एक पता सत्यापन कंपनी) में काम करता हूं। हमारी सेवा सभी के लिए मुफ़्त है (मूल स्तर तक)। स्टार्टअप पहले वर्ष के लिए हमारी सेवा का पूरी तरह से मुफ्त उपयोग करने का अनुरोध भी कर सकते हैं। तो अगर आप उस वर्गीकरण को फिट करते हैं, तो एक साल के लिए हमारी असीमित सेवा के लिए कोई शुल्क नहीं है।
रागी एक वेब-सेवा के खिलाफ सिफारिश करता है, हालांकि, हमारा एपीआई लगभग 5 घंटे (लगभग 1000 प्रति सेकंड) में आपके लिए 20 मिलियन पते आसानी से साफ, मानकीकृत और जियोकोड कर सकता है। उस समय का कुछ हिस्सा आपकी मशीन की गति (आपके पास कितने कोर हैं) और आपके नेटवर्क कनेक्शन पर निर्भर करेगा (इसे 3 जी से अधिक नहीं आज़माएं, लेकिन एक मानक ब्रॉडबैंड कनेक्शन ठीक काम करेगा)।
बस यह इंगित करना चाहता था कि एक webservice के साथ यह निश्चित रूप से संभव है।
अपडेट: 1Aug2017 के अनुसार, मैंने दूरस्थ रूप से हमारी वेब सेवा का परीक्षण किया है और एक वायरलेस नेटवर्क पर केवल एक 2015 मैकबुक प्रो का उपयोग करके प्रति सेकंड एक निरंतर 70,000 लुकअप प्राप्त किया है। हाँ यह बहुत तेज़ है। इसका मतलब है कि 20million पतों जैसी एक छोटी सूची में केवल 5 मिनट लगेंगे।
मैंने इस वॉकथ्रू का उपयोग 2010 टाइगरलाइन डेटा का उपयोग करके पोस्टगिस जियोकोडर बनाने का वर्णन किया । मैं इसे अभी चला रहा हूँ - यह तेज़ नहीं है, क्योंकि 2 सप्ताह के जियोकोड में 3 सप्ताह लगेंगे।
हालाँकि, यह मुफ़्त है, अप्रमाणित है, और किसी को न्यूनतम कोडिंग के साथ लिया है और जियोकोडिंग शुरू करने के लिए एक (बड़े) राज्य के डेटा के साथ स्थापित करने और लोड करने के लिए 2 दिनों से कम समय के कौशल को स्थगित कर देता है। मैंने भी पूरी तरह से सिस्टम के लिए कोई पोस्टग्रेज ट्यूनिंग नहीं किया है और यह एनएफएस माउंट्स पर चल रहा है, इसलिए मुझे संदेह है कि प्रदर्शन लाभ के लायक एक या दो आदेश हैं यदि मुझे ज़रूरत पड़ने पर मैं इससे बाहर निकल सकता हूं।
वेब सेवाओं का उपयोग करने के बजाय, मैंने अपने सभी पतों को पोस्टग्रेज डेटाबेस में लोड किया, और फिर मैं एक त्वरित और गंदे पर्ल स्क्रिप्ट को उन सभी को एक बार में जेककोड करने के लिए चला रहा हूं:
perl -e for ($i=1; $i<[max_key_value]; $i+=1)
{printf "UPDATE source_addresses
SET (rating, new_address, lon, lat)
= (g.rating, pprint_addy(g.addy),
ST_X(g.geomout), ST_Y(g.geomout) )
FROM (SELECT DISTINCT ON (address_id) address_id, (g1.geo).*
FROM (SELECT address_id, (geocode(address)) As geo
FROM source_addresses As ag
WHERE ag.rating IS NULL and address_id = $i
) As g1
ORDER BY address_id, rating LIMIT 1
) As g WHERE g.address_id = source_addresses.address_id;\n"
} | psql -d geocoder
(पठनीयता के लिए लाइन ब्रेक)
ताकि यह "आईडी मान के साथ एक जियोकोड पता उत्पन्न करता है और सबसे अच्छा मैच" अपडेट स्टेटमेंट का उपयोग करता है, और इसे करने के लिए इसे psql पर पाइप करता है। यह केवल बिना किसी रेटिंग वाले जियोकोड पते का प्रयास करता है - यानी यह पहले से ही जियोकोडेड नहीं है। तो यह पुनरारंभ करने योग्य है, और प्रत्येक को स्वतंत्र रूप से किया जाता है।
मैं अनुमान लगा रहा हूं कि आप जियोकोड चाहते हैं लेकिन इसके लिए कुछ भी भुगतान नहीं करते हैं? सेवाओं का एक समूह है, जिस पर आप 20 मिलियन रिकॉर्ड कर सकते हैं, लेकिन यह आपको खर्च करेगा। Esri, Pitney Bowes और अन्य इन सेवाओं को सदस्यता के माध्यम से या प्रति x जियोकोड की लागत पर प्रदान करते हैं। 20 मिलियन तुच्छ नहीं है, लेकिन मैं मान रहा हूं कि इसके लिए एक व्यावसायिक मामला है।
आपके डेटा का स्थान बहुत महत्वपूर्ण है, क्योंकि वेब-सेवाओं की गुणवत्ता में परिवर्तन (सटीक, स्केल आदि ...) मैं अपने भू-भाग के साथ गूगल एपीआई, फेसबुक एपि और एक्स-सिंपलियो से अपने एड्रेस को जियोकोड करता हूं।
http://blog.programmableweb.com/2012/06/21/7-free-geocoding-apis-google-bing-yahoo-and-mapquest/
मूल पोस्टर की मदद करने के लिए इस पोस्ट को शायद बहुत देर हो चुकी है। हालांकि, दूसरों के लिए मुफ्त में बड़ी मात्रा में डेटा को जियॉर्फ़ेरेंस की तलाश में आप "ईज़ी जियोफेरेंसर" नामक मेरे सॉफ़्टवेयर की जांच कर सकते हैं, जो स्वतंत्र रूप से बनाया गया है, उपयोग में आसान है, और अभी तक शक्तिशाली है (पोस्ट के निचले भाग पर स्क्रीनशॉट देखें)।
कार्यक्रम उपयोग करने के लिए सरल और सीधा है, और बिना किसी इंस्टॉलेशन के सीधे एक exe फ़ाइल से चलाया जाता है। आप GNS या GeoNames datasource के बीच जियोकोड का चयन कर सकते हैं, और आप ऐसा कर सकते हैं जो अब तक कोई अन्य जियोकोड नहीं कर सकता है, GADM प्रशासनिक इकाइयों डेटाबेस पर आधारित जियोकोड प्रांतों के साथ-साथ CShapes डेटासेट से जियोकोड ऐतिहासिक देश की सीमाएँ। एकमात्र चेतावनी यह है कि यह डेटा को जियोकोड नहीं करता है। सभी आउटपुट जीआईएस में तत्काल विज़ुअलाइज़ेशन / विश्लेषण के लिए तैयार शेपफाइल्स के रूप में आते हैं।
जहां तक बड़े डेटा की दक्षता और हैंडलिंग का संबंध है, कार्यक्रम को केवल 3 घंटे में 100 000 रिकॉर्ड जियोकोड के लिए परीक्षण किया गया है। बड़े डेटासेट के लिए प्रसंस्करण समय में अपेक्षित वृद्धि को वक्रतापूर्वक छोड़ देना चाहिए क्योंकि प्रसंस्करण का अधिकांश समय केवल प्रारंभिक चरण में जाता है जब देश संदर्भ डेटासेट लोड होते हैं, लेकिन बाद में उठाता है। साथ ही, बड़े डेटासेट को जियोकोडिंग करते समय किसी को इंटरनेट बोतल-नेक या कनेक्टिविटी के मुद्दों के बारे में चिंता करने की ज़रूरत नहीं है क्योंकि सॉफ्टवेयर, संदर्भ डेटासेट और प्रोसेसिंग सभी स्थानीय कंप्यूटर पर आधारित हैं। मैच दर 80-90 प्रतिशत तक मिल सकती है क्योंकि यह वर्तनी-अंतर मिलान वर्तनी के अंतर के आधार पर आधारित है।
अधिक जानकारी, एक परिचयात्मक पेपर और शुरुआती गाइड सहित डाउनलोड पैकेज में शामिल हैं। इसे आज़माने में किसी को संकोच करने की ज़रूरत नहीं है, यह कार्यक्रम केवल एक साधारण फ़ाइल है जिसे आप अपने कंप्यूटर पर बिना किसी प्रतिबद्धता या अव्यवस्था के अपने डेस्कटॉप पर रख सकते हैं और चला सकते हैं।
सॉफ्टवेयर से डाउनलोड किया जा सकता है: http://geocodeanything.wordpress.com/
उम्मीद है की वो मदद करदे।
जैसा कि आप अमेरिका के पते जियोकोडिंग करेंगे, मुझे लगता है कि डेटा साइंस टूलकिट से निर्देशांक उपकरण के लिए स्ट्रीट एड्रेस आपके लिए अच्छी तरह से काम करना चाहिए।
This API takes either a single string representing a postal address, or a JSON-encoded array of addresses, and returns a JSON object with a key for every address. The value for each key is either null if no information was found for the address, or an object containing location information, including country, region, city and latitude/longitude coordinates.
आप वर्चुअल मशीन को डाउनलोड करना चाहते हैं और उसे अपने हार्डवेयर से चलाना चाहते हैं । इस तरह, आपको एपीआई सीमाओं के बारे में चिंता करने की ज़रूरत नहीं है, साथ ही आप इसे नियंत्रित भी करते हैं। ओह और क्या मैंने कहा कि यह मुफ़्त है? ;-)
मुझे आपके द्वारा आवश्यक सटीकता के स्तर के बारे में कोई संदर्भ नहीं मिला है, लेकिन मैं यह मान रहा हूं कि आप लंबे समय तक छत या उसके करीब चाहते हैं। इनपुट पते की गुणवत्ता एक कारक भी हो सकती है। पते की एक अच्छी तरह से साफ की गई सूची अधूरे या खराब पते की सूची की तुलना में बेहतर और तेजी से कोड करेगी। इसके अलावा, क्या 90% हिट दर स्वीकार्य है या क्या आपको सभी 20 मिलियन पते कोडित करने की आवश्यकता है? मेरे पास एक मुफ्त समाधान नहीं है, लेकिन एक अपेक्षाकृत सस्ती है जिसे मैं जानता हूं और उपयोग करता हूं। ZP4 सेमाफोर कॉर्प, http://www.semaphorecorp.com/ सेएक पता स्क्रबर / जियोकोडर प्रदान करता है और उन ओन को जोड़ता है जो पतों को संसाधित करेगा और एक साफ किए गए पते को लौटाएगा, एक ध्वज जो इंगित करता है कि पता यूएसपीएस डिलिवरेबल है, और ज़िप + 4 के लिए लंबा अक्षांश है। ZIP + 4 परिशुद्धता आम तौर पर निर्मित क्षेत्रों (सड़क के दाईं ओर और सही ब्लॉक पर) में छत की सटीकता के करीब है और ग्रामीण क्षेत्रों में बंद नहीं है। 30 दिन के लाइसेंस की लागत 120 डॉलर है। उस समय के बाद पता स्क्रबर फिर भी काम करेगा, लेकिन डिलीवरी प्वाइंट वैलिडेशन (DPV) और जियो रिटर्न काम नहीं करेगा। अपेक्षाकृत त्वरित कंप्यूटर के साथ, पिछले दो वर्षों के भीतर बनाया गया, और सभी hte डेटा संग्रहीत और स्थानीय रूप से एक्सेस किए गए, 20 मिलियन रिकॉर्ड लगभग 10 दिनों में किए जाने चाहिए। मुझे पिछले 15 वर्षों से जियोकोडिंग पते हैं और मैं उस समय के अधिकांश के लिए ZP4 का उपयोग कर रहा हूं। इससे पहले कि वे लंबे-लम्बे या डीपीवी की पेशकश करते,
मैं अभी 18 लाख पते जियोकोडिंग कर रहा हूं इसलिए मैं अपना सेटअप साझा करना चाहता हूं।
मूल रूप से मैंने अमेजन EC2 इंस्टेंस को PostGIS टाइगर जिओकोडर सर्वर के रूप में सेटअप करने के लिए एक अनचाहे प्लेबुक का इस्तेमाल किया, फिर स्क्रिप्ट का उपयोग बैच जियोकोड एड्रेस के लिए किया, उन्हें जनगणना ब्लॉक में मैप किया।
अमेज़ॅन ईसी 2 की लागत: न्यूनतम आवश्यकता 180 जी एसएसडी की लागत लगभग $ 18 / माह है। मेरे t2.large उदाहरण की कुल लागत लगभग $ 90 / महीना है।
यदि आपके पास SSD> 180G के साथ एक लिनक्स बॉक्स है, तो आप इसे मूल रूप से मुफ्त में भी उपयोग कर सकते हैं।
मेरा औसत प्रदर्शन लगभग 170 ~ 300 एमएस / अच्छी गुणवत्ता का पता, 400 ~ 600 एमएस / खराब गुणवत्ता का पता है। खराब गुणवत्ता से मेरा मतलब है कि उनमें से बहुत से लापता या गलत शहर, ज़िपकोड, या यहां तक कि सिर्फ गलत पते हैं। इस तरह के पते को जियोकोड में अधिक समय लगता है, इसलिए आपका प्रदर्शन इनपुट की गुणवत्ता पर निर्भर करता है। अमेज़ॅन EC2 उदाहरण मैंने इस्तेमाल किया एक महीने में लगभग 4 मिलियन वास्तव में खराब स्वरूपित पते जियोकोड कर सकते हैं।
अधिक जानकारी के लिए, सिस्टम सेटअप और स्क्रिप्ट के बारे में मेरा ब्लॉग पोस्ट देखें
AWS के पास अभी कई जियोकोडिंग सर्वर उपलब्ध हैं। अपना स्वयं का सर्वर प्राप्त करें और अपना डेटा वहां डंप करें। https://aws.amazon.com/marketplace/search/results/ref=dtl_navgno_search_box?page=1&searchTerms=geocode
यदि आपका वर्कफ़्लो पायथन में है, तो जियोपी एक बढ़िया समाधान है। आप अपने मूल जियोकोडिंग तर्क को आसानी से लिख सकते हैं, और फिर कई प्रदाताओं (आर्कगिस, Baidu, बिंग, डेटाबीसी, जियोकोडफार्म, गोकोडरडॉटस, जियोनीम्स, गूगल, आईजीएन फ्रांस, लाइवएड्रेस, नवीडाटा, नोमाटिम (ओएसएम), ओपनकैज, ओपनचेजेस्ट में से एक का चयन करें। याहू- BOSS प्लेस फाइंडर, What3Words, Yandex ... phew)। आप उन सभी का भी उपयोग कर सकते हैं और अंततः उस बिंदु का चयन कर सकते हैं जिसमें कई जियोकोडिंग सेवाओं द्वारा सत्यापन के माध्यम से सही होने का उच्चतम आत्मविश्वास है। इनमें से कई सेवाओं के लिए पंजीकरण की आवश्यकता होती है (लेकिन सभी नहीं)। वे संयुक्त राज्य अमेरिका में उपयोग के लिए समान रूप से उपयुक्त नहीं हो सकते हैं, लेकिन एक साफ पायथन फ़ंक्शन के साथ ऐसा करने का लाभ यह है कि आपको उसके लिए नियंत्रित करने में सक्षम होना चाहिए।
यहाँ एक छोटा उदाहरण दिया गया है:
from geopy.geocoders import Nominatim
geolocator = Nominatim(country_bias='New Zealand', timeout=4)
geocoded = geolocator.geocode('Raglan, Waikato', exactly_one=True)
if geocoded is not None:
# success
lat = geocoded.latitude
lon = geocoded.longitude
https://geopy.readthedocs.org/en/1.10.0/
वास्तव में एकमात्र कठिन हिस्सा यह सुनिश्चित कर रहा है कि आपके पते खराब नहीं बने हैं। यह शायद अभी भी 20 मिलियन स्थानों को जियोकोड करने में काफी समय लेगा, हालांकि ... और इस तरह का लोड संभवतः किसी की सेवा की शर्तों का उल्लंघन करेगा। आशा है कि यह किसी की मदद करता है, हालांकि।
यदि आपका जियोकोड अनुरोध प्रति दिन 2,500 से अधिक नहीं है, तो आप Google जियोकोडिंग एपीआई का उपयोग कर सकते हैं । आपको एपीआई के लिए एक नज़र रखना चाहिए, यह परिणाम के रूप में वापस जा सकता है json या xml।
उपयोग की सीमा:
Google जियोकोडिंग एपीआई का उपयोग प्रति दिन 2,500 जियोलोकेशन अनुरोधों की क्वेरी सीमा के अधीन है। (व्यवसाय के लिए Google मैप्स एपीआई का उपयोगकर्ता प्रति दिन 100,000 अनुरोध तक कर सकता है।)
उदाहरण:
http://maps.google.com/maps/geo?key=yourkeyhere&output=json&q=520+3rd+Street+San+Francisco+CA
उदाहरण परिणाम:
{
"name": "520 3rd Street San Francisco CA",
"Status": {
"code": 200,
"request": "geocode"
},
"Placemark": [ {
"id": "p1",
"address": "520 3rd St, San Francisco, Kaliforniya 94107, Amerika Birleşik Devletleri",
"AddressDetails": {
"Accuracy" : 8,
"Country" : {
"AdministrativeArea" : {
"AdministrativeAreaName" : "CA",
"SubAdministrativeArea" : {
"Locality" : {
"LocalityName" : "San Francisco",
"PostalCode" : {
"PostalCodeNumber" : "94107"
},
"Thoroughfare" : {
"ThoroughfareName" : "520 3rd St"
}
},
"SubAdministrativeAreaName" : "San Francisco"
}
},
"CountryName" : "USA",
"CountryNameCode" : "US"
}
},
"ExtendedData": {
"LatLonBox": {
"north": 37.7826364,
"south": 37.7799384,
"east": -122.3942267,
"west": -122.3969247
}
},
"Point": {
"coordinates": [ -122.3955757, 37.7812874, 0 ]
}
} ]
}
और आप Google से जियोकोडिंग के लिए कुछ उदाहरण लिंक देख सकते हैं:
मुझे आशा है कि यह यू मदद करता है