【问题标题】:search for points within a polygon, postgis在多边形内搜索点,postgis
【发布时间】:2016-07-07 10:55:51
【问题描述】:

我试图在多边形坐标中找到一个坐标,但无法让它工作。我该怎么办?

表“位置”列“纬度”中的点坐标:

答:60.2653608 -3.6923519

B:60.241668 -3.652401

SELECT latlon, st_contains(latlon, ST_GeomFromText('MULTIPOLYGON(((60.237949  -3.654019,
60.240247 -3.661016,
60.243500 -3.658463,
60.240127 -3.642761,
60.240127 -3.642761)))', 4326))  FROM location

【问题讨论】:

  • “无法正常工作”是什么意思。添加到您期望什么,您得到什么以及错误消息的问题。顺便说一句:你的坐标应该在哪里?他们可能错了,因为他们在海洋中:google.de/maps/place/…
  • 我知道,坐标是例子。我想让你告诉我多边形坐标内的坐标

标签: postgresql postgis


【解决方案1】:

documentation 说:

boolean ST_Contains(geometry geomA, geometry geomB);

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

此外,您必须颠倒参数的顺序:首先是多边形,然后是点

【讨论】:

  • 我刚刚看到,我正在做我的籼稻。 ` SELECT id FROM zone WHERE ST_Contains(zones.geometry, ST_Transform( ST_GeomFromText('POINT(60.2653608 -3.6923519)', 4326), 4326 ) ) ` 但我跳出​​以下错误:错误:函数 st_contains(字符变化,几何)确实不存在
  • 1) 函数 St_Contains() 需要 2 个 geometry 参数。列 zone.geometry 的类型为 character varying,但必须为 geometry。 2) 尝试阅读文档并在线做教程:postgis.net/docs/manual-2.0workshops.boundlessgeo.com/postgis-intro
  • 非常感谢您的帮助,我已经能够解决了
猜你喜欢
  • 1970-01-01
  • 2018-11-12
  • 2011-03-21
  • 2018-09-22
  • 2015-03-06
  • 2019-11-07
  • 2019-04-26
  • 2014-04-29
  • 2012-11-13
相关资源
最近更新 更多