jinkaisu2444 2017-09-15 10:08 采纳率: 0%
浏览 606

pgRouting 最短路径规划 错误: different SRIDs

我在做最短路经查询
数据是从OSM上下载的 然后导入postgresql 格式UTF-8 SSRD 4326

postGIS:"POSTGIS="2.0.3 r11132" GEOS="3.3.8-CAPI-1.7.8" PROJ="Rel. 4.8.0, 6 March 2012" GDAL="GDAL 1.9.2, released 2012/10/08" LIBXML="2.7.8" LIBJSON="UNKNOWN" RASTER"
pgRouting:(2.0.0,pgrouting-2.0.0,0,f26831f,master,1.53.0)

创建拓扑和索引 都很正常
我创建了一个查询函数:

在数据库中查询遇到了问题 语句如下:

 SELECT route.geom FROM (
SELECT pgr_fromatob as geom FROM
pgr_fromatob ('railways',119.274,26.0649,119.258,26.019,'length')
) AS route

返回结果:
错误: Operation on two GEOMETRIES with different SRIDs

CONTEXT: SQL 语句 "select geom ,target,source from railways where

请问该如何解决?是哪里出了问题呢 我是想发布到geoserver做最短路径规划的。

  • 写回答

1条回答

  • lshen01 2023-03-16 10:31
    关注

    参考GPT和自己的思路:

    您遇到的问题是两个几何要素具有不同的空间参考标识符(SRIDs),因此无法进行空间操作。具体解决方法如下:

    1. 确认您的所有几何要素都使用相同的SRID。您可以使用以下SQL查询来检查几何要素的SRID:
    SELECT ST_SRID(geom) FROM table_name LIMIT 1;
    

    如果查询返回的SRID与您使用的SRID不同,则需要更改SRID。

    1. 如果您确定所有要素具有相同的SRID,请使用以下SQL查询语句将其强制转换为SRID:
    SELECT ST_Transform(geom, desired_srid) FROM table_name;
    

    其中,desired_srid是您期望的SRID。

    1. 如果您在创建拓扑和索引时使用了不同的SRID,则需要删除它们并重新使用相同的SRID创建它们。

    2. 如果在发布到geoserver时遇到此问题,则需要确保所有要素使用相同的SRID,并在发布前先进行SRID校正。

    希望这能帮助您解决问题!

    评论

报告相同问题?

悬赏问题

  • ¥15 jupyterthemes 设置完毕后没有效果
  • ¥15 matlab图像高斯低通滤波
  • ¥15 针对曲面部件的制孔路径规划,大家有什么思路吗
  • ¥15 钢筋实图交点识别,机器视觉代码
  • ¥15 如何在Linux系统中,但是在window系统上idea里面可以正常运行?(相关搜索:jar包)
  • ¥50 400g qsfp 光模块iphy方案
  • ¥15 两块ADC0804用proteus仿真时,出现异常
  • ¥15 关于风控系统,如何去选择
  • ¥15 这款软件是什么?需要能满足我的需求
  • ¥15 SpringSecurityOauth2登陆前后request不一致