Я рисую области (используя SqlGeometry
/SqlGeography
и переводя их в эквивалент WPF LocationCollection
) на Bing Maps WPF Control и должен маркировать их. Я получил метки, нарисованные на регионах, и привязал их к точке, найденной STCentroid()
. Конечно, как вы себе представляете, это проблема с областями "U" или "C", где центроид выходит за пределы региона, что делает метку неправильной.
Есть ли способ использовать SqlGeometry
/SqlGeography
, чтобы найти "визуальный" центр или, возможно, найти самый большой круг, который может вписаться в форму и использовать этот центр? Я пробовал различные методы с помощью STPointOnSurface()
, но кажется, что STPointOnSurface()
всегда выбирает точку на краю, как, например, DCREHA (ярлык для нижней темно-зеленой области всегда заканчивается по краям: