Доступно с лицензией 3D Analyst.
Обычно, данные лидара или фотограмметрии не имеют четких границ области данных. Часто, экстент x, y области съемки определяется системой листов, которые покрывают интересующий район, а данные помещаются в эти листы. На рисунке ниже показаны листы данных лидара. Экстент этих листов только приблизительно соответствует реальным границам изучаемой области.
Как часто случается, данные лидара не полностью покрывают экстент листов, которые находятся по периметру изучаемой области. Данные гарантировано покрывают только некоторый минимальный экстент, а четкой и явной границы не существует, как показано на следующем рисунке. На рисунке показан один из таких листов.
Так или иначе, область покрытия не является прямоугольником, заполненном данными.
Проблема
Если поверхность построена без использования верхней границы области данных (другими словами, с использованием вырезающего полигона при задании набора данных terrain или TIN), некоторые данные, отсутствующие вдоль периметра, рассматриваются как области данных. Результат анализа в этом областях будет недостоверным, поскольку значения высот будут вычисляться по точкам, отстоящим слишком далеко.
На рисунке ниже слева показан набор точек лидара зеленого цвета. Пробелы обозначают водоемы (где данные лидара обычно исключаются). Легко увидеть, что форма границ данных неровная, и, если не будет применен эксплицитный экстент в виде вырезающего полигона, инструменты обработки наборов данных LAS, TIN и terrain заполнят пробелы, сильно упростив реальный экстент данных.
Вы знаете, что области вне экстента сбора данных должны быть исключены с поверхности. Проблема появляется при использовании полигона, который точно отображает текущий экстент.
Решение
Для решения этой проблемы следует синтезировать границы данных по точкам, которые можно использовать для интерполяции зон на поверхности. Ниже, на рисунке слева показаны точки лидара. На среднем рисунке показан полигон, границы которого синтезированы по точкам. На рисунке справа показана поверхность, полученная с помощью точек лидара и вырезающего полигона.
При определении области данных наибольшее значение имеет расстояние между точками. Геодезическая съемка обычно имеет определенные минимальные значения расстояний между точками, что обеспечивает контроль над интерполяцией. Области, не соответствующие заданной плотности точек, являются исключениями. Обычно, они попадают в одну из следующих категорий: водоемы, скрытые области и незавершенные данные (в этом случае следует запросить у поставщика данных исправленную версию). Большинство данных соответствует спецификациям по плотности. Расстояние между точками обычно указывается в метаданных. Если вы не знаете расстояние между точками данных lidar, посмотрите раздел Оценка покрытия lidar и плотности измерений, чтобы научиться его определять. Либо отобразите вид, содержащий точки, в крупном масштабе и прикиньте расстояние между объектами с помощью инструмента ArcMap Измерить (Measure). Подробнее о расстоянии между точками см. раздел Среднее расстояние между точками.
Разграничение области данных по точкам лидара
После того, как вы определили интервал точек в данных лидара, выполните следующие шаги, чтобы разграничить область данных:
- Растеризуйте точки лидара с помощью инструмента геообработки Статистика точек LAS в растр (LAS Point Statistics As Raster).
Растеризация точек лидара помогает агрегировать области, заполненные точками лидара. Она обеспечивает структуру данных, удобную для выполнения последующих шагов. Необходимо только задать метод присвоения значений ячейкам и размер выходной ячейки. Используйте PULSE_COUNT в качестве значения для определения значения Method для ячейки. Введите значение размера ячеек CELLSIZE, в несколько раз большее, чем средний интервал между точками. Иначе полученные данные будут содержать помехи, поскольку расстояние между точками не одинаковое. С точки зрения эффективности обработки и уменьшения помех, чем больше размер ячейки, тем лучше, но при этом уменьшается точность полученных данных. Можно начать с размера ячейки, в четыре раза большего, чем средний интервал между точками.
- Присвойте всем ячейкам данных одно значение, используя инструмент геообработки Условие (Con).
Использование инструмента Условие (Con) в этом процессе необходимо только для присвоения всем ячейкам растра одинакового значения. Это значение задает зону растра, которая понадобится в шаге 3. Все, что вам необходимо сделать, - получить выходные данные инструмента Статистика точек LAS в растр (LAS Point Statistics As Raster) и ввести постоянное значение для выражения. Все ячейки, имеющие ненулевое значение, будут рассматриваться как позитивные, и им будет присваиваться постоянное значение. Поскольку используется метод PULSE_COUNT, любая ячейка, в которой имеется точка, должна иметь значение, большее нуля.
- Заполните небольшие области NoData, используя инструмент геообработки Растяжение (Expand).
Если только вы не использовали очень большой размер ячейки, относительно интервала между точками, у вас должно остаться довольно много ячеек NoData. Большую часть из них можно убрать, используя инструмент Растяжение (Expand). Их нужно удалить, чтобы полученный в результате векторизации полигон не содержал большого количества дырок. Это было бы нежелательно.
Инструмент Растяжение (Expand) расширяет интересующую вас область. В данном случае, зона представляет собой ячейки данных, имеющие значение 1. Небольшие пробелы эффективно устраняются.
На рисунке слева показано множество отдельных ячеек и небольших групп ячеек со значениями NoData (белым). На рисунке справа показан результат работы инструмента Растяжение (Expand), где большинство ячеек NoData убраны. Оставшиеся отдельные области NoData не имеют большого значения. Они будут обрабатываться в последнем шаге.
- Уменьшите общий экстент ячеек данных с помощью инструмента геообработки Уменьшить (Shrink).
Поскольку инструмент Растяжение (Expand) удаляет отдельные ячейки со значением NoData, он расширяет область данных, поэтому она должна быть немного уменьшена. Вырезающие полигоны должны быть меньше, чем текущий экстент точечных данных, поэтому, когда при построении наборов данных terrain или TIN оцениваются z-значения вдоль границ полигона, могут использоваться точки по обеим сторонам границы. Это необходимо для правильного вычисления z-значений. Чтобы уменьшить границы растровых данных, используйте инструмент геообработки Уменьшить (Shrink), как показано ниже.
Уменьшите экстент так, чтобы полигон, полученный в шаге 5, был меньше, чем экстент точечных данных. Это позволит точнее вычислить z-значения вдоль границ полигона.
Теперь, у вас имеется сравнительно чистый растр с экстентом немного меньше, чем экстент точек лидара.
- Векторизация растра с помощью инструмента Растр в полигоны (Raster To Polygon).
Инструмент геообработки Растр в полигоны (Raster To Polygon) конвертирует растр в класс полигональных пространственных объектов. Убедитесь, что опция Упростить полигоны (Simplify polygons) включена. Если нет, выходные данные будут ступенчатыми, а также будут содержать больше вершин, чем необходимо.
Инструмент Растр в полигоны (Raster To Polygon) создает класс полигональных пространственных объектов. В итоге, вы получите экстент данных точек, использующийся в начале данного процесса.
Теперь, процесс почти завершен. Следует только просмотреть полученный результат и убедиться в его правильности. Есть вероятность, что вам понадобиться выполнить еще один или несколько шагов для удаления пробелов в вырезающем полигоне.
- Удалите оставшиеся пробелы, используя инструмент геообработки Удалить часть полигона (Eliminate Polygon Part).
Инструмент Удалить часть полигона (Eliminate Polygon Part) используется для удаления внутренних колец, внешние границы при этом остаются нетронутыми.
Вырезающий полигон теперь можно использовать для задания набора данных LAS, terrain или TIN. Он должен быть немного меньше экстента точек лидара. На рисунке слева показан вырезающий полигон. На рисунке справа показано увеличенное изображение экстента полигона и исходные точки. Обратите внимание, что полигон чуть меньше границы исходных точечных данных.