提取国家/地区的所有多边形状态

时间:2020-10-20 15:11:26

标签: overpass-api

我的国家/地区需要州的多边形。

经过多次尝试,我明白了。它确实返回了我所在国家的州,但是却没有我不想要的道路和许多项目。

我一直在使用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;

我想知道:

  • 获取结果多边形(我的情况下的状态)需要做些什么
  • 当我指定边界和admin_level时,为什么会出现道路和其他东西。
  • 下次如何进行类似的查询(斯洛伐克至少会得到相同的查询)

1 个答案:

答案 0 :(得分:1)

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

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

输出将包含状态和管理中心,作为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的最低区域的4RUN pip wheel --no-cache-dir --no-deps --wheel-dir /usr/src/app/wheels -r requirements.txt ,并且该设置仅返回区域(这是比您在捷克共和国使用的区域更高级别的划分) )。