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