Uso de datos espaciales SQL (C #) para encontrar el centro "visual" de polígonos irregulares

Estoy dibujando regiones (usandoSqlGeometry/SqlGeography y traducirlos al WPFLocationCollection equivalente) en el Control WPF de Bing Maps y necesitaba etiquetarlos. Obtuve las etiquetas dibujadas en las regiones y las adjunté al punto encontrado porSTCentroid(). Por supuesto, como se imagina, este es un problema con las regiones en forma de 'U' o 'C' donde el centroide termina fuera de la región, lo que hace que la etiqueta sea incorrecta.

¿Hay alguna manera de usarSqlGeometry/SqlGeography para encontrar el centro "visual" o tal vez encontrar el círculo más grande que pueda caber en la forma y usar ese centro? He intentadovarios métodos utilizandoSTPointOnSurface() pero parece queSTPointOnSurface() siempre elige un punto en el borde como DCREHA (la etiqueta para la región verde oscura inferior siempre termina en los bordes:

Respuestas a la pregunta(1)

Su respuesta a la pregunta