我在试着确定一些多边形是否互相重叠。所有的多边形都在同一层。
PostGis函数ST_OVERLAPS可以确定两个几何元素是否重叠。但是我找不到一种方法来应用这个函数来检查一个或多个多边形是否重叠。
我想要的是:
SELECT *
FROM MyGeometricTable g
WHERE ST_OVERLAPS(g.geom,g.geom) = 1
AND g.id <> g.id --The polygon that overlap another polygon is not the same.
MyGeomtricTable包含1
我有一张200000点的表格,另一张PostGIS上有50000个多边形的表格。多边形可以互相重叠。
如何查询PostGIS,以便为每个点获得一个标志,指示它是否与任何多边形相交?点可能会触及树覆盖多边形,但我只希望正确或假,如果接触到任何多边形在表。
用示例数据更新的:
CREATE TABLE poi (id integer,geom GEOMETRY);
INSERT INTO poi VALUES (1,'POINT(28 27)');
INSERT INTO poi VALUES (2,'POINT(12.1321018521888 30.2084895425
大家好,我想创建一个在运行时更新的动态表查询。我有两个postgis表,一个包含点--tablename(记录),另一个包含多边形--tablename(OpDMA)。此select查询: Create table Op_DMAConn as
SELECT pol.id as polygon_id, poi.id as point_id
FROM "OpDMA" pol
LEFT JOIN records poi ON (ST_Intersects(poi.geom, pol.geom)) 返回点的polygon_id多边形和point_id。我希望这个查询在运行时执行!
我在一个有超过200万用户的应用程序上工作。它将引入基于位置的功能。从一开始,我们希望为用户提供基于位置的通知,该通知将根据用户的位置/区域进行更改。我使用的是PostGIS和Mapbox技术。我有一个自定义的多边形,它是不同区域的指示器。我知道我可以使用PostGIS的ST_Within通过每次向服务器发送经度和纬度来获取多边形信息。我使用folloing函数来获取区域 CREATE OR REPLACE FUNCTION getRegion(getlng numeric, getlat numeric, OUT outregion text)
as $$
BEGIN
S
这里我需要把几何路径存储到我的桌子上。我尝试了以下过程,但没有得到“几何”数据类型在PostgreSQL 9.3版本。
步骤1:从链接PostGIS下载
步骤2:在PostGIS 9.3和
步骤3:在查询中使用:
create table test
(
col1 text null,
col2 text null,
col3 text null,
geopath geometry not null /* Geometry datatype used */
);
ERROR: type "geometry" does not exist
注:我的几何类型可以
我试图将数据从PostGIS传递给铯,我相信更简单的方法是使用GeoJSON。
为了测试它,我对我的PostGIS做了一个查询,以获得一些geoJSON数据
SELECT ST_AsGeoJSON(mygeom)
FROM mytable where id = 370;
然后,我将结果复制到铯沙堡,看看它是如何工作的。
var viewer = new Cesium.Viewer('cesiumContainer');
const greenPolygon = viewer.entities.add({
name: "Green extruded polygo
我在PostGIS中使用以下最近邻查询:
SELECT g1.gid g2.gid FROM points as g1, polygons g2
WHERE g1.gid <> g2.gid
ORDER BY g1.gid, ST_Distance(g1.the_geom,g2.the_geom)
LIMIT k;
现在,我已经在两个表的the_geom和gid列上创建了索引,这个查询比涉及两个表的空间连接的其他空间查询要花费更多的时间。
有没有更好的方法来找到K近邻?我正在使用PostGIS。
而且,尽管在几何列上创建了索引,但另一个查询花费了异常长的时间:
select
使用postgresql和postgis,我有2个openstreetmap表,包含:
点:具有单一坐标的位置
多边形:具有坐标集的区域
现在,我试图循环遍历Point表,对于每个记录,我都试图使用postgis函数进行一些计算,例如ST_Intersects()。然后尝试将结果插入另一个表中。
到目前为止,我只使用postgis函数完成了简单的SELECT查询,它们基本上是这样工作的:
SELECT a.name, b.name
FROM table_point AS a, table_polygon AS b
WHERE a.name = 'Berlin