我在使用 PostGIS (1.5.4) 数据时遇到问题。可能是我对这项技术不够熟悉,无法看到明显的情况(我是一名拥有近 4 小时经验的普通专家),但我遇到了一个我无法通过 Google 解决的错误。
我有一个包含多边形数据的表(是的,我检查过;列类型是几何,而不是多边形——Postgres 本机类型)。当我尝试对表运行查询以查找哪个形状包含特定问题时,就会出现问题。
我正在使用以下查询:
SELECT *
FROM geo_shape
WHERE ST_Contains(geoshp_polygon, POINT(-97.4388046000, 38.1112251000));
我收到的错误是“错误:函数 st_contains(geometry, point) 不存在”。我尝试使用 CAST() 函数,但得到“错误:无法将类型几何转换为多边形”。我猜这个问题与数据的存储方式有关——PGAdmin 将其显示为十六进制数据。我凭直觉尝试使用ST_GeomFromHEXEWKB()
,但收到“错误:函数 st_geomfromhexewkb(geometry) 不存在”。
我对这里的问题感到相当困惑,所以任何想法都将不胜感激。