दुनिया भर के शहरों के लिए अक्षांश और देशांतर मूल्यों की व्यापक सूची की तलाश?


22

मैं एक ऐसा एप्लिकेशन विकसित कर रहा हूं जो अपने संबंधित देशांतर और अक्षांश मूल्यों का उपयोग करके शहरों के बीच की दूरी की गणना करता है।

लेकिन समस्या यह है कि इन शहरों के अक्षांश और देशांतर मूल्यों की एक व्यापक सूची प्राप्त करने के लिए कहाँ है?


3
मैं चारों ओर देखने होता developers.google.com/maps और wiki.openstreetmap.org/wiki/API एक शुरुआत के लिए

वोल्फरामअल्फा डॉट कॉम के लिए एक अच्छी क्वेरी की तरह लगता है।

जवाबों:


6

जियोलाइट लिगेसी डाउनलोड करने योग्य डेटाबेस में जियोलाइट सिटी बहुत मानक है जहां तक ​​मैं जानता हूं।


2
मुझे यह नहीं मिला, यह वैश्विक शहरों की सूची कैसे है? क्या यह लिंक भी सही है? क्या यह जियोलाइटस की ओर इशारा नहीं करना चाहिए?
जी-जादूगर


यह राज्य का नाम नहीं है। इसे पाने का कोई तरीका?
विवेक संचेती

26

Geonames डाटासेट के बारे में मत भूलना :

GeoNames भौगोलिक डेटाबेस में सभी देशों को शामिल किया गया है और इसमें आठ मिलियन से अधिक प्लेमेनैम शामिल हैं जो मुफ्त डाउनलोड के लिए उपलब्ध हैं।


9
download.geonames.org/export/dump पर एक "शहर" फ़ाइल डाउनलोड करें
माइक टी

लेकिन क्या कोई बता सकता है कि भू-नाम से यूएसए सिटी पॉइंट डेटा कितना सही है, मेरा मतलब हैhttp://download.geonames.org/export/dump/
सिसलाम

1
6 साल बाद ... मुफ्त संस्करण में 7300 शहर हैं और भुगतान किए गए संस्करण में 3.9 मिलियन हैं। simplemaps.com/data/world-cities
Synesso

6

प्राकृतिक पृथ्वी की आबादी वाले स्थान एक और विकल्प हो सकते हैं।


सहायता के लिए धन्यवाद। लेकिन मैं दुनिया भर के शहरों के अक्षांश और देशांतर की तलाश कर रहा था।
हेलो

2
@ डॉटमैन 14: डेटासेट से मिलकर बनता है all admin-0 and many admin-1 capitals, major cities and towns, plus a sampling of smaller towns in sparsely inhabited regions। और लैटन मान को DBFफ़ाइल के अंदर दो कॉलम के रूप में पाया जा सकता है ।
राडेक

इसके अलावा CSV के लिए यह ऑनलाइन DBF कन्वर्टर dbfconv.com पर काम करता है, लेकिन अपलोड फ़ाइल आकार सीमा डेटाबेस के केवल "सरल" संस्करण को कनवर्टर करने की अनुमति देता है।
नैकिलोन

एक और नोट POP_MAX,POP_MIN,POP_OTHER = "158000","113700","107890"मेरे शहर के लिए है, कि वास्तव में यूएसएसआर के युग में 173000 अधिकतम था।
Nakilon

3

आप OpenStreetMap से डेटा निकाल सकते हैं (उदाहरण के लिए, उनके एपीआई का उपयोग करके, जैसा कि यहां वर्णित है ), या बस विकिपीडिया से। शहरों के अधिकांश विकिपीडिया पृष्ठों में शहर के निर्देशांक हैं।

बेशक, इसके लिए थोड़ी स्क्रिप्टिंग की आवश्यकता होती है, और संभवतः उन शहरों की एक सूची जो आप चाहते हैं।


3

OpenStreetMap, इंटरनेट का उपयोग, wget उपकरण और XML की तरह एक XPath फ़िल्टर का उपयोग करें :: XPath । अनुरोध को 2x2 डिग्री बीबीक्स में चंक किया जाना चाहिए। यहाँ १२ के लिए १२ डिग्री पश्चिम तक का एक उदाहरण पूर्व में ५२ और दक्षिण में ५२ और उत्तर में ५४ डिग्री है। बर्लिन अंदर है .. बहुत सारे इन्फोस के साथ। छोटी इकाइयों के लिए जगह = शहर का उपयोग करें। आने वाला प्रारूप XML है।

  wget -O osm-city-12-52-14-54.xml  "http://open.mapquestapi.com/xapi/api/0.6/node[place=city][bbox=12,52,14,54]"

  wget -O osm-town-12-52-14-54.xml  "http://open.mapquestapi.com/xapi/api/0.6/node[place=town][bbox=12,52,14,54]"
