我正在尝试找到一种方法来定位与CartoDB.com上的PostGIS(云托管空间数据库)相交的给定点的所有几何体.
我能够重现的最接近的是:
SELECT * FROM sf_blocks WHERE ST_Contains(the_geom, ST_GeomFromText('POINT(-122.44107 37.750066)'));
Run Code Online (Sandbox Code Playgroud)
不幸的是,错误出现了'错误:混合SRID几何上的操作'.
从与点相交的表中选择几何的正确语法是什么?我的表,sf_blocks都是多边形.
小智 5
函数ST_GeomFromText采用第二个参数 - SRID.因此,如果你的sf_blocks层在Lon/Lat,WGS84,那么EPSG代码是4326.在这种情况下
SELECT *
FROM sf_blocks
WHERE ST_Contains(
the_geom,
ST_GeomFromText('POINT(-122.44107 37.750066)', 4326)
);
Run Code Online (Sandbox Code Playgroud)
应该这样做.如果sf_blocks层位于某个其他坐标系中(并且点坐标似乎是Lon/Lat),那么您将需要在GeomFromText部分周围使用ST_Transform.
归档时间: |
|
查看次数: |
2239 次 |
最近记录: |