Пример разницы между результатами выборки 2D и 3D
Далее представлен пример различных результатов, полученных при использовании выборки по пространственному расположению В пределах расстояния (WITHIN_A_DISTANCE в Python) или В пределах расстояния 3D (WITHIN_A_DISTANCE_3D в Python) для 3D-данных. Входной класс пространственных объектов – это комнаты (фиолетовые кубы), а Вспомогательный объект выборки– маленький желтый круг. Поставленный вопрос: Какие комнаты попадают в заданное расстояние от определенных значений координат x,y,z (желтая точка). Полученные результаты отличаются, в зависимости от использованных Отношений Если выбрано отношение В пределах расстояния (WITHIN_A_DISTANCE в Python), то все комнаты, находящиеся в пределах указанного расстояния (в координатах x,y), выбраны – от нижнего до самого верхнего этажа здания.
Однако если используется отношение В пределах расстояния 3D, измерение расстояний между точкой с координатами x,y,z (желтая точка) и отдельными комнатами производится в трехмерном пространстве, а поэтому выбраны будут только несколько комнат, действительно находящихся на заданном 3D-расстоянии от точки.
Корректные входной слой и вспомогательный слой выборки.
Слои, удовлетворяющие следующему критерию, являются корректными в качестве входных слоев и вспомогательных слоев выборки:
- Слой из класса пространственных объектов со следующими типами геометрии: точка, мультиточка, линия, мультипатч, полигон.
- Слой, использующий базовую высоту и/или вытягивание.
- Слой, ссылающийся на файл слоя (.lyrx) и удовлетворяющий перечисленным выше критериям, тоже является корректным. Эта информация может быть полезна при запуске операции в автономном скрипте python.
Получение лучшего результата
При использовании мультипатчей при определении соответствия 3D-отношению используется поверхность геометрии, независимо от того, является ли мультипатч замкнутым или нет. К примеру, при вычислении 3D-расстояния от конкретного точечного объекта до объекта мультипатч, например, тетраэдра определяется расстояние до поверхности тетраэдра, независимо от того, лежит ли точка в пределах тетраэдра или нет.
Использование отношения В пределах расстояния 3D на данных, находящихся в географической системе координат (то есть, не в системе координат проекции), может дать плохие или некорректные результаты по следующим причинам:
- Преобразование десятичных градусов в линейные единицы измерения может давать некорректные значения при больших географических экстентах.
- Расстояния, использующиеся в географических системах координат, не учитывают кривизну земной поверхности (все измерения производятся на плоскости).