Postgresql 搜索哪个多边形行上存在的点?

Postgresql 搜索哪个多边形行上存在的点?,postgresql,postgis,geojson,Postgresql,Postgis,Geojson,我在一个几何体列上插入了多个具有geojson值的位置行,并尝试根据一个点值进行搜索,我需要找到该点是否存在于多边形上?我已经看到了这一点,但我有geojson值要插入并逐点搜索 到目前为止我所尝试的: CREATE TABLE areas ( id SERIAL PRIMARY KEY, name VARCHAR(64), the_geom GEOMETRY ); CREATE INDEX areas_the_geom_idx ON areas USING GIST

我在一个几何体列上插入了多个具有geojson值的位置行,并尝试根据一个点值进行搜索,我需要找到该点是否存在于多边形上?我已经看到了这一点,但我有geojson值要插入并逐点搜索

到目前为止我所尝试的:

CREATE TABLE areas (
    id SERIAL PRIMARY KEY,
    name VARCHAR(64),
    the_geom GEOMETRY
);

CREATE INDEX areas_the_geom_idx ON areas USING GIST (the_geom);

INSERT INTO areas (name, the_geom)
    VALUES ('Corrected_Shape', 
    ST_TRANSFORM(ST_GeomFromGeoJSON('{
    "type":"Polygon",
    "coordinates":[[
        [-91.23046875,45.460130637921],
        [-79.8046875,49.837982453085],
        [-69.08203125,43.452918893555],
        [-88.2421875,32.694865977875],
        [-91.23046875,45.460130637921]
    ]],
    "crs":{"type":"name","properties":{"name":"EPSG:4326"}}
}'),3857));

SELECT name FROM areas WHERE ST_Contains(the_geom, ST_GeomFromText('POINT(43.452918 -69.082031)'));

首先,在创建点时,您似乎已经交换了经度和纬度(应该是经度优先)

-->
ST_GeomFromText('POINT(-69.082031 43.452918)

然后,已将多边形几何体投影到3857,但未投影到点。两种几何图形必须使用相同的CRS


-->
ST\u变换(ST\u GeomFromText('POINT(-69.082031 43.452918)),3857)

到底是什么问题?通过快速查看,这里没有SRID:ST_GeomFromText('POINT(43.452918-69.082031))最后这一个对我有效
SELECT*从ST_相交的位置(边界多边形,ST_GeomFromText('SRID=4326;POINT(8.56483 47.45267));