【问题标题】:Getting bounding-box of city获取城市边界框
【发布时间】:2012-11-18 12:32:27
【问题描述】:

我想知道特定地理坐标与城市列表的距离(“远”表示坐标与城市之间的欧几里德距离,不考虑道路)。为此,我需要为每个城市找到一个边界框 - 所有城市都位于以色列。

This post 讨论国家边界框,但我在城市级别需要它们。

除了在地图上手动绘制矩形并提取坐标之外,还有什么方法可以获取一长串城市的这些信息?

【问题讨论】:

    标签: gis


    【解决方案1】:

    您可以在www.mapdevelopers.com/geocode_bounding_box.php 找到这些城市的边界框。进入城市会在地图上显示一个方框,并给出每一边的纬度和经度。希望这将为您提供所需的信息。

    【讨论】:

    • mapdevelopers 的网络应用程序不再工作了。
    【解决方案2】:

    要查看长长的城市列表,请使用Google Geocoding service。设置完成后,您可以使用任何语言访问 REST API。例如,您可以使用 Python 的流行标准 requests 库。

    或者,您可以使用 Google 自己的 Google 地图 Java APIPython APIJavaScript API。其中任何一个都包含 Google 地理编码服务。

    在此处查看 Python 和 Java 库的一些简单示例:https://developers.google.com/maps/documentation/webservices/client-library

    这是地理编码结果的架构:

    results[]: {
     types[]: string,
     formatted_address: string,
     address_components[]: {
       short_name: string,
       long_name: string,
       postcode_localities[]: string,
       types[]: string
     },
     partial_match: boolean,
     place_id: string,
     postcode_localities[]: string,
     geometry: {
       location: LatLng,
       location_type: GeocoderLocationType
       viewport: LatLngBounds,
       bounds: LatLngBounds
     }
    }
    

    边界框位于geometry>viewport变量中,如下所示

    "viewport" : {
               "northeast" : {
                  "lat" : 37.4238253802915,
                  "lng" : -122.0829009197085
               },
               "southwest" : {
                  "lat" : 37.4211274197085,
                  "lng" : -122.0855988802915
               }
            }
    

    【讨论】:

    • geometry对象只对地址本身有效,对所在城市无效,如何获取父城市的viewport?
    【解决方案3】:

    您可以在以下位置找到这些城市的边界框 http://boundingbox.klokantech.com/ 输入城市/国家将在地图上显示一个框,并给出每一侧的纬度和经度。但准确度高于http://www.mapdevelopers.com/geocode_bounding_box.php(感谢@Fred 的回答)

    【讨论】:

    • 准确度是什么意思,还有什么比这更好的地方?
    【解决方案4】:

    我认为,您不需要边界框,而是城市边界。因为使用边界框,您的分析会非常粗糙,而且要获得边界框,您首先需要一个边界。

    如果您现在只有城市列表,则需要获取空间数据,即所有城市的边界。要查找此数据,您可以尝试this links。我建议检查 Open Street Maps。然后您可以使用任何 GIS 软件(例如,开源 Quantum GIS)并在那里计算您的点与城市边界之间的欧几里得距离。

    希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-10-25
      • 1970-01-01
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      • 2017-09-25
      • 1970-01-01
      • 2015-07-16
      相关资源
      最近更新 更多