Я пишу приложение, используя службы пространственных данных Bing API, чтобы взять список почтовых индексов и объединить их в один регион. У меня это в основном работает, но, похоже, проблемы с внутренними кольцами. Вместо того, чтобы а) сочтя внутреннюю область слишком мала, и просто давя его или б) правильно рисовать внутреннее кольцо, оно, кажется, хочет, чтобы соединить их, картина пример ниже:Проблема с SQLGeography STUnion и внутренние кольца для рисования полигонов на Bing-картах Управление WPF
Это interrior полигон должен был просто «дыра» в регионе, но вместо этого пытается их соединить.
В настоящее время у меня есть 2 подходящих метода. Тот, который расшифровывает ответ API для почтового индекса, переводит его на SqlGeography
и STUnion()
с любыми дополнительными кольцами. и второй родительский метод, который STUnion
s - результаты первого метода для объекта-хозяина SqlGeography
, который содержит все почтовые индексы вместе, когда он сделан для области.
Дайте мне знать, если вам нужна дополнительная информация.
Есть ли какие-либо команды, которые я могу запустить на объекте 'SqlGeography', чтобы автоматически избавиться от внутренних колец? – Hershizer33
Есть несколько вариантов для этого. Один из вариантов: http://gis.stackexchange.com/questions/17555/calculating-the-outer-boundary-of-several-geometry-objects-in-sql-server-2008. Другой вариант - создать функцию, которая создает многоугольник из внешнего кольца многоугольника. Я посмотрю вокруг, чтобы узнать, есть ли у меня какой-то код для этого. – rbrundritt
Не удалось собрать функцию SQL для удаления внутренних колец из полигонов. Однако я видел вашу техническую поддержку по электронной почте. Похоже, вы только извлекаете первый многоугольник каждого почтового индекса, а не все полигоны. Установите значение 0 после значения «Postcode1» в вашем URL-адресе: 1. Это вернет несколько полигонов для каждого почтового индекса, который поможет заполнить некоторые из пустых областей. – rbrundritt