【问题标题】:Operation on two GEOMETRIES with different SRIDs对具有不同 SRID 的两个 GEOMETRIES 进行操作
【发布时间】:2014-09-18 19:16:50
【问题描述】:

嗨,我正在尝试获取某个点 10 公里范围内的所有点,但我一直在获取

错误:对具有不同 SRID 的两个 GEOMETRIES 进行操作

这是我的查询:

SELECT * FROM milllocations_30aug2014 WHERE st_distance(milllocations_30aug2014.shape, ST_GeomFromText('POINT(-93.62011857184822 51.02535700166606)', 4269))< 10000

milllocations_30aug2014.shape 也是这样的:0101000020E61000007CF9F5285CAF5DC088DE3D0AD7834B40

感谢您的帮助

【问题讨论】:

    标签: postgresql postgis postgresql-9.2


    【解决方案1】:

    我设法使用 st_transform 修复它

    SELECT DISTINCT * FROM " + areaTable.getValue() + " WHERE st_distance(ST_Transform("+areaTable.getValue()+".shape,4269), ST_GeomFromText('POINT("+longitude+" "+latitude+")', 4269))< 10000
    

    【讨论】:

    • 如果您先设置表的 SRID,而不是像这样动态转换,您可能会获得更好的性能。
    猜你喜欢
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-28
    相关资源
    最近更新 更多