Я пытаюсь объединить тысячи прямоугольников в один многоугольник, используя DbGeography. Для тестирования я начинаю с двух прямоугольников (потому что тысячи потерпели неудачу с полным результатом). Когда я использую метод объединения DbGeography, он возвращает многоугольник с одним вычтенным прямоугольником из другого вместо их объединения. Я попробовал тот же процесс с SQLGeography и получил тот же результат. Кто-нибудь может увидеть, что я делаю не так? Или, может быть, я неправильно понимаю метод Union?
Два отдельных прямоугольника с перекрытием:
Результирующий многоугольник после объединения:
Код (geog1 - верхний левый прямоугольник, geog2 - нижний правый):
DbGeography geogUnion = geog1;
geogUnion = geogUnion.Union(geog2);
А вот значения для полигонов, которые я объединяю, и результирующий полигон:
geog1: POLYGON ((-114.964104 36.008963, -114.964104 36.005183, -114.958248 36.005183, -114.958248 36.008963, -114.964104 36.008963))
geog2: POLYGON ((-114.957387 36.006575, -114.957387 36.000681, -114.9608 36.000681, -114.9608 36.006575, -114.957387 36.006575))
geogUnion: POLYGON ((-114.957387 36.000681, -114.9608 36.000681, -114.96080000000012 36.005183034992221, -114.958248 36.005183, -114.95824799999998 36.00657500911889, -114.957387 36.006575, -114.957387 36.000681))