代码之家  ›  专栏  ›  技术社区  ›  Sarge

Postgis:查找与方框重叠的线串

  •  0
  • Sarge  · 技术社区  · 16 年前

    我要指定一个框(即2个点)并选择框内或与框相交的所有线串。

    SELECT * FROM pub_trail_segment WHERE st_force_2d(pub_trail_segment.geometry) && ST_SetSRID(ST_MakeBox2D(ST_GeomFromEWKT('SRID=4326;POINT(48.25077560316286 -124.46710205078124)'), ST_GeomFromEWKT('SRID=4326;POINT(50.4743709029765 -120.73239135742186)')), 4326);
    

    但是它返回0行。我试过扩展盒子的大小,并将几何列强制为2d,但我看不到缺少的内容。

    测试数据如下(dbtestcase格式,但您得到了这个想法):

    <pub_trail_segment id="1" pub_trail_id="1" geometry="SRID=4326;LINESTRING(-123.258275 7 49.3607281 123.666748, -123.2583172 49.3607195 120.302124)"/>   
    <pub_trail_segment id="2" pub_trail_id="3" geometry="SRID=4326;LINESTRING(-123.2582757 49.3607281 123.666748, -123.2583172 49.3607195 120.302124, -123.3583172 49.3607195 120.402124)"/>
    <pub_trail_segment id="3" pub_trail_id="1" geometry="SRID=4326;LINESTRING(-123.3582757 49.4607281 123.666748, -123.3583172 49.4607195 120.302124)"/>
    <pub_trail_segment id="4" pub_trail_id="4" geometry="SRID=4326;LINESTRING(-123.3582757 50.4607281 123.666748, -123.3583172 50.4607195 120.302124)"/>
    

    谢谢你的帮助!

    1 回复  |  直到 16 年前
        1
  •  0
  •   Sarge    16 年前

    我算出来了。我把经度和纬度绕错了。

    推荐文章