मुझे देश या शहर में देशांतर और अक्षांश समन्वय को परिवर्तित करने की आवश्यकता है, क्या इसका पाइथन में एक उदाहरण है?देश या शहर से देशांतर और अक्षांश से कैसे परिवर्तित करें?
अग्रिम धन्यवाद!
मुझे देश या शहर में देशांतर और अक्षांश समन्वय को परिवर्तित करने की आवश्यकता है, क्या इसका पाइथन में एक उदाहरण है?देश या शहर से देशांतर और अक्षांश से कैसे परिवर्तित करें?
अग्रिम धन्यवाद!
मैं गूगल के एपीआई का उपयोग करें।
from urllib2 import urlopen
import json
def getplace(lat, lon):
url = "http://maps.googleapis.com/maps/api/geocode/json?"
url += "latlng=%s,%s&sensor=false" % (lat, lon)
v = urlopen(url).read()
j = json.loads(v)
components = j['results'][0]['address_components']
country = town = None
for c in components:
if "country" in c['types']:
country = c['long_name']
if "postal_town" in c['types']:
town = c['long_name']
return town, country
print(getplace(51.1, 0.1))
print(getplace(51.2, 0.1))
print(getplace(51.3, 0.1))
आउटपुट:
(u'Hartfield', u'United Kingdom')
(u'Edenbridge', u'United Kingdom')
(u'Sevenoaks', u'United Kingdom')
यह रिवर्स जियोकोडिंग कहा जाता है। https://github.com/thampiman/reverse-geocoder
अन्य विचारों के साथ कुछ संबंधित सवाल:
सामान्य में गूगल एपीआई है वहाँ एक पुस्तकालय मैं अजगर में मिल सकता है जो इस पर ध्यान केंद्रित है सबसे अच्छा तरीका। यह मेरे मामले के लिए उपयुक्त नहीं था क्योंकि मुझे बहुत सी प्रविष्टियां संसाधित करनी थीं और एपीआई धीमी है।
मुझे लगता है कि एक ही करता है, लेकिन पहले एक विशाल ज्यामिति डाउनलोड करता है और मशीन पर देशों की गणना करता है एक छोटा संस्करण कोडित।
from shapely.geometry import mapping, shape
from shapely.prepared import prep
from shapely.geometry import Point
data = requests.get("https://raw.githubusercontent.com/datasets/geo-countries/master/data/countries.geojson").json()
countries = {}
for feature in data["features"]:
geom = feature["geometry"]
country = feature["properties"]["ADMIN"]
countries[country] = prep(shape(geom))
print(len(countries))
def get_country(lon, lat):
point = Point(lon, lat)
for country, geom in countries.iteritems():
if geom.contains(point):
return country
return "unknown"
print(get_country(10.0, 47.0))
# Austria
इस पिप विस्तार के रूप में यह कुछ संदर्भ बिंदु पर आधारित है भी दिलचस्प है, शायद नहीं तो सही है और कुछ प्रक्षेप करता है: https://pypi.python.org/pypi/reverse_geocode/1.0 – linqu
यह बहुत अच्छा है, क्या विभाजन का उपयोग किये बिना शहर और देश को चुनने का एक साफ तरीका है? – godzilla
हां, मैंने शहर और देश –
लौटने के लिए अपना जवाब संशोधित किया है, यह ठीक काम करता है, हालांकि क्या यह स्थानीय रूप से करने का एक तरीका है? किसी प्रकार की कोई API, विलंबता क्या मैं – godzilla