【问题标题】:How can I find the area of a geojson polygon that has two parts, such as a county with an island off the coast?如何找到包含两个部分的 geojson 多边形的区域,例如一个离海岸有一个岛屿的县?
【发布时间】:2021-07-04 18:44:57
【问题描述】:

我正在尝试查找人口普查区和县的区域,但有少数不连续。我正在使用 python area 库。这是适用于所有连续形状的代码。

        obj = {'type':'Polygon','coordinates': feature['geometry']['coordinates']}
        current_area = area(obj) / square_meter_to_square_mile

以下是坐标示例:

{'type': 'Polygon', 'coordinates': [[[-79.891153, 40.497034, 0], [-79.890443, 40.494777, 0], [-79.889832, 40.491527, 0], [-79.884604, 40.490922, 0], [-79.884484, 40.488949, 0], [-79.884592, 40.487329, 0], [-79.888175, 40.48644, 0], [-79.8882, 40.483948, 0], [-79.883772, 40.483406, 0], [-79.879559, 40.483247, 0], [-79.876632, 40.483316, 0], [-79.874238, 40.48355, 0], [-79.865498, 40.485069, 0], [-79.865786, 40.491525, 0], [-79.865968, 40.495515, 0], [-79.862811, 40.49765, 0], [-79.859216, 40.497693, 0], [-79.859175, 40.496435, 0], [-79.856864, 40.498169, 0], [-79.851113, 40.493601, 0], [-79.850339, 40.49594, 0], [-79.84968, 40.497589, 0], [-79.848853, 40.503658, 0], [-79.849326, 40.506821, 0], [-79.849451, 40.507425, 0], [-79.850546, 40.514188, 0], [-79.850665, 40.51721, 0], [-79.850494, 40.520508, 0], [-79.851755, 40.520607, 0], [-79.85488, 40.520812, 0], [-79.85527, 
40.528789, 0], [-79.867579, 40.528512, 0], [-79.867259, 40.522247, 0], [-79.871734, 40.526388, 0], [-79.872237, 40.527164, 0], [-79.871867, 40.517058, 0], [-79.871676, 40.509746, 0], [-79.87278, 40.50971, 0], [-79.872672, 40.503888, 0], [-79.878623, 40.503694, 0], [-79.879079, 40.499454, 0], [-79.883633, 40.499245, 0], [-79.887353, 40.498669, 0], [-79.891153, 40.497034, 0]]]}

这是这样的:

【问题讨论】:

  • 它已经不工作了吗?当你尝试时发生了什么?如果它不起作用:你能想出一个规则或过程来让你找出哪些坐标属于哪些多边形?如果你能正确地拆分它,你能想出一种方法来使用这些信息来让你解决问题吗?这里到底有什么困难?
  • area 函数不喜欢它。它说“关键错误坐标”。我不知道如何修改任何东西以使其考虑到任何具有两部分的多边形。图片渲染得很好,但是我找不到这个区域。
  • 包含两个部分的多边形只有两个多边形。当您尝试识别这些多边形,分别使用库获取每个多边形的面积并将结果相加时会发生什么?
  • 我想这样做,但我不知道如何知道在哪里拆分它们。该集中唯一重复的值是第一个和最后一个,这对我来说没有任何意义。
  • 如果没有看到the complete error message,我无法告诉您错误消息发生了什么。但是在阅读了一些关于 geojson 的内容之后,您似乎正在尝试对代码执行的操作是拆开一些应该已经可以正常工作的 geojson 数据,以仅提取您认为相关的部分。当您尝试 area(feature) 时发生了什么?

标签: python gis geojson contiguous


【解决方案1】:

错误不是我想的那样。那组坐标都是一个形状,没有问题。对于两个形状的形状,我必须遍历子形状列表并分别处理每个区域。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-20
    • 1970-01-01
    • 2011-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多