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校正。

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

    评论

报告相同问题?

悬赏问题

  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码