<?xml version='1.0' encoding='UTF-8'?>
<osm version="0.6" generator="Osmosis SNAPSHOT-r26564">
  <node id="21484051" version="7" timestamp="2010-07-13T20:11:08Z" uid="15720" user="J budissin" changeset="5211741" lat="52.2994511" lon="13.6244389">
    <tag k="openGeoDB:auto_update" v="population,is_in"/>
    <tag k="openGeoDB:loc_id" v="19549"/>
    <tag k="openGeoDB:is_in_loc_id" v="294"/>
    <tag k="openGeoDB:name" v="Königs Wusterhausen"/>
    <tag k="openGeoDB:is_in" v="Dahme-Spreewald,Brandenburg,Bundesrepublik Deutschland,Europe"/>
    <tag k="openGeoDB:layer" v="6"/>
    <tag k="openGeoDB:version" v="0.2.6.11 / 2007-12-04 / http://fa-technik.adfc.de/code/opengeodb/dump/"/>
    <tag k="openGeoDB:telephone_area_code" v="03375"/>
    <tag k="openGeoDB:population" v="32785"/>
    <tag k="is_in" v="Dahme-Spreewald,Brandenburg,Bundesrepublik Deutschland,Europe"/>
    <tag k="openGeoDB:community_identification_number" v="12061260"/>
    <tag k="openGeoDB:license_plate_code" v="LDS"/>
    <tag k="openGeoDB:sort_name" v="KOENIGS WUSTERHAUSEN"/>
    <tag k="openGeoDB:type" v="Stadt"/>
    <tag k="openGeoDB:postal_codes" v="15711,15831"/>
    <tag k="name:hsb" v="Parsk (Königs Wusterhausen)"/>
    <tag k="name" v="Königs Wusterhausen"/>
    <tag k="opengeodb:lat" v="52.296999"/>
    <tag k="opengeodb:lon" v="13.6297229"/>
    <tag k="place" v="town"/>
    <tag k="population" v="33370"/>
  </node>
 ...

एक सरल पर्ल हारवेस्टर स्क्रिप्ट:

#!/usr/bin/perl -w 
# --------------------------------------------------------
# Simple OSM Harvester 
# --------------------------------------------------------
use strict;
use XML::XPath;
use XML::XPath::XMLParser;

# Use UFT 8
binmode(STDOUT, ":utf8");
# --------------------------------------------------------
# Parameter @todo put params into commandline arguments
# --------------------------------------------------------
    # while ($cmd = shift) {
    #  $level = shift if $cmd =~ /level/;
    #  $east  = shift if $cmd =~ /east/;
    #  ....
    # }
# --------------------------------------------------------
my $level="town";
my $east=14;
my $west=12;
my $north=54;
my $south=52;

# --------------------------------------------------------
# OS Call wget
# --------------------------------------------------------
my @call =`wget -O osm-town-$west-$south-$east-$north.xml "http://open.mapquestapi.com/xapi/api/0.6/node[place=$level][bbox=$west,$south,$east,$north]"`;    

# --------------------------------------------------------
# Parse the stuff
# --------------------------------------------------------
my $xp = XML::XPath->new(filename => "osm-town-$west-$south-$east-$north.xml");
my $nodes = $xp->find('/osm/node'); # find all paragraphs
for my $node ($nodes->get_nodelist) {
    # print $n, "\n";
    my $lat = $xp->find('./@lat', $node);
    my $lon = $xp->find('./@lon', $node);
    my $name = $xp->find('./tag[@k=\'name\']/@v', $node);
    my $pop  = $xp->find('./tag[@k=\'population\']/@v', $node);
    print "name=$name\tlogitude=$lon\tlatitude=$lat\tpopulation=$pop\n";
}

# --------------------------------------------------------
# EOF
# --------------------------------------------------------

जनरेट किया गया उत्पादन (क्षमा करें)

./osm.pl
Warnung: Joker-Zeichen werden bei HTTP nicht unterstützt.
--2014-02-04 01:13:23--  http://open.mapquestapi.com/xapi/api/0.6/node[place=town][bbox=12,52,14,54]
Auflösen des Hostnamen »open.mapquestapi.com (open.mapquestapi.com)«... 205.188.201.176
Verbindungsaufbau zu open.mapquestapi.com (open.mapquestapi.com)|205.188.201.176|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: nicht spezifiziert [text/xml]
In »»osm-town-12-52-14-54.xml«« speichern.

    [   <=>                                                                                                                                                                                  ] 128.148      242K/s   in 0,5s    

2014-02-04 01:13:30 (242 KB/s) - »»osm-town-12-52-14-54.xml«« gespeichert [128148]

name=Königs Wusterhausen    logitude=13.6244389 latitude=52.2994511 population=q33370
name=Teterow    logitude=12.5753569 latitude=53.7709505 population=9647
name=Neukalen   logitude=12.7905515 latitude=53.822817  population=2304
name=Premnitz   logitude=12.3384178 latitude=52.5310487 population=9671
name=Havelberg  logitude=12.0733335 latitude=52.8234367 population=7400
name=Teltow logitude=13.2644532 latitude=52.4016457 population=19541



0

आप जियोनाम से एक कोशिश कर सकते हैं जो बिल्कुल मुफ्त है ।।

इंटरनेट पर कई भुगतान किए गए डेटाबेस भी हैं जैसे www.worldcitiesdatabase.com या geodatasource.com साथ ही

आप खुले सड़क डेटा का उपयोग भी कर सकते हैं लेकिन आपको डेटा निकालने के लिए टैगिंग सिस्टम को समझने की आवश्यकता है।



हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.