POSTGIS_VERSION=2.1;
我有两个表,有两个不同的 SRID。我的目标是显示哪些几何TABLE_B与TABLE_A的区域相交。
SELECT tablebname, a.geom FROM TABLE_B as a INNER JOIN (SELECT geom FROM TABLE_A WHERE tableAID = '00001') as b ON ST_Intersects(a.geom, b.geom);
我的表结构(截断)如下
表_A
文本表辅助
几何几何(SRID=3577)
TABLE_B
文本表格投标
几何几何体(SRID=4326)
我已经尝试使用ST_TRANSFORM(geom,3577)转换几何图形,但仍然收到相同的错误“error:Operation on mixed SRID geometry”
使用以下命令< br > < code > select distinct(ST _ SRID(geom))as srid,count(*)from table a group by srid;
我得到以下内容
srid | count
3566 | 2196
| 18
我试图把最后一个18改成3577是徒劳的。每次我更新SRID时,它都说成功了或者没有找到任何SRID
任何帮助都将得到赞赏。我可以在必填中提供更多详细信息。谢谢。
在没有子查询的情况下,更正表别名并使用转换,这是否有效?
SELECT b.*, a.*
FROM table_b AS b
INNER JOIN table_a AS a ON
tableaid = '00001' AND ST_Intersects(ST_Transform(a.geom, 4326), b.geom);
另请注意,在您的原始查询中,您将TABLE_B混淆为
,这可能解释了您尝试ST_Transform失败的原因,因为它没有转换预期的a.geom
列。此外,PostGIS 9.1没有这样的版本,所以我猜您有2. x。如果使用类型模组(例如,几何(Polygon,4326)
)进行设置,这些不能具有混合SRID。
我执行以下查询: 寻找距离:39.478400,-0.374930米左右的房屋 我收到以下错误: 这里出了什么问题? <code>“Coordinates”的类型为:geometry“coordinats”,限制为:{:srid=
我在 PostGIS 中有多边形几何几何,我想用一个点“POINT(77.2135569,28.6248447)”来检查它是否相交。 从 public.tablename 中选择 ST_Intersects('POINT(28.6248447 77.2135569)'::geometry, geom) 这里,geom是数据类型为Geometry的列名。 获取以下错误: 错误:ST_Intersec
问题内容: 因此,我向空间表中添加了几何列,并使用了某些msdn引用,最终将SRID指定为0,如下所示: 但是,我认为这是一个错误,但是在必须更新列之前,0实际是默认值= 4326吗?只要我在查询上将SRID指定为0,该查询就可以使用,但是与我所拥有的地理位置字段相比,我得到的结果很奇怪… sys.spatial_reference_systems中不存在SRID 0,并且我无法搜集有关的任何信息
因此,我将几何列添加到空间表中,并使用一些msdn参考资料,最终将SRID指定为0,如下所示: 但是,我认为这是一个错误,但是在必须更新列之前,0实际上是默认值= 4326吗?只要我在查询中将SRID指定为0,查询就可以工作,但是与我拥有的地理字段相比,我得到了奇怪的结果...SRID 0在sys.spatial_reference_systems中不存在,我无法挖掘出有关它的任何信息。任何帮助将
我正在尝试在一系列大部分同心等距多多边形上使用 PostGIS 函数...... . . .使用清晰的几何类型和 SRID 定义(虽然它们可能不完全有效,但仍然足够有效,可以在 QGIS 中呈现,如上所示): 不幸的是,当我使用函数创建新表时,它同时剥离了SRID和几何类型: 。。。并且< code>ST_SetSRID()无法通过创建新表来解决它: …或通过嵌套函数: . . .甚至使用大家最喜
或者使用SRID 26986······