의 "시각적"센터를 찾을 수는 SQL 공간 데이터를 (C#)를 사용 (SqlGeometry
/SqlGeography
을 사용하고 WPF LocationCollection
동등한로 번역) 빙지도 WPF 컨트롤에 그들을 레이블에 필요한 . 나는 지역에 그려진 라벨을 붙이고 STCentroid()
에 의해 발견 된 지점에 붙였다. 물론 이것은 당신이 생각하기에 이것은 중심이 영역 밖에서 끝나는 'U'또는 'C'자형 영역의 문제이므로 라벨을 부정확하게 만듭니다.불규칙한 다각형
SqlGeometry
/SqlGeography
을 사용하여 "시각적"센터를 찾거나 해당 모양을 사용하고 해당 센터를 사용할 수있는 가장 큰 원을 찾을 수 있습니까? 나는 STPointOnSurface()
를 사용 various methods 해봤지만 STPointOnSurface()
항상 바닥 짙은 녹색 지역에 대한 라벨이 항상 가장자리에 끝납니다 그래서 DCREHA (같은 가장자리에 포인트를 선택합니다 보인다 :
에만 존재한다고 가정 하나의 모양, 한 가지 해결책은 열린면을 찾아 레이블이 모양 안에있을 때까지 반대쪽으로 움직이는 것입니다. 일부 영역을 제거하기 위해 일부 필터링을 수행 할 수도 있습니다. 또는 가장 큰 오목한 영역을 찾으려고 할 수도 있습니다 (알고리즘이 있는지는 모르겠습니다). – Phil1970
관련 : http://stackoverflow.com/q/1203135/3628232 –
U 모양의 "시각 중심"은 어디에 있습니까? –