首页 > 解决方案 > 提取一个国家的所有多边形状态

问题描述

我需要我的国家的多边形。

经过多次尝试,我得到了这个。它确实返回了我的国家的状态,但没有路径和许多我不想要的项目。

我一直在使用http://overpass-turbo.eu/来测试我的查询。

[out:json][timeout:25];
{{geocodeArea:Czechia}}->.searchArea;
(
  relation["boundary"="administrative"]["admin_level"="7"](area.searchArea);
);

// print results
out body;
>;
out skel qt;

我想知道:

标签: overpass-api

解决方案


要获取多边形,您可以将查询的 json 结果转换为 GeoJSON。

您可以在http://overpass-turbo.eu/中通过运行查询然后单击导出按钮并选择GeoJSON格式对其进行测试。

输出将包含州和行政中心作为features数组的项目。每个项目将包含其多边形坐标geometry.coordinates
我不知道如何通过查询过滤掉管理中心,但是您可以在处理 GeoJSON 时在客户端轻松过滤掉这些项目。除此之外,我没有看到任何其他不需要的数据。

示例输出(为便于阅读而缩写):

{
    ...
    "features": [
      {
        "type": "Feature",
        "properties": {
          "@id": "relation/435509",
          "ISO3166-2": "CZ-806",
          "admin_level": "7",
          "boundary": "administrative",
          "name": "okres Ostrava-město",
          ...
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [
            [
              [
                18.3400673,
                49.7592689
              ],
              [
                18.3403166,
                49.7590688
              ],
              [
                18.3406238,
                49.7586477
              ],
              ...

关于类似的查询 - 它取决于可用的数据并且是特定于国家/地区的。
例如,对于斯洛伐克,admin_level返回覆盖整个州的区域的最低值是4,并且该设置仅返回区域(这是比您用于捷克共和国的级别更高的分区)。


推荐阅读