문제

나는 Postgis에서 POLY의 POINT를 위해 일하고 있으며이 기능을 가지고 있습니다.

st_contains (column, st_setsrid (st_makepoint (-92.095109, 46.804100), 4326)에서 * 선택 *에서 선택하십시오.

열은 multipoly (((points)))입니다.

MySQL과 비슷한 운동을 할 수있는 방법을 찾으려고 노력하고 있으며 비슷한 기능이 있는지 궁금했습니다. MySQL 용 개발자 사이트는 다중 폴리에 대한 설명 및 문서에 따라 매우 제한적입니다.

이런 일을 한 사람이 있습니까?

도움이 되었습니까?

해결책

MySQL은 많은 공간 쿼리를 구현하지 않습니다. 포함에 대해서는 잘 모르지만이를 근사화하는 방법이 있습니다. 예를 들어, 주어진 사각형의 좌표로 모든 결과를 가져 와서 설명대로 거리를 계산하여 점 사이의 거리를 수행 할 수 있습니다. 여기. 당신은 또한 당신의 근사치를 위해 사각형을 사용할 수 있습니다. contains 문제. 먼저 선택에 대한보다 일반적인 WKT 구문 :

select * from table_name where contains(the_polygon, GeomFromText('POINT(12.3 45.6)');

나는 열린 사양이라고 생각합니다 contains 구현되지 않았지만 사용하기위한 MySQL 기능이 있습니다. 최소 경계 사각형 당신의 요점이 다각형에 있는지 근사화하기 위해 :

select * from table_name where MBRContains(the_polygon, GeomFromText('POINT(12.3 45.6)');

좌표 세트의 외부 경계를 쉽게 계산하기 때문에 MySQL에서 일반적으로 많은 직사각형을 사용했습니다. 전반적인 Postgis는 훨씬 나아지지만 필요한 경우 몇 가지 크로스베이션을 할 수 있습니다.

업데이트:이 질문이 질문을받은 후 a 좋은 요약 OpenGeo.org에 게시되었습니다. MySQL이 종종 MBR을 사용하는 것이 명백하거나 언급되지 않은 경우에도 보입니다. 또한 기본 Postgres 유형을 살펴보십시오 point, lseg, box, path, polygon, 그리고 circle PostGIS의 작동 방식과 2D 기능 구현자가 일반적으로 HOE까지 줄이 더 짧은 이유에 대해 더 많이 이해하고 싶다면.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top