2014-07-14 3 views
1

postgis와 함께 postgresSQL을 사용하고 있는데 구멍이있는 다각형을 만들려고합니다. 나는 비슷한 것을 묻는 많은 사용자를 읽었지 만 나는 혼자 할 수는 없다. 내 코드구멍이있는 다각형을 만드는 방법

insert into distritos(nombre,geom) values ('Distrito6',ST_MakePolygon(ST_GeomFromText('LINESTRING((-15.66486 27.91996, -15.60610 27.91820, -15.60359 27.97169, -15.66586 27.97144,-15.66486 27.91996),(-15.65753 27.95894, -15.61610 27.95995, -15.61459 27.93157, -15.65477 27.27.93007,-15.65753 27.95894))',4258)));

이지만 작동하지 않습니다. 나는 무엇을해야합니까?

답변

1

다각형은 시작과 끝에서 이중 괄호를 가지며 내부 링은 쉼표 사이에 한 쌍의 괄호를 사용하여 윤곽이 그어집니다 (예 :). 반면 선 스트링에는 시작과 끝 부분에 괄호가 하나만 있습니다 . 당신은 실제로 문제가 어디에 아마 다중 선 스트링에 대한 구문을 사용하는 당신은이 같은 쿼리 수정할 수 있습니다. 또한

insert into distritos(nombre, geom) values 
     ('Distrito6', ST_GeomFromText('POLYGON((-15.66486 27.91996, 
      -15.60610 27.91820, -15.60359 27.97169, -15.66586 27.97144,-15.66486 27.91996), 
     (-15.65753 27.95894, -15.61610 27.95995, -15.61459 27.93157, 
     -15.65477 27.93007,-15.65753 27.95894))',4258)); 

, 당신은 ST_MakePolygon를 사용할 필요가 없습니다, 당신은 ST_GeomFromText를 사용하는 것처럼 위의 예제에서 LINESTRING 대신 POLYGON을 사용하여 직접 다각형을 만들 수 있습니다. ST_MakePolygon은 내부 링을 나타내는 선 스트링 배열을 가지고있을 때 더 유용 할 수 있습니다.

Wikipedia WKT 문서 세부 사항은 WKT 및 이와 관련된 그래픽을 사용하여 매우 자세히 설명되어 있습니다.

NOTE: You also have an error in you linestring, you have a repeated 27. in 27.27.93007.

관련 문제