【发布时间】:2019-06-27 07:17:42
【问题描述】:
我有一个包含多行字符串的表格,我想找到一条从某个点开始的行。我正在使用:
gis=> select * from (select gid, ST_StartPoint(ST_LineMerge((geom))) as start from aw_pipes) s where s.start = '0101000020E6100000D050E433E678D73F71F37608AF284A40' order by gid;
gid | start
------+----------------------------------------------------
1458 | 0101000020E6100000809BB933E678D73FE3D07608AF284A40
(1 row)
这里的问题是结果有不同的几何。这不是我要求的。它不包含我正在搜索的 geom。
gis=> select geom from aw_pipes where gid = 1458;
geom
--------------------------------------------------------------------------------------------------------------
0105000020E610000001000000010200000002000000809BB933E678D73FE3D07608AF284A40CDD4B35E4E7BD73F62DB7D83AD284A40
(1 row)
gis=> select ST_DumpPoints('0105000020E610000001000000010200000002000000809BB933E678D73FE3D07608AF284A40CDD4B35E4E7BD73F62DB7D83AD284A40');
st_dumppoints
--------------------------------------------------------------
("{1,1}",0101000020E6100000809BB933E678D73FE3D07608AF284A40)
("{1,2}",0101000020E6100000CDD4B35E4E7BD73F62DB7D83AD284A40)
(2 rows)
我的 postgis 版本是:
gis=> select PostGIS_Version ();
postgis_version
---------------------------------------
2.3 USE_GEOS=1 USE_PROJ=1 USE_STATS=1
知道我做错了什么或有什么建议可以在我的查询中更改吗?
【问题讨论】:
标签: sql select postgis where-clause