【问题标题】:PostGIS and coordinates, determinate if a point is inside a polygon/multipolygon (kml)PostGIS 和坐标,确定一个点是否在多边形/多多边形 (kml) 内
【发布时间】:2019-04-26 05:14:09
【问题描述】:

我的目标是确定 Input 中的点(坐标)是否在多边形内(点和多边形/多边形都是来自 postGIS 的地理对象)。现在我的查询总是返回 false。

即使该点在多边形内,基本上这也总是返回 false:

select st_contains(st_geomfromtext('POINT(42.17591110412206 13.716918686169493)',4326),st_geomfromkml('<Polygon><outerBoundaryIs><LinearRing><coordinates>13.722101,42.177614,0 13.72....... </Polygon>')
);

当然,我截断了 kml,无论如何格式是 (lat,lng,0),在这一点上我使用了 4326,我不确定该值是否正确。我也试过了

Point(LAT,LNG) and Point(LNG,LAT)

谁能帮帮我?我真的没有想法,我的查询肯定有问题。

【问题讨论】:

    标签: sql postgresql polygon postgis


    【解决方案1】:

    其实关于官方文档(https://postgis.net/docs/ST_Contains.html):

    boolean ST_Contains(geometry geomA, geometry geomB);

    如果几何 B 完全在几何 A 内,则返回 TRUE。

    一个点不能包含多边形;)

    【讨论】:

      猜你喜欢
      • 2020-07-31
      • 1970-01-01
      • 2012-05-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      • 2023-03-22
      • 2013-11-26
      相关资源
      最近更新 更多