Verwenden Sie SQL Spatial Data (C #), um das „visuelle“ Zentrum unregelmäßiger Polygone zu finden.

Ich zeichne Regionen (mitSqlGeometry/SqlGeography und übersetze sie in das WPFLocationCollection Äquivalent) auf dem Bing Maps WPF-Steuerelement und benötigt, um sie zu kennzeichnen. Ich habe die Beschriftungen auf die Regionen gezeichnet und sie an den von @ gefundenen Punkt angehängSTCentroid(). Natürlich ist dies, wie Sie sich vorstellen, ein Problem mit den U- oder C-förmigen Bereichen, in denen der Schwerpunkt außerhalb des Bereichs liegt, wodurch die Bezeichnung falsch wird.

Gibt es einen Weg mitSqlGeometry/SqlGeography um das "visuelle" Zentrum zu finden oder vielleicht den größten Kreis, der in die Form passt, zu finden und dieses Zentrum zu verwenden? Ich habe es versuchtverschiedene Methode usingSTPointOnSurface() aber es scheint, dassSTPointOnSurface() wählt immer einen Punkt auf der Kante aus, wie dies bei DCREHA der Fall ist (die Beschriftung für den unteren dunkelgrünen Bereich endet immer an den Kanten:

Antworten auf die Frage(2)

Ihre Antwort auf die Frage