检索一个国家的城市列表

     2023-02-23     159

关键词:

【中文标题】检索一个国家的城市列表【英文标题】:Retrieve cities list of a country 【发布时间】:2019-04-12 06:11:13 【问题描述】:

检索给定国家/地区所有城市的最佳 api 是什么? 我尝试从地名下载。但似乎数据不可靠。` 是否可以在overpass api中查询城市以及州和国家?

您能否建议一种更好的下载城市及其积分的方法?

【问题讨论】:

如果您还没有这样做,我建议您在 GIS 网站上搜索并发布问题:gis.stackexchange.com。 OSM 也有自己的帮助论坛,有类似的问题:help.openstreetmap.org/questions/13877/… 【参考方案1】:

我在overpy 的帮助下使用overpass api 完成了类似的任务,这是一个python 包。

首先,我使用查询检索了国家/地区的所有州

    [out:json];
    area["ISO3166-1"="IN"];
    (rel(area)["admin_level"="4"];);
    out;

现在我已经获取了admin_level=5 的每个州的所有地区。

    [out:json];
    area["ISO3166-2"="IN-KL"];
    (rel(area)["admin_level"="5"];);
    out;

状态ISO3166-2来自从 API 接收的数据。 现在您可以使用 API 中的数据获取每个地区的城市。

    [out:json];
    area["ISO3166-2"="0"]["admin_level"="4"];
    (rel["name"="Thiruvananthapuram"](area);)->.center;
    node(around.center:10000)["place"];
    out;"""

这对我有用。 请记住,获取一个国家的所有城市对于 OSM 服务器来说是一项非常艰巨的任务。获取您真正需要的数据。

【讨论】:

【参考方案2】:

如果您正在搜索 API 以获取国家/地区列表和特定国家/地区的引用列表,请尝试 https://github.com/shivammathur/countrycity

    您只需 GET https://shivammathur.com/countrycity/countries 即可获取所有国家/地区的列表。 https://shivammathur.com/countrycity/countries/ind 只获取 县中有“ind”。 https://shivammathur.com/countrycity/cities/India 获取印度所有城市。 您可能会遇到上述用于前端应用程序的 URL 的 CORS 问题,在这种情况下,请尝试https://countrystatecity.in/。您可以通过填写 Google 表单在一天内获得 API 密钥。

或者如果您正在寻找保存此数据的 JSON,请参考: https://***.com/a/40798401/16087692

【讨论】:

【参考方案3】:

如果您特定于城市或州或国家/地区的名称,那么您可以使用此 API。 https://pypi.org/project/geosky/

此 API 记录了所有国家、州和城市。这是示例代码...

from geosky import geo_plug

geo_plug.all_CountryNames()

geo_plug.all_Country_StateNames()

geo_plug.all_State_CityNames(name)# name == 'all' or state name
geo_plug.all_State_CityNames('Odisha')

【讨论】:

【参考方案4】:

我将回答您关于 Overpass API 的第二个问题。您可以使用该 API 查询特定国家/地区的城市。只是为了展示它的功能,有一个基于 Web 的 OSM 查询工具,称为 Overpass Turbo (http://overpass-turbo.eu),您可以在其中提交查询并显示和下载数据。以下查询将提供美国的所有城市,例如:

geocodeArea:"United States"->.searchArea;
(
  node["place"="city"](area.searchArea);
);
out body;
>;
out skel qt;

查询将返回以下内容:

根据OSM Wiki,“城市”标签用于“识别领土内最大的一个或多个定居点,包括国家、州和省会城市以及其他主要城市。”在同一个 Wiki 页面上,有一条关于区分城镇的注释。在上述查询中,“city”可以替换为“town”。此处列出了其他可能的值(包括国家和州):https://wiki.openstreetmap.org/wiki/Key:place#Values

如果您希望从数据中获得城市与州之间的关系,您可能无法始终获得可靠的结果。例如,您可能会获得以下明尼苏达州德卢斯的详细 GeoJSON 条目:

    
      "type": "Feature",
      "properties": 
        "@id": "node/19188464",
        "is_in": "Minnesota USA",
        "is_in:continent": "North America",
        "is_in:country": "USA",
        "is_in:country_code": "US",
        "is_in:state": "Minnesota",
        "name": "Duluth",
        "name:ja": "ダルース",
        "name:oj": "Onigamiinsing",
        "name:ru": "Дулут",
        "place": "city",
        "population": "86265",
        "population:source": "2010",
        "wikidata": "Q485708",
        "wikipedia": "en:Duluth, Minnesota"
      ,
      "geometry": 
        "type": "Point",
        "coordinates": [
          -92.1251218,
          46.7729322
        ]
      ,
      "id": "node/19188464"
    ,

但只有威斯康星州麦迪逊的以下条目:


      "type": "Feature",
      "properties": 
        "@id": "node/29941752",
        "alt_name:ru": "ÐœÑдиÑон",
        "capital": "4",
        "is_in:continent": "North America",
        "is_in:country": "USA",
        "name": "Madison",
        "name:en": "Madison",
        "name:pl": "Madison",
        "name:ru": "МадиÑон",
        "name:ta": "மேடிசனà¯",
        "name:uk": "МедіÑон",
        "place": "city",
        "population": "243344",
        "state_capital": "yes",
        "website": "http://www.cityofmadison.com/",
        "wikidata": "Q43788",
        "wikipedia": "en:Madison, Wisconsin"
      ,
      "geometry": 
        "type": "Point",
        "coordinates": [
          -89.3837613,
          43.074761
        ]
      ,
      "id": "node/29941752"
    ,

【讨论】:

这里要强调的一行是> ...这种所谓的递归使得语法非常简洁。

Rails GeoIP 返回国家/城市列表

...我怎么可能返回所有国家的列表(这很容易,因为那里有一个适当的YAML文件)和城市-但我不知 查看详情

国家/城市/州验证

...are/register.aspx?sc_cmp1=JS_LoginASPX_RegNow步骤从下拉列表中选择一个国家/地区。城市下拉列表将自动填充所选国家/地区的城市列表。如果该国家/ 查看详情

Facebook Graph API 中用于定位的国家和城市列表

...aphAPI一起使用的国家/州/城市列表。我在this页面上找到了一个可用的JSON文件,但该文件没有正确解析,我也怀疑它是否可以 查看详情

国家/州/城市数据库? [复制]

...描述】:可能重复:DatabaseofCountriesandtheirCities好的,这是一个非技术问题。我正在创建一个企业目录,我想按位置对列表进行分类。我不会为用户提供输入位置的选项,而是为他们提供遵循国家/州/城市格式的位置列表。我尝试... 查看详情

MySQL 中的分层数据检索与 XML 一样快吗?

】MySQL中的分层数据检索与XML一样快吗?【英文标题】:HierarchicalDatainMySQLisasfastasXMLtoretrieve?【发布时间】:2010-04-1822:59:48【问题描述】:我有一个XML文件中所有国家->州->城市(->子城市/村庄等)的列表,并且要检索例如... 查看详情

Sql 默认国家、城市、城镇列表

】Sql默认国家、城市、城镇列表【英文标题】:SqlDefaultCountry,City,Townlists【发布时间】:2012-04-1815:57:13【问题描述】:我想在我的管理面板中的每个数据库网格中引入默认国家默认城市默认城镇这些不是下拉这些是数据库网格我... 查看详情

根据角度 5 中的条件填充城市下拉列表

...【发布时间】:2018-10-1115:51:02【问题描述】:我想根据上一个选择框中的国家/地区在选择框中显示一个城市名称。我在第一个选择框中显示了国家,但是在点击事件时我无法显示城市,我不知道如何将嵌套的json访问到html中。请... 查看详情

如何像 facebook 一样制作城市/国家下拉列表?

】如何像facebook一样制作城市/国家下拉列表?【英文标题】:Howtomakethecities/countriesdropdownlikefacebookdoes?【发布时间】:2012-03-1605:09:35【问题描述】:在此处查看屏幕截图:我希望用户只需输入城市或国家/地区名称,自动完成程序... 查看详情

如何在 iPhone App 中获取一个国家的所有城市

】如何在iPhoneApp中获取一个国家的所有城市【英文标题】:HowtogetallthecitiesforacountryiniPhoneApp【发布时间】:2012-05-2214:20:23【问题描述】:在我的iPhone应用中,我使用的是GoogleAPI。我必须做的一件事是我有一个国家的下拉列表,当... 查看详情

获取一个国家所有城市的坐标和人口

】获取一个国家所有城市的坐标和人口【英文标题】:Gettingcoordinatesandpopulationofallcitiesinacountry【发布时间】:2020-06-0911:21:32【问题描述】:我可以在任何谷歌服务上获得类似的东西吗?或者还有其他地方可以帮助我吗?我需要... 查看详情

api检索附近城市的兴趣点[关闭]

】api检索附近城市的兴趣点[关闭]【英文标题】:apiretrievepointsofinterestnearbycity[closed]【发布时间】:2013-08-0512:49:44【问题描述】:我正在寻找一种API/Web服务来检索给定城市附近的地标、兴趣点(及其GPS坐标)列表。我尝试了google... 查看详情

java示例代码_在JSF页面中显示国家和城市列表

java示例代码_在JSF页面中显示国家和城市列表 查看详情

地理 IP 和国家/地区/城市数据库

】地理IP和国家/地区/城市数据库【英文标题】:GeoIPandcountry/region/cityDB【发布时间】:2014-02-2717:39:03【问题描述】:祝你有美好的一天!您能否告诉我免费准确的多语言数据库(经常更新):通过IP(来自PHP)定位国家+地区+城... 查看详情

Facebook iOS SDK:检索用户的电话号码和国家

】FacebookiOSSDK:检索用户的电话号码和国家【英文标题】:FacebookiOSSDK:RetrieveUser\'sPhoneNumberandCountry【发布时间】:2012-08-0305:07:35【问题描述】:我知道如何正确使用FacebookiOSSDK。我之前已经实现了发布和共享功能,所以我对此并... 查看详情

国家->州->城市的链式下拉菜单

】国家->州->城市的链式下拉菜单【英文标题】:ChainedDropDownforCountries->States->City【发布时间】:2021-02-0608:55:09【问题描述】:我知道有很多关于此的问题。但是大多数答案/解决方法都已经很老了。我尝试了GeoName和其他... 查看详情

如何检索选定的选项值?

】如何检索选定的选项值?【英文标题】:Howtoretrieveselectedoptionvalue?【发布时间】:2020-03-2122:02:19【问题描述】:大家好,这里是laravel的新手!我正在使用选定选项下拉列表第一个选择包含国家,第二个包含州,现在当我尝试... 查看详情

如何查询 GHTorrent(类 SQL 语言)的国家/城市/用户编号/存储库编号?

...2020-12-2619:46:36【问题描述】:我阅读了很多关于GitHub数据检索的文档,并通过BiGQuery查看了Github用户提交/推送数据,但未 查看详情

简单查询:各个国家最北端的城市? (纬度、城市、国家)

...ry)【发布时间】:2015-09-2401:17:50【问题描述】:我必须写一个查询来找到每个国家最北端的城市。其中一张表包含“字符串空值”,这就是包含非“空值”的原因。这是访问查询设计的图片:我不明白为什么这个查询不起作用。... 查看详情