Мои данные представляют собой три таблицы
Countries (gid:int, name:char varaying, geo.:geom)
Cities (gid:int, name:char varaying,admin level: charvar, cntry: char var,port_id:int geo.:geom)
Rivers (gid:int, name:char varaying, geo.:geom)
Я должен найти, какие реки (названия) находятся в определенной c стране (например, Швейцарии). В следующем SQL указаны только реки, которые берутся из соседние страны и пересекались на границе страны.
SELECT rivers.name, countries.name, ST_AsGeoJSON(rivers.geom, 5), ST_AsGeoJSON(countries.geom, 5)
FROM rivers,countries
WHERE ST_Intersects (countries.geom, rivers.geom) and countries.name='Switzerland';
Вместо пересечения я также использовал ST_contains
и Within
, но я ничего не получаю. Это может произойти из-за того, что в этой стране нет ни одной реки, которая бы принадлежала ей целиком. Есть ли у вас какие-либо советы о том, как я могу извлечь реки, которые принадлежат этой стране, используя postgis ????