Более

Переименовать файлы las с помощью Python


У меня есть куча файлов LAS, которые были доставлены с разными соглашениями об именах. Я хочу переименовать файлы, чтобы все они имели одно и то же единообразное именование - на основе координат восточного и северного положения центроида каждой плитки.
Я создал текстовый файл со старым и новым именами и пытаюсь собрать воедино скрипт Python, но у меня возникает эта ошибка.

Отслеживание (последний вызов последним): файл "C:  LASTools  Test  ReName_Files.py", строка 64, в  newName = newList [indexOldName] NameError: имя 'indexOldName' не определено

Вот сценарий. Я новичок в Python, поэтому это может занять у меня часы исследований, проб и ошибок (они уже есть).

import os folder = "C:  LASTools  Test " lookupTable = open (folder + "LookupTable.txt") tableList = lookupTable.readlines () lookupTable.close () old = "TIFF" new = "TILE" newTable = [] для строки в tableList: newLine = line.strip () newerLine = newLine.strip (",") newestLine = newerLine.strip ("'") почтиFinalLine = newestLine.replace (' "'," ") finalLine = почтиFinalLine .split (",") newTable.append (finalLine) header = newTable [0] indexOld = header.index (старый) - 1 indexNew = header.index (новый) - 1 oldList = [] newList = [] для элемента в newTable: if item! = newTable [0]: valueOld = item [indexOld] valueNew = item [indexNew] oldList.append (valueOld) newList.append (valueNew) для файла в os.listdir (папка): nameAndExt = os.path .splitext (файл) oldName = nameAndExt [0] extension = nameAndExt [1] вывести oldName, если oldName в oldList: indexOldName = oldList.index (oldName) newName = newList [indexOldName] os.rename (папка + oldName + extension, folder + newName + extension)

Я согласен с Кёрлью, это не вопрос ГИС ... однако вы используете LasTools (похоже, вы не импортируете его!), Который является библиотекой ГИС.

Вот код, который может помочь - обратите внимание, что он находится в объектах Esri arcpy, но Laspy вы можете использовать в качестве справочника:

import sys sys.path.append (r'C:  Python27  ArcGIS10.1  Lib  site-packages ') импортировать os, string, laspy, arcpy из laspy.file Импортировать файл, если len (sys.argv)! = 5 : print "Недостаточно аргументов!" sys.exit () InFolder = sys.argv [1] OutFolder = sys.argv [2] OutCoSys = sys.argv [3] IndexName = sys.argv [4], если не os.path.exists (InFolder): печать " В папке не найдена "sys.exit (), если не os.path.exists (OutFolder): print" Out folder not found "sys.exit () OutShape ="% s \% s.shp "% (OutFolder, IndexName ) если os.path.exists (OutShape): попробуйте: print «Удаление старого индекса» arcpy.Delete_management (OutShape) за исключением: print «Невозможно удалить, проверьте наличие доступа и разрешений для записи« print »» sys.exit () arcpy .CreateFeatureclass_management (OutFolder, IndexName + ".shp", "POLYGON", "", "ОТКЛЮЧЕН", "ОТКЛЮЧЕН", OutCoSys) arcpy.AddField_management (OutShape, "FileName", "TEXT", "", "", " 125 ") InsCur = arcpy.InsertCursor (OutShape, OutCoSys) для ThisFile в os.listdir (InFolder): FileName, Ext = os.path.splitext (ThisFile), если Ext.lower () ==" .las ": LasOpened = Ложная попытка: LASfile = File (InFolder + "" + ThisFile, mode = 'r') # Это бит, который вас должен заинтересовать # MinCo и MaxCo - это список / кортеж в порядке [[X ], [Y]] MinCo = LASfile.header.get_min () MaxCo = LASfile.header.get_max () # тогда центроид равен # CenX = (MinCo [0] + MaxCo [0]) / 2 # CenY = (MinCo [1] + MaxCo [1]) / 2 # Сделайте имя файла из этого, а затем используйте # os.rename (InFolder + "" + ThisFile, InFolder + "" + NewName) #, чтобы переименовать LASfile.close () LasOpened = True, кроме: print «Невозможно открыть% s с помощью LasPY»% ThisFile, если LasOpened: Xmin = int (MinCo [0] / 1000) * 1000 Ymin = int (MinCo [1] / 1000) * 1000 Xmax = (int (MaxCo [0] / 1000) * 1000) + 1000 # Xmin + 1000 # int (MaxCo [0] / 1000) * 1000 # Xmin + 1000 Ymax = (int (MaxCo [1] / 1000) * 1000) + 1000 # Ymin + 1000 # int (MaxCo [1] / 1000) * 1000 # Ymin + 1000 Xmin = MinCo [0] Ymin = MinCo [1] Xmax = MaxCo [0] Ymax = MaxCo [1] PArray = arcpy. Array () NewPol = InsCur.newRow () TPnt = arcpy.Point (Xmin, Ymin) PArray.add (TPnt) TPnt = arcpy.Point (Xmin, Ymax) PArray.add (TPnt) TPnt = arcpy.Point (Xmax, Ymax) PArray.add (TPnt) TPnt = arcpy.Point (Xmax, Ymin) PArray.add (TPnt) TPnt = arcpy.Point (Xmin, Ymin) PArray.add (TPnt) Poly = arcpy.Polygon (PArray, OutCoSys) NewPol.shape = Poly NewPol.setValue ("FileName", ThisFile) InsCur.insertRow (NewPol) del PArray del NewPol del InsCur

Я добавил туда несколько комментариев, чтобы привлечь ваше внимание. Для пользователей Esri это хороший способ получить шейп-файл с охватом файлов LAS. Обратите внимание: я писал это до 10.1 с помощью набора данных LASdataset, поэтому он в основном избыточен.


если oldName в oldList: indexOldName = oldList.index (oldName) newName = newList [indexOldName]

Проблема в том, когдаoldNameникогда не бывает вoldListпотомindexOldNameникогда не устанавливается ни на что (определено), и возникает ошибка.

Убедитесь, что oldName действительно находится в oldList и установите дляindexOldNameчто-то, например:

если oldName в oldList: indexOldName = oldList.index (oldName) иначе: indexOldName = 0 newName = newList [indexOldName]

Развлечение с раскрашиванием лидара с помощью изображений

Артур Кроуфорд

Этот блог развивается, только начинается и со временем будет расти:

В течение последних нескольких лет я публиковал раскрашенные лидарные облака точек в качестве дополнений к трехмерным городам, таким как район Сент-Луиса, которые я создал с помощью решения трехмерной базовой карты и извлечения зданий из лидара. Шон Морриш написал замечательный блог о механике публикации лидаров. В последнее время я рассмотрел возможность использования раскрашенных облаков точек лидара как эффективного и относительно дешевого способа создания трехмерных базовых карт. Он имеет некоторые преимущества, так как в большинстве штатов, округов и городов уже есть лидары, у большинства из них есть изображения с высоким разрешением, и у всех есть изображения NAIP, необходимые для создания этих сцен.

Лидарные сцены округа Мантиовок:

Некоторые округа, города и штаты уже делают это. В округе Манитовок, штат Висконсин, есть 3D-облако точек LiDAR, а также создаются сцены с использованием данных. Округ Manitowoc также сделал отличную карту-историю, показывающую, как их лидар используется в качестве раскрашенного облака точек лидара, и настоятельно рекомендую взглянуть на него.

StoryMap показывает вместе с видео, как делать снимки вертикальных, горизонтальных и прямых расстояний до поверхности земли LiDAR в любом месте в масштабе округа. Как получить подробные измерения небольших характеристик поверхности LiDAR, таких как глубина канав до дороги.

Измерьте расстояния облаков точек LiDAR относительно поверхностей земли LiDAR на примере крыш домов, чтобы увидеть высоту здания.

Вот один из слоев сцены Manitowac Buildings, где у них возникла творческая идея использовать тот же раскрашенный лидар, чтобы придать фальшивые стороны здания, несколько раз показывая лидар, классифицированный как здания, каждый с немного меньшей высотой, изменяя смещение в символах. Далее в блоге я покажу, как это сделать.

Снимаю шляпу перед Брюсом Ристерером из округа Манитовок, который собрал все это вместе перед уходом на пенсию, в том числе придумал идею использовать точки строительства несколько раз с разными цветами, чтобы показать стороны зданий, и теперь работает в частном секторе, посмотрите его новую работу в RiestererB_AyresAGO.

Штат Коннектикут 3D Viewer:

Я помог штату Коннектикут CLEAR раскрасить их лидары, используя изображения NAIP, в качестве первого облака точек для лидаров штата, опубликованного в ArcGIS Online. Оказалось, что это около 650 ГБ лидара, разбитого на два пакета слоев сцены. Время, потраченное на это, в основном было временем обработки и временем загрузки. Штат Коннектикут CLEAR прислал мне новейшие изображения NAIP, которые у них были, и со всеми данными на компьютере я просто позволил ему запустить раскраску лидара. С этим слоем и другими слоями, которые CLEAR имел в сети, была создана веб-сцена. Был добавлен класс пространственных объектов, который имеет ссылки на их файлы laz, изображения, ЦМР и другие слои. Это позволяет пользователям предварительно просмотреть лидар в программе трехмерного просмотра перед загрузкой. Пользователи могут даже проводить измерения с линиями или областями в 3D, что позволяет большинству пользователей просматривать их раньше.

Вот несколько представлений с использованием различных символов и фильтров в опубликованном облаке точек лидара для Коннектикута.

Код класса, модулированный с интенсивностью: Модулированная интенсивность позволяет отображать такие особенности, как дороги, тротуары, детали на крышах и деревьях.

Высота с модуляцией интенсивности:

Цвет отфильтрован, чтобы показать здания:

Вот несколько примеров того, как отображать из своего блога:

Недавно команда Urban попросила меня помочь с Чикаго, и я создал базовые контуры 3D-зданий на основе контуров зданий Чикагского портала данных. Я использовал лидар Гейгера 8ppm для создания DSM, nDSM и DTM для решения 3D базовой карты. Затем я раскрасил лидар, используя изображения NAIP и снова лист с высоким разрешением со снимков 2018 года. Затем я извлек точки, классифицированные как растительность, и использовал их, чтобы заменить изображение листьев с высоким разрешением в слое сцены, чтобы показать деревья как зеленые, но чтобы получить крыши с использованием высокого разрешения.

Выше изображены листы с высоким разрешением, используемые для раскрашивания лидара в сцене. Ниже показана та же область с лидаром, окрашенная NAIP для растительности (некоторые стороны здания были классифицированы поставщиком как растительность при доставке в Геологическую службу США лидара Гейгера с 8 ppm). Вы можете увидеть, как деревья гораздо более различимы, используя лидар, раскрашенный с помощью NAIP.

Это может быть использовано как базовая трехмерная карта. 3D-здания не имеют сегментированных крыш (разделенных по высоте), но лидар показывает детали зданий. Ниже показано здание Джона Хэнкока, выделенное синим цветом с основным многоугольником мультипатч на слое сцены с примененной прозрачностью.

Вот вид на военно-морской пирс с раскрашенными деревьями NAIP и раскрашенным лидаром высокого разрешения одновременно.

Выбор изображений для использования:

Используя чикагский лидар, я также построил сцену для сравнения различных типов изображений, используемых для раскрашивания лидара. Это руководство, использующее видео ниже, чтобы показать, как листы изображений с высоким разрешением открываются по сравнению с изображениями с высоким разрешением, а не листы NAIP длиной 1 метр. Ниже вы можете увидеть, как лист на изображениях отлично подходит для показа деревьев. Ваш снимок не обязательно должен точно соответствовать году лидара, но чем ближе, тем лучше. Но чтобы сделать его визуально привлекательным, нужно импортировать его в трехмерную картографию с раскрашенными облаками точек.


Иногда красочные изображения падения до того, как опадают листья, могут быть отличным вариантом для сцен, но все зависит от того, что вы хотите показать.

Способ добавления деревьев с конечностями и точками в виде листьев:

Вот тест, который я провел, используя символы мертвого дерева, чтобы представить ствол и ветви, в то время как листья появляются с раскрашенного лидара. Мой инструмент Деревья из LIdar или Инструменты дерева 3D Basemap Solution могут создавать деревья из лидара, а затем точки могут быть обозначены символом мертвого дерева. Это изображение было сделано в ArcGIS Pro, а не в сцене.

3D-просмотрщик города Клайпеда (Литва):

Город Клайпеда в Литве использовал раскрашенные облака точек деревьев с цилиндрами для изображения стволов. Сетка здесь очень детализирована. Из-за большого увеличения точки выглядят довольно большими.

Вот еще один вид в уменьшенном масштабе:

И еще одно уменьшенное изображение:

В некоторых из приведенных выше сцен используются изображения NAIP вместо изображений с более высоким разрешением. Почему, когда доступно более высокое разрешение. Часто изображения с высоким разрешением имеют несколько наклонный характер, когда NAIP собирается обычно с большей высоты. С большей высотой вы получаете меньше наклонов зданий на изображениях, и часто расстояние между лидарами не поддерживает изображения с более высоким разрешением. В этих случаях часто предпочтительнее использовать NAIP, но создайте облака точек с парой файлов las, чтобы увидеть, в чем разница.

Вот снимок из округа Фэйрфакс, штат Вирджиния, с использованием опубликованного раскрашенного лидара (из средства 3D LiDAR Viewer) и с использованием интенсивности для отображения крыш. С интенсивностью вы можете видеть детали крыши лучше, чем на изображениях NAIP.

В больших зданиях стороны зданий и крыши, использующие интенсивность для обозначения символов, действительно демонстрируют детали. Стороны зданий просто репрезентативны, а не показывают, как выглядят настоящие стороны.

Вот это ниже с использованием только цветных точек NAIP без сторон зданий и крыш, использующих интенсивность для символов.

Из-за отсутствия сторон зданий трудно увидеть, где на самом деле находится здание, и большая часть деталей крыши потеряна. Раскрашивание с интенсивностью позволяет получить больше деталей, потому что интенсивность - это мера, собираемая для каждой точки, отраженной силы лазерного импульса, создавшего точку. Частично он основан на отражательной способности объекта, пораженного лазерным импульсом. Изображения часто не совпадают в точности с лидаром из-за того, что сбор может немного отличаться и небольшой наклонный угол обнаружен при ортотрансформировании изображений.

Раскраска лидара Redlands 2018:

Вот пример раскраски Города Редлендс с помощью лидара 2018 года, над которым я работал, чтобы поддержать одну из групп здесь, в Esri. Настоятельно рекомендую для начала взять только один las-файл, пройти через весь процесс до публикации, чтобы убедиться в отсутствии проблем. Раньше мне приходилось часами загружать и раскрашивать, просто чтобы узнать, что проецирование неправильное или что-то еще не так (плохие изображения, слишком темные или слишком светлые и т. Д.).

1. Загрузил лидар 2018 из Геологической службы США.

а. Загрузите файл метаданных с посадочными местами, распакуйте его и добавьте шейп-файл плитки в ArcGIS Pro.

б. Я получил полный путь и имя laz-файлов с сайта USGS. Вот пример: пути к файлу для загрузки:

c. В плитки добавлено поле пути и вычислен путь с отдельным файлом имени для замены исходного пути, скопированного в b. Это формула, которую я использовал в поле вычисления:

"ftp://rockyftp.cr.usgs.gov/vdelivery/Datasets/Staged/Elevation/LPC/Projects/USGS_LPC_CA_SoCal_Wildfires_B1_2018_LAS_2019/laz/USGS_LPC_CA_SoCal_Wild2018 Names_B!" & amp "_LAS_2019.laz"

d. Затем экспортировали в текстовый файл и использовали бесплатное программное обеспечение для загрузки с использованием FTP для массовой загрузки всех файлов из laz-файлов лидара USGS для плиток, пересекающих класс объектов City of Redlands Limits.

2. Используйте Convert LAS, чтобы преобразовать данные из формата laz в LAS. LAS требуется для раскрашивания лидара. Получена ошибка, но это из-за того, что проекция не поддерживалась. Отключил перестановку и конвертировал из laz в las.

3. Посмотрел прогноз в отчетах в загруженных метаданных и обнаружил, что он не поддерживается, потому что он использовал метры вместо футов, изменил прогноз, а затем скопировал его с помощью простого инструмента построения моделей, чтобы предоставить файл прогноза для каждого файла LAS. .

4. Оценка лидара путем создания набора данных las: земля, настилы мостов, вода, перекрытия и т. Д. Были классифицированы. Строений и растительности не было.

5. Использовал параметр «Классифицировать здание LAS» с агрессивной опцией для классификации зданий. Классификация построек позволяет фильтровать их в будущей сцене. Его также можно использовать для извлечения следов зданий - еще одна операция, которую я обычно выполняю.

6. Использовал «Классифицировать LAS по высоте» для классификации растительности. (3) Низкая растительность установлена ​​на 2 м, (4) Средняя растительность установлена ​​на 5 м, (5) Высокая растительность установлена ​​на 50 м. Это привело к тому, что низкая растительность была незатемненной от 0 до 2 м, средняя от & gt2 м до 5 м и высокая растительность & gt 5 м до 50 м. Это сделано для того, чтобы вы могли отключить растительность в сцене.

7. Использовал сервис изображений ArcGIS Pro NAIP с параметром «Шаблон», установленным на «Нет», а затем с помощью инструмента «Разделить растр», чтобы загрузить нужную мне область на основе границ города Редлендс.

8. Создал набор данных мозаики изображений NAIP. Применил функцию для повторной выборки с 0,6 м до 0,2 м и применил статистику с двумя кружками на ней. Это займет 0,6 м (или 1 м) изображения NAIP и сгладит его для лучшей окраски.

9. Раскрашиваем лидар инструментом Color LAS. Установите цветное RGB и инфракрасное излучение с полосами 1,2,3,4 и выходной папкой. По умолчанию на него ставится "_colorized", я обычно этого не делаю и просто оставляю папку вывода называться colorlas. Задайте для выходного раскрашенного лазда одну директорию выше с тем же именем.

10. Добавил в Pro и просмотрел las файлы lasd. Обнаружил, что он покрыл территорию, лидар был правильно раскрашен и хорошо смотрелся. Установите символы в RGB.

11. Создайте инструмент пакета слоя сцены облака точек с выходным лидаром, чтобы создать файл slpk, а затем добавьте его в ArcGIS Pro, чтобы убедиться, что он работает правильно. Измените настройки по умолчанию.

12. Использовал мою учетную запись ArcGIS Online для загрузки slpk или инструмента «Поделиться пакетом».

13. Опубликуйте сцену и просмотрите ее в Интернете.

14. Добавьте слои лидарной сцены несколько раз и используйте символизацию или свойства, чтобы показать то, что вы хотите. Вы можете увидеть пример в Чикаго 3D. Если вы откроете его и сохраните как свой собственный (вошли в систему), вы можете получить доступ к слоям в слоях сцены, чтобы увидеть, как они настроены с помощью символов и свойств.

Ниже приведены некоторые работы, с которыми я помог штату Кентукки. Результат чем-то похож на работы неоимпрессионистов Жоржа Сёра и Поля Синьяка, которые первыми изобрели технику живописи, получившую название пуантилизм.

Морской пейзаж Жоржа Сёра в Порт-ан-Бессен, Нормандия, ниже:

Добавление стволов деревьев на заднем плане делает сцены с облаками точек немного более реалистичными и позволяет зрителям лучше видеть, что это дерево. Недавно я работал над парковой зоной в Кентукки при поддержке Отдела географической информации (DGI), чтобы попытаться создать стволы деревьев, подобные тем, что есть в городе Клайпеда в Литве, а затем добавить стороны зданий в качестве теста. Я не хотел, чтобы стволы деревьев перегружали сцену, просто чтобы они были фоновым элементом, чтобы сделать пейзаж более реалистичным. Изображение и ссылка на сцену показывают, что красные стрелки указывают на стволы деревьев. Я использовал растровые функции, примененные к диапазону значений, используя статистику Las Point в качестве растра. Сначала я создал диапазон значений высоты, используя значение выборки 5 футов, используя статистические данные Лас-Пойнт в качестве растра. Затем я использовал растровые функции, чтобы создать растр, показывающий высшие точки, как показано ниже.(1) .Статистика: среднее значение 5x5. (2). Минус: Статистика - Дальность, Макс, Пересечение. (3). Переназначение: минимум -0,1 до 0,1, выход 0, заменить отсутствующие значения на NoData. (4). Плюс: Range plus Max Of, Intersection Of. (5). Переназначение: от 0 до 26 без данных. Затем я использовал «Растр в точки», чтобы создать точечный слой растра. Добавьте поле и вычислите его как высоту из кода сетки, добавьте поле TreeTrunkRadius и вычислите его как (! Высота! / 60) + .5, это дало мне ширину, которую я мог бы использовать позже для трехмерных полигонов.Поместите точки в 3D-слои и примените Тип - Базовая высота и примените поле к Высоте и Футам США. Используйте выражение для высоты с помощью функции Expression Builder $. Высота * 0,66, потому что я хотел, чтобы стволы деревьев поднимались только на 2/3 высоты деревьев. Я использовал 3D-слой в класс пространственных объектов, чтобы создать класс линейных пространственных объектов, а затем использовать его в качестве входных данных для 3D-буфера, используя параметр «Поле» для расстояния и TreeTrunkRadius в качестве поля ввода. Затем я использую пакет Create 3D Object Scene Layer Package для вывода TreeTrunks.slpk. Я использовал Добавить элемент в вашу учетную запись ArcGIS Online и опубликовал его. Оказавшись онлайн, я поигрался с цветами, чтобы он стал коричневым. В этом процессе также можно было использовать инструмент «Деревья из лидара», но изображения NAIP были падающими и не имели такой же отражательной способности NDVI для этого процесса.

Чтобы заполнить стороны здания, я классифицировал здания с помощью Classify LAS Building. Затем с помощью функции «Извлечь LAS» с фильтром в облаке точек набора данных лидара извлекли только те, которые имеют код класса здания. Я опубликовал это и 9 раз добавил в группу в сцене. Я скорректировал первые три слоя зданий на 0,5, 0 и -0,5 метра и оставил их раскрашенными вместе с изображениями. Это делает крышу более солидной, так как есть зазоры. Во-вторых, я взял оставшиеся 6 слоев и установил для них интенсивный цвет с шагом -1 м, -2 м, -3 м, -4 м, -5 м и -6 м. Таким образом были созданы стены зданий. Я изменил диапазон цветов для -3 м, чтобы линия, проходящая через него, была немного темнее. Я сгруппировал все слои вместе, чтобы они были одним слоем. Вы также можете использовать фильтр для зданий и раскрасить его с помощью кода класса, а затем установить цвет кода класса таким, какой вы хотите для сторон здания. Если вы установите модулированную интенсивность, это тоже изменит внешний вид, часто делая затемненными стороны зданий или то, что иногда выглядит как окна.

Стандартный вид перед добавлением сторон здания и толщины крыши:

С добавлением иллюзии стен и утолщением крыши (Камберленд, Кентукки):

Вот еще один вид, показывающий стороны здания:

Это иллюзия со сторонами зданий, цвета не соответствуют реальной стороне зданий, а различия в интенсивности используемого лидара не показывают истинных различий сторон, как видимые окна выше. Как и большинство иллюзий или представлений, он заставляет глаза думать, что это стены зданий. Иногда, как и большинство иллюзий или представлений, это не работает со всех сторон, как это здание с небольшим количеством очков:

В целом, я думаю, что представительные стороны помогут вам определить, что является зданием, а что нет. Цвета сторон здания не будут соответствовать действительности, а также не отображать настоящие окна или настоящие двери. Это обычно является очень дорогостоящим и трудоемким процессом после создания 3D-моделей зданий. Вы по-прежнему можете создавать 3D-здания с помощью решения Local Government 3D Basemap для ArcGIS Pro и делать их полупрозрачными и использовать для выбора и анализа без какой-либо окраски. Вы также можете использовать rpks, примененные к зданиям, для более точного представления 3D-моделей, но это снова будет представление без очень подробных данных.

Как легко получить лидар для большой площади: вот видео о том, как легко загружать большие объемы листов лидара из Геологической службы США для области проекта. Включает, как получить список файлов laz для загрузки. После загрузки используйте Convert LAS, чтобы перенести файлы из формата LAZ в LAS. Формат LAS необходим для выполнения классификации, раскрашивания и ручного редактирования облака точек.

Покрытие основ раскрашенных облаков точек лидаров, создание пакетов слоев сцены и визуализация:

Вот видео, в котором я прохожу процесс раскрашивания лидара и то, что я ищу, со временем, указанным ниже, для перехода к определенным элементам (длительность 26 минут):

0:30 Секундный ввод лидара в режиме разговора и немного по классификации лидара.

1:05 Добавление сервисов изображений и проверка выравнивания изображений для использования при раскрашивании лидара.

1: 49: Добавление службы получения изображений NAIP.

2:20: Службы изображений высокого разрешения.

3:35: Говоря о раскрашивании деревьев без листьев и о листьях на изображениях.

4:55: Сравнение изображений, тротуары, окрашивающие деревья без листвы.

6:00: Использование разделенного растра для загрузки изображений для использования из сервиса.

8:25: Мозаика в новый растр загружены разделенные изображения.

10:50: Проверить загрузку mosiac

13:52: Говоря о лидаре, насколько он велик, сколько времени требуется на раскрашивание, время загрузки из сервисов, использующих Split Raster, размер пакета слоя сцены по отношению к ранее неокрашенному лидару.

15:40: Добавляем раскрашенный лидар и видим его в 3D.

16:40: увеличение предела отображения, чтобы в средстве трехмерного просмотра отображалось больше точек.

17:00: Добавление изображений и просмотр раскрашенных лидаров.

17:56: Увеличение размера точек для лучшего обзора крыш, деревьев и стен зданий на раскрашенном лидаре. Говоря о том, что цвет не совпадает с краями зданий.

19:00: Смотрю на деревья, тени.

19:25: Глядя на крыши и вниз на улицы.

20:10: Создание пакета слоя сцены облака точек.

21:30: добавление пакета Scene Layer Package в Pro и увеличение скорости из-за обработки и форматирования. Просмотрите это так, чтобы ускорить.

22:30: Глядя на него с разными настройками символов, Высота, Класс, Интенсивность, Возврат (лидар Гейгера не имеет возвратов).

24:35: Глядя на одно дерево.

26:35: Показ веб-сцены

Есть также это видео, снятое пару лет назад, которое по-разному освещает эту тему.

Загрузка ЦМР с более высоким разрешением, поскольку часто требуется грунт. По этой ссылке вы можете отключить DTM1m_tif, который является лидарным наземным DTM по сравнению с World Terrain Service, чтобы увидеть разницу. В США большую часть времени NED обычно достаточно хорош, чтобы ваши раскрашенные лаз были очень близко, но иногда ваши раскрашенные здания уходят в землю, а точки лидара рядом с землей будут находиться под ним или плавать на нем. Вы можете взять свои файлы las и в ArcGIS Pro посмотреть, находятся ли точки земли ниже или выше ландшафта. Если разница слишком велика, вам необходимо опубликовать свой DTM. Решение 3D Basemap (которое сейчас называется решением Local Government 3D Basemap) может помочь вам в этом процессе, а в будущем может помочь вам в раскрашивании и публикации лидара. Вот блог, в котором рассказывается, как это сделать, и о помощи. Решение Local Government 3D Basemaps имеет задачи, которые также могут помочь вам в этом процессе публикации высотной отметки.

Инструменты импорта для создания раскрашенных лидарных пакетов:

Редактировать коды классификации файлов LAS - каждой точке лидара может быть назначен код классификации, который определяет тип объекта, отразившего лазерный импульс. Лидарные точки можно разделить на несколько категорий, включая голую землю или землю, верхнюю часть полога и воду. Различные классы определяются с помощью числовых целочисленных кодов в файлах LAS.

Скрытый LAS - конвертирует файлы LAS между различными методами сжатия, версиями файлов и форматами записи точек.

Извлечь LAS - фильтрует, клипы и повторно проецирует коллекцию лидарных данных, на которые ссылается набор данных LAS.

Colorize LAS - применяет цвета и значения ближнего инфракрасного диапазона из орфографических изображений к точкам LAS.

Классифицировать здания LAS - классифицирует крыши и стороны зданий в данных LAS.

Классифицировать землю - классифицирует наземные точки в данных с аэролидара.

Классифицировать LAS по высоте - переклассифицирует точки лидара на основе их высоты от поверхности земли. В первую очередь используется для классификации растительности.

Классифицировать шум LAS - классифицирует точки LAS с аномальными пространственными характеристиками как шум.

Классифицировать перекрытие LAS - классифицирует точки LAS из перекрывающихся сканированных изображений с помощью лазерной съемки.

Изменить коды классов LAS - переназначает коды классификации и флаги файлов LAS.

Создать пакет слоя сцены облака точек - Создает пакет слоя сцены облака точек (файл .slpk) из входных данных LAS, zLAS, LAZ или LAS.

Поделиться пакетом - предоставляет общий доступ к пакету путем загрузки в ArcGIS Online или ArcGIS Enterprise.

Вот несколько раскрашенных лидаров:

Облако точек Хельсинки (Финляндия) Scene Viewer

Barneget Bay (Нью-Джерси, США) Наблюдатель сцен

City of Denver Point Cloud (Колорадо, США) Средство просмотра сцен

Средство просмотра сцен города Редлендс (Калифорния, США) Имеет сравнение лидара высокого разрешения с цветным лидаром NAIP.

Kentucky Lidar Test (Камберленд, Кентукки, США) Средство просмотра сцен Изображение падения применено к деревьям, добавлены стороны зданий, добавлены стволы деревьев.


gxapi. DH_MASK_APPEND = 0 DH_MASK_NEW ¶

gxapi. DH_PLOT_PLAN = 0 DH_PLOT_SECTION ¶

gxapi. DH_PLOT_SECTION = 1 DH_PLOT_STRIPLOG ¶

gxapi. DH_PLOT_STRIPLOG = 2 DH_PLOT_HOLE_TRACES ¶

gxapi. DH_PLOT_HOLE_TRACES = 3 DH_PLOT_3D ¶

gxapi. DH_PLOT_3D = 4 DH_PLOT_SECTION_STACK ¶

gxapi. DH_PLOT_SECTION_STACK = 5 DH_PLOT_SECTION_FENCE ¶

gxapi. DH_PLOT_SECTION_FENCE = 6 DH_PLOT_SECTION_CROOKED ¶

gxapi. DH_PLOT_SECTION_CROOKED = 7


Извлечение признаков Артура из лидара, ЦМР и изображений

Артур Кроуфорд

26.07.2019: Добавлен способ сделать инвентарь дерева 3D без лидара и высоты (подсказка DBH).

24.10.2018: Добавлена ​​ссылка и инструкции по созданию 3D-зданий с помощью лидара от Microsoft Building Footprints US.

04.10.2018: Добавлено обновление инструментов в 3D-картографировании с Lidar Point Clouds ниже под названием ArthursLidarBuildingExtractionTools_10_04_2018.zip. Это устраняет проблемы с неклассифицированным подходом к сбору построек из лидара, инструментом для вырезания зданий, извлеченных на участки, и инструментом «Зубчатые», который помогает идентифицировать неровные здания, появившиеся в результате регуляризации. Эти инструменты являются улучшениями, которые я тестировал во многих городах / округах для извлечения зданий. Эти обновления в конечном итоге будут применены к трехмерному картированию с помощью Lidar Point Clouds. Для создания 3D-зданий из извлеченных 2D-контуров зданий используйте последнюю версию решения Local Government 3D Basemaps.

28.09.2017: Ознакомьтесь с 3D-картированием с помощью Lidar Point Clouds, это инструменты ArcGIS Pro, примеры данных и упражнения из семинара МВФ, который мы разработали для Форума изображений и картографирования в этом году перед ESRI UC. Это касается извлечения контуров зданий из классифицированного лидара для зданий, извлечения контуров зданий из неклассифицированного лидара для зданий и трехмерных базовых карт для переноса контуров в 3D и добавления деревьев. Это заменяет методологию Джеффа Тейлора, показанную в «Извлечении следов зданий из секретного LiDAR» с использованием некоторых из моих старых методов.

05.12.2016: Широко добавлены предложения по инструменту упорядочения следа строения.

08.12.2016: Изменено 1200 на 12000 в предложениях инструмента «Упорядочить след здания».

21.12.2016: Добавлены чистые извлеченные здания с помощью инструмента Regularize Building Footprint

22.12.2016: Исправлена ​​ошибка в моделях для чистых извлеченных зданий с помощью инструмента Regularize Building Footprint Tool из-за ошибки в инструменте Regularize Building Footprint (ввод пустого класса объектов).

03.01.2017: Обнаружена проблема с чистыми извлеченными зданиями с помощью инструмента Regularize Building Footprint Tool, который не работает, если нет больших зданий (более 25 000 кв. Футов), в которые можно заглянуть.

Этот блог будет посвящен извлечению функций из растра или облаков точек в векторные. Я создавал контент для базовых карт World Topo Map, включая контуры, точечные отметки, растительность и даже здания из Lidar. В последнее время я был сосредоточен на извлечении зданий и деревьев из лидара и / или изображений. Я написал инструмент для извлечения деревьев из Lidar 5 лет назад, и он опубликован здесь.

Инструкции по созданию 3D-зданий из Microsoft US Building Footprints:

Вот ссылка, чтобы увидеть это в 3D: Scene Viewer

Полуавтоматическое извлечение контуров зданий из изображений

Прилагается инструмент для ArcGIS Pro 1.3 для извлечения зданий из изображений. Для этого инструмента вам потребуются 3D Analyst и Spatial Analyst. Он использует изображения, сегментированные с помощью инструмента «Сдвиг среднего сегмента» и преобразованные в векторы. Затем вы выбираете векторы, запускаете инструмент. Он использует модель для преобразования в исправленные здания из необработанных растровых векторов и добавления в класс пространственных объектов. Ниже приведен пример выбранных векторов сегментации, которые затем проходят через инструмент для получения контуров здания. Я предлагаю выбрать несколько зданий и затем запустить инструмент. Инструмент прикреплен внизу как ExtractBuildingsFromImageryPro1_3v4.zip. После распаковки данных обязательно используйте команду define projection для класса объектов здания в output.gdb, чтобы она соответствовала проекции вашего изображения.

Возникла проблема с неправильным прохождением путей. Я считаю, что теперь это исправлено, поскольку рабочая область определена как in_memory. Если вы получаете сообщение об ошибке «Путь не найден», откройте модель и измените пути в модели для C: Users student Documents ArcGIS Projects ImageryExtraction ImageryExtraction.gdb seg на in_memory seg. Вам нужно будет сделать это для всех временных файлов в модели. Спасибо тем, кто сообщил об этой ошибке.

  1. Загрузите инструмент из моего блога.
  2. Разархивируйте инструмент.
  3. Получите изображения с высоким разрешением области, из которой вы хотите выделить здания (лучше всего 6 дюймов).
  4. Откройте карту ArcGIS Pro (1.3 или выше)
  5. Добавьте свои изображения на карту
  6. На вкладке «Вставка» используйте «Добавить панель инструментов», чтобы добавить панель инструментов ExtractBuildingsFromImageryPro1_3.tbx.
  7. Запустите инструмент «Сегментация изображений в векторные» для ваших изображений. Это требует времени (5 минут для файла 349 мг). Если четыре диапазона, введите 4 2 1 в индексы диапазонов.
  8. Измените символы вывода на красный и поместите поверх изображения среднего сдвига сегмента. Должно получиться так:
  9. Отключите изображение сегментации и с исходным изображением под ним выберите полигоны для домов, которые вы хотите преобразовать в полигоны зданий.
  10. Впервые запустите команду «Определить проекцию» для класса пространственных объектов здания, чтобы он соответствовал вашим изображениям.
  11. Откройте инструмент «Векторы сегментации в функции» и запустите его после настройки параметров.
  12. Проверьте свои результаты:

Инструмент Regularize Building Footprint Tool - Очистите необработанные извлеченные объекты, извлеченные из лидара или изображений.

Необработанные здания, извлеченные с помощью лидаров и растров, необходимо очистить, и инструмент Regularize Building Footprint хорошо справляется с этой задачей, но сложно понять, что ввести в параметры для этого инструмента. Я работал над моделями, чтобы сделать это, и теперь добавил модель для запуска инструмента Regularize Building Footprint против растровых извлеченных зданий, называемых Clean Extracted Buildings Using Regularize Building Footprint Tool.

Для очистки извлеченных зданий с помощью инструмента Regularize Building Footprint Tool требуется ArcGIS ArcMap 10.4 с ArcGIS for Desktop Advanced и дополнительный модуль 3D Analyst. Это первая выпущенная версия, созданная на основе описанных ниже процессов. Входными данными для этого инструмента могут быть растеризованные здания, автоматически извлеченные из изображений / цифровых карт / отсканированных бумажных копий карты. Я использовал аналогичные процессы для извлечения зданий из карт ОС, созданных лидарных растров и даже классифицированных изображений зданий. Это выходит за рамки описанного выше инструмента для очистки объектов с помощью инструмента «Регуляризация контура здания».

Пора выполнить обе операции (Предупреждение: инструмент будет использовать большую часть вычислительной мощности вашей системы):

Intel Core i7 - 4600 CPU @ 2,10 ГГц 2,70 ГГц U с 8 ГБ памяти (64 бит) - 25 минут для 10 000 функций

Intel Xeon CPU E5 -1620 0 @ 3,60 ГГц 3,60 ГГц с 32 ГБ памяти (64 бит) - 8 минут для 10 000 функций

Ниже белым цветом показаны исходные необработанные здания, извлеченные с помощью лидаров, а Aqua Green - извлеченные здания CircleBuildings. Красный - это результат строительства. Здания под кольцевыми постройками нужно будет удалить.

1. Чтобы использовать этот инструмент, сначала запустите Dissolve для ваших объектов с отключенным multipart.

2. Загрузите и разархивируйте прикрепленный файл. Очистите извлеченные здания с помощью Regularize Building Footprint Tool.zip.

Сначала запустите инструмент «1. Регуляризация контуров здания для круга (проекция ступней)» внутри.

3. Далее выполните «2. Упорядочить следы строений, не являющиеся круговыми (проекция ступней)».

4. Сначала просмотрите выходные данные CircleBuildings, их должно быть не так много, и вам нужно проверить, действительно ли они

круги. Если нет, удалите. Здесь должны собираться танки, круглые постройки, беседки и т. Д. Если постройка не полностью круглая,

но это похоже на шестиугольник или что-то подобное, попробуйте использовать кнопку обобщения при редактировании с 1, 2 или 3, чтобы получить стороны

прямой как шестиугольник или восьмиугольник. Добавьте дополнительные круговые структуры, которые вы видите, часто они находятся рядом друг с другом. Сохранить когда

5. Добавьте свой класс объектов Buildings и выберите по местоположению те, у которых есть центроид, в CircleBuildlings, затем удалите.

6. Просмотрите свои постройки. Если у вас есть общие проблемы с извлечением, обратите внимание на тип здания. Войдите в "2.

Инструмент "Упорядочить все следы здания не по кругу (проекция ступней)" и отрегулируйте эти параметры с помощью

Упорядочить справку по инструменту "Упорядочить след здания".

Включены некоторые образцы данных и выходные данные перед просмотром вручную. Вы можете увидеть какую-то ступеньку в

особенности проявляются. Это связано с тем, что инструмент настроен только для обработки правых и диагональных углов для больших и средних

типы зданий (см. поле Тип вызова). Поле TotalProcess в классе объектов Buildings показывает процессы

использовал. Пример: «Регулярный, упрощенный, упрощенный, упрощенный, упрощенный» означает, что у него было регулярное здание.

Инструмент Footprint с выводом Regularized, затем он был упрощен с помощью инструмента Simplify Buildings 2, 4, 6 и 8.

* Обнаружена проблема с чистыми извлеченными зданиями с использованием инструмента Regularize Building Footprint Tool, не работающего, если нет больших зданий (более 25 000 кв. Футов), выясняется, как это исправить.

Описание ручного процесса, чтобы помочь вам, если вы хотите лучше понять, что делает инструмент:

Сначала начните с извлечения кругов из ваших данных. Я обычно управляю одним или двумя округами одновременно.

Выполните первые семь кругов по кругу - упорядочьте площадь основания здания с допуском 2, 4, 5, 6, 8 и допуском 12 и

запросы определения ниже:

Допуск 1.6 с необработанными векторами с использованием запроса определения Shape_Area & lt = 220 AND Shape_Area & gt 175

Допуск 1.8 с необработанными векторами с использованием запроса определения Shape_Area & lt = 240 AND Shape_Area & gt 220

Допуск 2 с необработанными векторами с использованием запроса определения Shape_Area & lt = 1400 AND Shape_Area & gt 240

Допуск 4 с необработанными векторами с использованием запроса определения Shape_Area & lt = 2500 AND Shape_Area & gt 1400

Допуск 5 с необработанными векторами с использованием запроса определения Shape_Area & lt = 3000 AND Shape_Area & gt 2500

Допуск 6 с необработанными векторами с использованием запроса определения Shape_Area & lt = 8000 AND Shape_Area & gt 3000

Допуск 8 с необработанными векторами с использованием запроса определения Shape_Area & lt = 12000 AND Shape_Area & gt 8000

Допуск 12 с необработанными векторами с использованием запроса определения Shape_Area & gt 12000

Объедините выходные данные с BuildingsCircle, а затем примените запрос определения STATUS = 0. Это должно работать для автоматического извлечения кругов.

Я предлагаю проверить круги, чтобы убедиться, что они правильные, и удалить все, что не так.

Вам нужно будет начать редактирование объединенных кругов, выделить все и использовать обобщение с вводом 0,1 фута.

Это превращает идеальные круги в круги с вершинами, которые используются в качестве входных данных для сцен местного самоуправления.

Выберите необработанные извлеченные здания, которые не являются кругами, используя Выбрать по местоположению. Запустите Dissolve с отключенными функциями Create mulitpart.

Разделите на три группы по размеру ниже и выполните регулировку контура здания со следующими значениями:

• Маленький: Shape_Area & lt 5000 кв. Футов.

Right_ANGELS Допуск 2, плотность 2, точность 0,25

• Средний: «Shape_Area» & gt = 5000 AND «Shape_Area» & lt = 25000 Right_ANGLES_AND_DIAGONAL Допуск 3, плотность 3,
Точность 0,25, штраф по диагонали 1,5

Большой: "Shape_Area" & gt = 25000 Right_ANGLES_AND_DIAGONAL
Допуск 4, плотность 4, точность 0,25, штраф по диагонали 1,5

После запуска этих групп объедините результат с BuildingsNonCircle и запустите растворение на объектах. Запустите «Исключить полигональную деталь» на элементах с площадью не менее 20 квадратных футов и «Исключить только содержащуюся часть». Это сделано для того, чтобы избавиться от внутренних дыр в очищенных полигонах. Запустите Simplify Buildings with Simplification Tolerance 2, а затем снова с этим в качестве входных данных с Simplification Tolerance 4.

Объедините свои круговые здания и BuildingsNonCirclesb4, чтобы получить готовые здания. Начните сравнивать здания с изображениями / лидарами, чтобы найти ошибки (кажется, ошибки будут всегда).

Извлечение зданий и деревьев из лидара

Вот также инструмент для построения и идентификации деревьев из Lidar, разработанный Джо МакГлинчи и Рослин Данн. Работа над ним еще не завершена, и в настоящее время он работает только с ArcGIS Desktop 10.3.1. Он собирает контуры зданий и деревья кругов, которые можно запускать с помощью инструмента Regularize Building Footprint, описанного выше.

Другой инструмент для извлечения деревьев, который я разработал, использует изображения Lidar и NAIP, находится здесь. Версия для Pro прилагается (деревья от LIDAR и NAIP_Pro).

Добавление цвета крышам зданий для отображения в ArcGIS Pro (Scene Viewer)

Добавление цвета крышам в ArcGIS Pro действительно делает сцены более реалистичными с помощью сцен местного самоуправления. Более года назад я разработал модель для добавления шестигранных цветов к зданиям в качестве поля для отображения в ArcGIS Pro. В процессе «Сцены местного самоуправления» вы можете использовать поле с шестнадцатеричным цветом, чтобы добавить цвета для отображения в ArcGIS Pro с использованием их слоев. Я часто использую два источника изображений из разных времен и использую один для крыши, а затем другой для цвета стороны (добавляю еще одно поле, называемое цветом стороны). Хотя использование его для окраски сторон идеально, это простой способ окрасить здания в массе.

1. Вырежьте из листьев изображения с высоким разрешением той области, где у вас есть здания, и вы хотите добавить цвета.

2. Измените разрешение на 3 фута или около того, это позволит инструменту «Сдвиг среднего сегмента» работать намного быстрее.

3. Запустите «Сдвиг среднего сегмента» на снимке листа с параметрами по умолчанию.

4. Запустите команду «Добавить шестнадцатеричный цвет из изображений в крыши» 10.4 или ArcGIS Pro «Добавить шестнадцатеричный цвет для крыш» (прилагается ниже).

5. Загрузите файлы слоя Old Local Government Scenes (прикрепленные ниже в архиве) и разархивируйте.

6. Переместите ваши здания в трехмерную сцену в Pro и нажмите на свойства, чтобы установить абсолютную высоту.

7. В версии Pro запустите команду «Применить символы из слоя» с помощью распакованного вами LOD2BuildingShellsFloors_feet.lyrx или LOD2BuildingShells_meters.lyrx каталога OldLocalGovernmentScenesLayerFiles. В новой версии Сцены местного самоуправления нет цвета крыш или стен зданий, скорее всего, в будущих версиях он будет изменен.

7. Установите цвет крыши на свое шестнадцатеричное цветовое поле в символах и примените.

Ниже изображен Сент-Луис в 3D с добавлением цвета к зданиям. Единственным нарисованным элементом была арка. Все цвета зданий были применены с помощью изображений, как описано выше. Деревья были извлечены с помощью Trees From LIDAR (здесь). Здания были сегментированы с помощью инструмента «Смещение среднего значения сегмента» на реклассифицированной матрице высот, обрезанной по контурам здания и затем преобразованной в полигоны. Это дает трехмерным зданиям несколько высот для разных секций. «Добавить шестнадцатеричный цвет из изображений в крыши» выполнялся на отдельных полигонах для различных частей крыши.

Вот еще один пример из Сент-Чарльза, графство, штат Миссури. Недавно они сделали свои данные открытыми через MSDIS, и в следующие выходные я обработал 160000 зданий в 3D, используя сцены местного самоуправления с моделью вокруг них, чтобы запускать их в пакетном режиме (Scene Viewer). Для цветов со стороны здания я использовал эту формулу для расчета цвета крыши. Боковые цвета не правильные, но это дает более реалистичный вид.

"#" + шестнадцатеричный (int (((int (! HexColor! [1: 3], 16)) - random.randrange (30) +20) * - 1)) [- 2:] + шестнадцатеричный (int (( (int (! HexColor! [3: 5], 16)) - random.randrange (30)) * - 1) +20) [- 2:] + hex (int (((int (! HexColor! [5: 7], 16)) - random.randrange (30)) * - 1) +20) [- 2:]

Другой вариант - использовать цвет реальной стороны зданий. Для этого начните с поиска в веб-браузере изображений домов в том районе, где вы строите. Затем вы можете сделать снимки, привязать их друг к другу в ArcMap и сложить мозаику вместе. Выполните сегментный средний сдвиг на мозаичном изображении, а затем создайте класс объектов, чтобы поместить искусственные здания в области, из которых вы хотите получить цвета. Запустите инструмент Add_Hex_Color_From_RGB_Imagery_to_Roofs_10.4 на этих зданиях, а затем экспортируйте его в таблицу. Посмотрите, сколько записей в таблице, добавьте поле к зданиям под названием join и вычислите его со случайным числом, равным количеству записей в таблице (импортировать random в блоке кода, random.randint (1,100), 100 - это количество записей). Затем добавьте в свое здание поле под названием «Цвет стороны» и вычислите его после соединения с таблицей с помощью поля objectid и join. Используйте это поле в качестве входных данных для символов сторон зданий. Ниже приведен пример этого для Форт-Бенд, штат Техас, где мы извлекли следы зданий из лидара, пропустили их через сцены местного самоуправления, а затем случайным образом применили цвет к крышам из изображений и боковые цвета.

Округ Форт-Бенд, штат Техас, в 3D:

Создание инвентаризации дерева и отображение его в 3D в ArcGIS Pro:

Некоторое время назад местный парк спросил меня, что делать с их новой инвентаризацией деревьев на доске, которая была представлена ​​как точечный класс функций с родом. Я предложил показать это с помощью ArcGIS Pro в 3D. Ниже приведены инструкции по добавлению высоты к точкам дерева из лидара и последующему вычислению поля для рода по научному названию. Вычислив высоту и поле только с помощью Genus, вы можете легко отображать деревья в 3D в Pro. Вот ссылка на все доступные деревья:

Что касается деревьев, то управление им от Genus означает, что Серебряный клен (Acer saccharinum) будет отображаться в поле как просто «Acer» для управления символикой. По ссылке выше вы можете увидеть, что Acer будет отображаться в виде дерева Sugar Maple. Обычно это достаточно близко, чтобы дать хорошее представление о типе дерева.

Просматривая исследования, кажется, что получить высоту дерева из DBH не очень хорошо. Итак, я бы посоветовал использовать лидар или высоту, если она находится в инвентаре деревьев. Единственная проблема, с которой я столкнулся, это недавно посаженные деревья, которых не было в лидаре, или мы стали меньше, когда лидар был сделан.

  1. Просмотрите точки, вы, вероятно, захотите перепроецировать точки так же, как ваш лидар.
  2. Первым шагом было скачивание файла LAS области.
    (лидарный формат данных).
  3. Вторым шагом было создание набора данных las с помощью las
    файлы.
  4. Затем мы использовали точку LAS как статистику как растр, используя Z_Range.
    Метод получения матрицы высот высот деревьев.
  5. Я запустил инструмент Focal Statistics с максимум 3 кружками, чтобы
    получить распространение самой высокой точки, чтобы она пересекала точку.
  6. Ran Добавить информацию о поверхности, чтобы получить Z из
    растр в точки инвентаризации дерева, это высота дерева.
  7. Добавьте вызов поля Genus и вычислите поле, используя
    Научное название. Требуется ArcGIS
    вход только для рода, поэтому я использовал этот сценарий vb в 10.4, чтобы сделать это из научного имени в python (ArcGIS Pro)! BOTANICAL! .split ('', 1) [0] или vb script Split ([BOTANICAL ], "", 2) (0)
  8. Открыл ArcGIS Pro Scene и добавил деревья как Добавить предустановленные слои
    Реалистичные деревья, используя это поле Род, вы получите более правильную символику
    для деревьев и поля высот. Это не работает со всеми вашими
    деревья, но многие из них поддерживаются.
    Опять же, вы можете увидеть поддерживаемые типы по этой ссылке: Поддерживаемые типы древовидных родов — ArcGIS Pro | ArcGIS for Desktop
  9. Добавьте изображения и проверьте свои деревья, чтобы убедиться, что они выглядят правильно. Распространенная ошибка - высота может быть в метрах или футах, но я выбрал не ту.

Вот некоторые данные, которые я пробовал использовать из Амхерста, Массачусетс, с исходными данными и обработанным подмножеством под названием SubsetOfAmherstMATreeInventory2010.zip:

Еще одна достопримечательность - парк Тауэр-Гроув в Сент-Луисе, штат Миссури. В сцене визуализировано более 6000 деревьев. Некоторые деревья не относятся к правильному роду и выглядят белыми.

Я получил некоторые данные инвентаризации деревьев с кладбища Беллефонтен здесь, в Сент-Луисе, штат Миссури. Я использовал соединение с деревьями, похожими на научное название рода, которое Ботанический сад Миссури сделал для своих деревьев для рендеринга в 3D. Esri поддерживает около 60 видов деревьев для 3D-рендеринга. Затем я использовал лидар, чтобы получить простую формулу для преобразования DBH (диаметра на высоте груди) в высоту дерева. Это неточно, но деревья переданы довольно хорошо. Существуют очень сложные формулы, которые я мог бы дополнительно изучить, чтобы связать DBH с высотой, это может позволить легко преобразовать многие инвентаризацию деревьев в 3D. Таблица для расчета аналогичного рода приведена ниже вместе с другими загружаемыми файлами под названием MissouriBotanicalGardenSubstitutesForTreeGenus.txt.

Сцена, показывающая деревья, созданные в 3D с использованием формулы, примененной к DBH ((DBH x 2) +20). 5150 из 9153 родов деревьев поддерживались с помощью 63 типов родов, поддерживаемых Esri ArcGIS Pro. 2120 деревьев не соответствовали опорному роду для рендеринга, но была использована таблица, предоставленная Ботаническим садом Миссури для подобных деревьев. Деревья в белом цвете не были поддержаны или нанесены на карту для обозначения родов, в том числе 1883 дерева и кустарника. Чтобы вычислить род, я использовал поле SPP (научное имя) с! SPP! .Split ('', 1) [0]

Средство просмотра сцен - обязательно включите лидар, чтобы увидеть, насколько близко или не близко находятся деревья по высоте.

Особая благодарность округу Сент-Чарльз, Монике Балестрери, MSDIS, Майклу Оуэну, Таун оф Амхерст (Массачусетс), Дэну Хеджесу, Джо МакГлинчи, Рослин Данн, Томасу Мауреру, Хуа Вей, Джеффу Лидтке, Джей Ди Овертону, Халиду Дури, Дэвиду Альтерготту, Парк Тауэр-Гроув, Энди Уотсон и другие, кто мне помог.


Определения сетки

Определение сетки основывается на пространственной привязке, также определяя пространственная протяженность изображения. Таким образом, он обеспечивает полную картину географического расположения изображения или желаемой области исследования. Определение сетки - это только определение, а не пространственная привязка или изображение.

Когда вам нужно совместно зарегистрировать временные ряды изображений или создать стек слоев с разными разрешениями, определение сетки указывает общую систему координат, пространственную привязку и пространственный экстент, которые они будут использовать.

Полное определение сетки можно указать с помощью любой из следующих комбинаций:

  • Система координат + пространственный экстент + размер пикселя
  • Система координат + пространственная протяженность + количество строк + количество столбцов
  • Система координат + размер пикселя + количество строк + количество столбцов

Следующие инструменты позволяют указать определение сетки, используя любую из этих комбинаций. Они также могут автоматически создавать сетку на основе области перекрытия нескольких изображений (геометрическое пересечение) или комбинированного пространственного экстента нескольких изображений (геометрическое объединение).


Совместимость файлов курса между Steam и Skytrak версии TGC2019

У меня возникают проблемы с получением дизайна курса, над которым я работаю, в версии TGC2019 Designer для Steam для ПК и моей версии симулятора Skytrak, поэтому я могу воспроизвести курс на своем симуляторе. Это курс LIDAR, изначально созданный с использованием замечательного инструмента Чада. У меня было две причины, по которым я переключился на версию Steam: 1) я использую другой компьютер в моем гараже со своим устройством Skytrak, и 2) я не мог заставить инструмент Чада загрузить курс, который я сохранил из версии Skytrak. Это был мой первый красный флаг, что формат файла .course несовместим между двумя версиями TGC2019.

Теперь я пытаюсь взять черновик дизайна курса со своего ноутбука (Steam-версия) и импортировать его в свою версию Skytrak. В конструкторе версии Skytrak не отображается файл, который я поместил в тот же каталог, что и файл нового курса, сохраненный из версии Skytrak. Так что проблемы с совместимостью определенно есть.

Кто-нибудь еще сталкивался с этим? Если да, то есть ли способ обойти это? Единственное другое решение, которое я могу придумать, - это поработать над кодом Чада (я программист на Python) и попытаться заставить его поддерживать оба формата файлов.


Переименуйте файлы las с помощью Python - географические информационные системы

3D-визуализация геопространственных данных в реальном времени с помощью Blender

Это материал для семинара FOSS4G, который прошел в Бостоне, Массачусетс, 14 августа 2017 года.

Что, если ваши геопространственные данные и моделирование, такие как затопление, распространение пожара и расчеты видимости, на лету преобразуются в реалистичные, интерактивные и захватывающие трехмерные миры без необходимости иметь дело с чрезмерно сложным или проприетарным программным обеспечением для трехмерного моделирования? На этом практическом семинаре мы рассмотрим, как автоматизировать импорт и обработку различных типов геопространственных данных (например, растров, векторов) с помощью Blender, программного обеспечения для 3D-моделирования с открытым исходным кодом и игрового движка. Мы начнем с краткого и целенаправленного введения в графический интерфейс пользователя (GUI) Blender, API Python, а также дополнения ГИС и виртуальной реальности. После того, как мы импортируем наши данные ГИС в Blender, мы рассмотрим методы (как с графическим интерфейсом пользователя, так и с командной строкой), чтобы повысить реалистичность нашего трехмерного мира за счет применения текстур, затенения и освещения. Чтобы сделать нашу работу многоразовой для разных проектов, мы автоматизируем все рабочие процессы импорта и обработки с помощью Python. Наконец, мы покажем, как опубликовать его в Интернете, чтобы поделиться им со всем миром.

Часть 1. Основы интерфейса и функциональности Blender.

Часть 2. Обработка, закрашивание и рендеринг геопространственных данных.

Часть 3. 3D-моделирование в реальном времени и сопряжение

Часть 4. Опубликуйте свою работу в Интернете с помощью Blend4Web.

Раздел Продолжительность
Часть 1 8:00- 9:45
Сломать 15 мин
Часть 2 10:00-11:00
Часть 3 11:00-11:30
Часть 4 11:30-12:00

I. Что такое Blender и зачем его использовать?

Blender - это программное обеспечение для 3D-моделирования, рендеринга и игрового движка с открытым исходным кодом. С его помощью вы можете создавать фотореалистичные сцены и реалистичные анимации. Особенностью, которая делает Blender очень подходящим для геопространственной визуализации, является его способность импортировать различные данные с географической привязкой благодаря надстройке BlenderGIS. Почти каждая операция, выполняемая в интерфейсе блендера, может быть написана в среде сценариев Python, что позволяет автоматизировать или пакетировать процесс 3D-моделирования. Более того, используя надстройки Blend4Web или sketchfab, вы сможете публиковать свои геопространственные модели в Интернете, чтобы каждый мог интерактивно исследовать или загружать вашу работу.

II. Основные компоненты интерфейса Blender

Blender имеет множество компонентов и функций, которые, благодаря его возможностям с открытым исходным кодом, расширяются с каждым днем. Чтобы охватить все аспекты самого программного обеспечения, потребуется несколько уроков. Цель этого раздела - предоставить краткое введение в графический пользовательский интерфейс Blender и некоторые из его функций, которые необходимы для работы с геопространственными данными и будут использоваться в этом руководстве. Мы специально представим следующие компоненты: Области, редакторы, вкладки, заголовки, панели

Окно приложения Blender можно гибко организовать и разделить на несколько Области. Область содержит рабочую область для определенного типа редактора, например Редактор 3D-вида, или Outliner. На рисунке выше вы можете видеть, что окно приложения разделено на пять областей, каждая из которых назначена редактору.

Редакторы отвечают за отображение и изменение различных аспектов данных. Представьте себе редакторы как полноценное программное обеспечение, каждое из которых специализируется на определенных задачах, таких как изменение свойств данных, редактирование изображений, редактирование видео, дизайн анимации, игровой дизайн и т. Д. Вы можете назначить область конкретному редактору, используя Селектор типа редактора , первая кнопка в левой части заголовка (рисунок внизу слева). Каждая область в Blender может содержать любой тип редактора, также возможно открыть один и тот же тип несколько раз.

Вкладки являются перекрывающимися разделами в пользовательском интерфейсе. Вкладки могут быть вертикальными (Полка инструментов) или горизонтальными (Редактор свойств, Настройки пользователя).

Еще одна общая черта - это Заголовок, которые содержат меню и часто используемые инструменты, специфичные для каждого редактора. Он представляет собой небольшую горизонтальную полосу с более светлым серым фоном, которая находится либо вверху, либо внизу области.

Наконец, самая маленькая организационная единица в пользовательском интерфейсе - это Панель. Обычно панели можно сворачивать, чтобы скрыть их содержимое. Они используются в редакторе свойств, а также, например, на панели инструментов и в области свойств. На изображении ниже справа вы можете увидеть три панели, одна из которых развернута, а остальные свернуты.

Выше: Селектор типа редактора (слева), панель инструментов с вкладками (в центре), панели панели инструментов (справа) Ниже: Заголовок с вкладками

Теперь, когда у вас есть некоторые общие представления об интерфейсе, мы рассмотрим некоторые из наиболее часто используемых редакторов.

В 3D вид представляет собой визуальный интерфейс с 3D-данными и сценой с многочисленными функциями для моделирования, анимации, рисования текстур и т. д. В отличие от 2D-среды программного обеспечения ГИС, где вы можете перемещаться только в направлениях x и y, 3D-окно просмотра позволяет полностью контролировать наш просмотр угол, глубина, размер и т. д. Вы можете нажать и удерживать кнопку прокрутки мыши (или средний щелчок), чтобы изменить угол обзора (или вращение вокруг), сдвигать и перетаскивать для панорамирования и вращать для увеличения взад и вперед.

Теперь обратите внимание на панель в левой части области, которая называется Полка для инструментов и в нем есть множество инструментов для 3D-редактирования. Недавно установленные дополнения также отображаются на этой панели инструментов. Теперь обратите внимание на дно Заголовок. Он включает в себя меню для добавления, редактирования объектов, а также параметры просмотра и затенения.

Заголовок 3D вида (взят из руководства Blender)

Заголовок Просмотр меню позволяет выбрать определенную точку обзора, такую ​​как верхняя, левая или разные перспективы. У каждой из этих команд есть сочетание клавиш, например, вы можете нажать цифровую клавиатуру 3 (если у вас полная клавиатура), чтобы переключиться на вид сверху.

Добавить меню предоставляет список различных типов 2D и 3D объектов, которые могут быть добавлены в сцену

В Режим взаимодействия с объектами вы можете различный аспект данных. В этом уроке мы фокусируемся на Объектный режим и Режим редактирования. Режим редактирования позволяет получить доступ к более низкоуровневым структурам вашего объекта, таким как грани и вершины. В примерах, которые мы завершаем в этом руководстве, мы будем использовать некоторые из этих параметров для уточнения модели поверхности. Важно ознакомиться с тремя основными элементами: Лица, Края и Вершина. Вы можете выбрать эти элементы, щелкнув соответствующие значки.

Справа от режима взаимодействия находится область просмотра. Режим затенения который вы можете использовать для выбора методов визуализации и рендеринга области просмотра. Твердый режим - это режим по умолчанию, в котором объекты отображаются с твердыми гранями, но без текстур и затенения. В Текстурный режим показывает объект с текстурами. Материальный режим это быстрое приближение всего материала, включая текстуру и тени. Визуализированный режим обеспечивает рендеринг в реальном времени, который вычисляет почти готовый продукт на лету, когда вы взаимодействуете с объектом (с точными материалами и освещением).

Выбор базового объекта и взаимодействие

Объекты - это в основном все, что вы видите в 3D-виде. Они включают в себя 3D-объекты, источники света, камеры и многое другое. Вы можете выбрать любой объект в сцене, используя щелкните правой кнопкой мыши. Выбранные объекты выделяются оранжевым цветом. Используйте 3 оси (т. Е. Ручки), чтобы переместить объект в желаемом направлении. Чтобы выбрать несколько объектов, нажмите и удерживайте клавишу управления и щелкните правой кнопкой мыши объекты, чтобы добавить их к вашему выбору. Чтобы отменить выбор, удерживайте нажатой клавишу Shift и щелкните объект правой кнопкой мыши. Вы можете перемещать (захватывать) объекты, нажимая G, вращать их, нажимая R, или масштабировать их, используя клавишу S. Вы можете ограничить любое преобразование определенной осью, нажав x, y, z. Вы можете удалить объект, выделив его, нажав клавишу удаления и выбрав ок.

Как следует из названия, планировщик перечисляет и организует объекты сцены. Оттуда вы можете установить иерархию, видимость 3D-объектов или заблокировать их, если вам нужно. Вы также можете выбирать и активировать объекты, щелкая по их названию в списке. На рисунке ниже показано Редактор Outliner в котором перечислены три объекта (Камера, Куб и Лампа) и выбран объект Лампа.


Консоль Python - полезный редактор для тестирования и выполнения коротких команд, которые затем можно интегрировать в более крупные рабочие процессы. Модули моделирования и игры Blender уже загружены в консоль Python, поэтому вы можете протестировать свои фрагменты кода без дополнительных усилий по вызову модулей.


Консоль Python (взято из руководства Blender)

Пример 1. Простая работа с объектом с помощью консоли Python.

  • Вызов Куб объект и распечатать его местоположение
    • Скопируйте и вставьте отдельные командные строки в консоль и нажмите ввод

    Текстовый редактор позволяет редактировать ваш скрипт Python и запускать его внутри Blender. Нажав кнопку + значок, вы можете начать новый файл и нажать на Запустить скрипт для выполнения вашего кода. В текстовом редакторе необходимо вызвать модули моделирования и игры.

    Пример 2. Пакетная обработка простых операций над объектами с помощью текстового редактора

    • Создайте матрицу размером 20 на 20 кубов разного размера и расположения.
      • В текстовом редакторе нажмите на + значок для создания нового текстового файла
      • Скопируйте и вставьте фрагмент ниже и нажмите Выполнить скрипт кнопка
      • Результат должен выглядеть как на рисунке ниже.
      • Удалите все объекты куба, добавьте Обезьяна объект и добавьте Самолет объект
        • Откройте новое текстовое окно или удалите содержимое существующих (выделите содержимое с помощью ctrl + A и нажмите del)

        Редактор свойств позволяет изменять свойства сцены, настройки рендеринга, трансформировать объекты или изменять их свойства материала или текстуры. Компоненты, с которыми мы будем работать в следующих примерах: Свойства объекта, материала и текстуры.

        Примечание. Интерфейс редактора свойств динамически изменяется в зависимости от выбранного объекта. Например, если вы выберете источник света, появится маленький значок солнца, чтобы установить свойства источника света, и аналогичным образом вы должны выбрать камеру, чтобы иметь возможность видеть вкладку камеры и изменять свойства.

        Свойства объекта Вкладка позволяет изменять расположение, ориентацию и масштаб объекта, а также его свойства отображения. Вы можете использовать числовой ввод для параметров преобразования.

        Пример 3. Базовое преобразование объекта с использованием модификатора свойств

        • Убедитесь что Сюзанна объект выбран. Его следует выделить в планировщик
        • Перейти к Редактор свойствВкладка "Объект" ‣ развернуть Преобразовать панель
        • Тип 3, 2, 4 для X, Y, Z параметры соответственно.
        • Изменять Вращение и Масштаб параметры, чтобы увидеть, как они влияют на объект

        Материалы Вкладка позволяет назначить или изменить материал объекта. Вы можете добавлять и удалять материалы или использовать браузер материалов для назначения ранее созданных материалов объекту. В этом уроке мы кратко представим два основных компонента материалов: Шейдеры и Текстуры.

        Затенение (или окраска) позволяет вам регулировать основной цвет (измененный в результате диффузии и зеркального отражения) и интенсивность света. Вы также можете назначить Текстура к объектам, который называется Отображение текстуры. Сопоставление текстур часто используется для добавления деталей к поверхностям путем проецирования изображений и узоров на эти поверхности. В следующих примерах мы практикуем простое затенение и наложение текстуры.

        Пример 4. Назначение простых шейдеров и текстур

        • Шейдеры
          • Из выброса выберите объект, убедитесь, что Сюзанна объект выбран
          • Перейти к редактор свойстввкладка объекта ‣ нажми на + Новый кнопка для создания нового материала
          • Дважды щелкните название материала (например, Материал.001) и измените его на Mymat
          • Разверните панель предварительного просмотра, чтобы увидеть предварительный просмотр материала по мере его изменения.
          • Измените параметр цвета на красный
          • Перейти к нижней части 3D-редактора ЗаголовокЗатенение области просмотраоказано чтобы увидеть рендеринг объекта в реальном времени
          • Измените цвет на желтый
          • Нажми на Диффузный BSDF поле перед параметром поверхности и выберите Стекло BSDF
          • Теперь попробуй Эмиссия BSDF и Глянцевый BSDF шейдеры при включенном шейдере области просмотра Оформлено режим, чтобы увидеть влияние на рендеринг. Предварительный просмотр вашего материала и рендеринг сцены должны выглядеть, как показано на рисунке ниже.

          Слева направо: Диффузный BSDF, Стеклянный BSDF, Глянцевый BSDF, Эмиссионный

          • Текстуры
            • Пока шейдер все еще находится в «Глянцевом BSDF», щелкните переключатель перед параметром «Цвет». Появится виджет с несколькими столбцами. В столбце текстуры выберите «Вороной», чтобы увидеть, как текстура влияет на рендеринг.
            • Теперь попробуем текстуру «Градиент». Предварительный просмотр вашего материала и рендеринг сцены должны выглядеть как два левых столбца на рисунке ниже.

            Слева направо: Градиентная текстура, текстура Вороного, глянцевый BSDF, смешанный шейдер.

            Для создания более сложных материалов можно использовать Редактор узлов . Редактор узлов - это визуальный интерфейс для просмотра и создания взаимосвязанной сети узлов. В этой сети каждый отдельный узел выполняет некоторую операцию с материалом, изменяя его внешний вид при применении к сетке, и передает его следующему узлу. Таким образом можно получить очень сложный внешний вид материала.

            Пример 5. Настройте Mix Shader с помощью редактора узлов. В этом примере мы смешиваем глянцевый шейдер с диффузным шейдером, чтобы создать композитный материал.

            • Щелкните правой кнопкой мыши объект Обезьяна (Сюзанна), чтобы выбрать его
            • Переключите редактор консоли python (нижняя левая область) на Редактор узлов (рисунок внизу слева).
            • В редакторе узлов вы увидите узлы, которые мы уже настроили. Выход шейдера узла Glossy подключается к входу поверхности выхода материала.
              Теперь мы добавим два других шейдера, диффузный шейдер и смешанный шейдер.
            • Из нижнего заголовка редактора узлов ‣ ДобавлятьШейдерДиффузный BSDF
            • Из нижнего заголовка редактора узлов ‣ ДобавлятьШейдерСмешать шейдер. Вы должны увидеть, что оба узла были добавлены в ваш редактор узлов.
            • Измените значение цвета узла Diffuse на R: 0,075 G: 0,35 B: 0,50
            • Отключите Глянцевый BSDF вход с поверхности
            • Подключите вывод BSDF диффузного и глянцевого шейдеров к входам на левой стороне микса (шейдера).
            • Подключите выход шейдера (справа) к входу Surface узлов вывода материала (рисунок ниже, справа).
            • С Фак параметр, вы можете отрегулировать уровень смеси.
            • Ваш материал должен выглядеть так, как в правом столбце приведенного выше рисунка. Узнайте больше об узлах.

            Другие дополнительные ресурсы для изучения интерфейса блендера

            Часть 2. Обработка, закрашивание и рендеринг геопространственных данных.

            В этом разделе мы узнаем, как настроить аддон Blender GIS и привязать сцену к геопривязке. Также мы рассмотрим процедуру импорта, обработки и закрашивания векторных и растровых данных. Мы продолжим выполнение инструкций, используя простое назначение просмотра. Цель задания - визуализировать и сравнить моделирование в области обзора, рассчитанное для 4 разных мест на сайте. Общий рабочий процесс следующий.

            I) Подготовка сцены и освещение II) Географическая привязка сцены III) Импорт и обработка цифрового растра поверхности IV) Импорт и обработка шейп-файла точки обзора V) Нанесение карты видимости и ортофото на модель поверхности

            Примечание: Видимость - это растровая карта, показывающая видимые области поверхности из заданного места.

            Есть два способа завершить пример метода сценариев (с использованием редактора Python блендера) и метода графического интерфейса пользователя (графический интерфейс пользователя). Для каждого шага процедура графического интерфейса пользователя указана в виде маркированного списка. Ниже вы можете найти фрагмент кода, если вы хотите следовать процедуре создания сценария. Чтобы выполнить фрагмент кода, откройте новый текстовый файл в Текстовый редактор и для каждого шага напрямую скопируйте и вставьте фрагмент кода в редактор и нажмите Запустить скрипт выполнить код.

            Метод Продолжительность трудность
            GUI 1-2 часа Сложный
            Редактор Python 10-15 минут Легко

            Примечание Для лучшего изучения заполните пример обоими методами, но не смешивайте и не сопоставляйте. Попробуйте следовать одному методу от начала до конца.

            Первый шаг - очистить сцену и настроить параметры рендеринга и освещения. GUI

            • Запустите Blender и откройте файл Example_A.blend.
            • Выберите значение по умолчанию Куб объект в 3D-окне просмотра и удалите его (щелкните объект правой кнопкой мыши ‣ нажмите удалить ‣ ОК)
            • Убедитесь, что движок рендеринга установлен на «Циклы». Вы можете найти его в верхнем заголовке, по умолчанию Blender Render
            • Чтобы увеличить высоту лампы и изменить тип лампы на солнце для соответствующего освещения:
              • Щелкните левой кнопкой мыши по Напольная лампа объект в Outliner выбрать это
              • Перейти к Редактор свойствОбъект (значок оранжевого куба) ‣ Преобразовать панель ‣ в Расположение матрицу измените Z значение до 1000 (при необходимости см. рисунок ниже)
              • В Редактор свойствНапольная лампа (два значка справа от Объект значок) ‣ разверните Напольная лампа панель ‣ Измените тип лампы на солнце
              • Разверните Узлы панель ‣ Нажмите Использовать узлы чтобы разрешить изменение параметров Sun.
              • Установить Сила параметр до 6.00

              Редактор Python

              II. Географическая привязка сцены Blender

              Настройка аддона Blender GIS

                аддон BlenderGIS
            • Перейти к файлпредпочтения пользователей (Alt + Ctrl + U) ‣ ДополненияУстановить из файла (внизу окна)
            • Найдите и выберите файл «BlenderGIS-master.zip».
            • Вы должны увидеть аддон 3Dview: BlenderGIS добавлен в список. Если нет, введите "gis" в строке поиска, убедившись, что в Категории панель Все выбрано. В результатах поиска вы должны увидеть 3Dview: BlenderGIS. Выберите, чтобы загрузить аддон.
            • Внизу окна настроек щелкните Сохранить настройки пользователя поэтому аддон сохраняется и автоматически загружается каждый раз, когда вы открываете блендер
            • Добавление новой предопределенной системы координат (CRS)

              Перед настройкой системы координат сцены Blender и настройкой проекции сцены вы должны знать систему координат (CRS) и идентификатор пространственной привязки (SRID) вашего проекта. Вы можете получить SRID с http://epsg.io/ или на веб-сайте пространственной привязки, используя свою CRS. В примерах наборов данных в этом упражнении используется NAD83 (HARN) / CRS Северной Каролины (SSRID EPSG: 3358).

              • На дополнительной панели BlenderGIS (в окнах настроек) выберите, чтобы развернуть 3D вид: BlenderGIS
              • На панели настроек найдите Системы пространственной привязки и нажмите на + Добавить кнопка
              • В окне добавления введите "3358" для определение и "NAD83 (HARN) / North Carolina" для Описание. Затем выберите Сохранить в настройках аддона
              • Выбирать хорошо и закройте окно настроек пользователя

              Узнать больше об управлении географической защитой в Blender

              Настройка системы координат сцены

              • Найдите и щелкните интерфейс надстройки GIS на левой панели инструментов 3D-просмотра. На панели «Geoscene» щелкните значок в форме шестеренки и переключитесь на NAD83 (HARN), нажмите «ОК».

              III. Импорт цифровой модели поверхности

              Растры можно импортировать и использовать по-разному. Вы можете импортировать их Как DEM использовать его как 3D-поверхность или как_Raw DEM_ для триангуляции или скина внутри Blender. Вы можете выбрать На сетке чтобы задрапировать их как текстуру на ваших 3D-сетках. В этом примере мы импортируем цифровую модель поверхности (DSM), полученную из набора данных точек данных Lidar, как трехмерную сетку, используя Как DEM метод. Примечание: Blender GIS импортирует как цифровую модель рельефа (DEM), так и цифровую модель поверхности (DSM) через Как DEM метод.

              • Перейти к файлИмпортироватьРастр с географической привязкой
              • В нижней левой части окна найдите Режим и выберите Как DEM
              • Задавать подразделение к Субсерфинг и выберите NAD83 (HARN) для географической привязки
              • Перейдите в папку "shop_material "и выберите" example1_dsm.tif "
              • Нажмите на Импорт георастера в правом верхнем углу заголовка
              • Если все шаги выполнены правильно, вы сможете увидеть местность в окне 3D вида.

              Редактор Python

              Подразделение и обработка поверхности

              Обычно, когда модели поверхности или высот импортируются в Blender, они субдискретизируются до подразделения по умолчанию, что приводит к сглаживанию деталей поверхности. Следующая процедура разделяет импортированную сетку на более мелкие грани для улучшения представления поверхности. На этом этапе мы увеличиваем количество единиц подразделения, чтобы получить более детальную поверхность.

              • Выберите модель поверхности (щелкните объект правой кнопкой мыши)
              • Перейти к 3D вид нижняя панель инструментов редактора ‣ Режим взаимодействия с объектамиРежим редактирования
              • Переключиться на Выбор лица
              • Если объект не оранжевого цвета (т. Е. Ничего не выделено), перейдите к Выбирать(Убрать выделение со всего (или нажмите A), чтобы выбрать все грани (когда грани объекта выбраны, они станут оранжевыми)
              • Перейти к Инструменты (левая панель инструментов) ‣ Инструменты сеткиПодразделить . Диалог разделения должен появиться в левом нижнем углу панели инструментов. Введите "4" на вкладке количества разрезов.
              • Перейти к 3D вид нижняя панель инструментов редактора ‣ Режим взаимодействия с объектамиОбъектный режим . В этот момент вы должны увидеть детали поверхности (нижний рисунок, правое изображение).

              Редактор Python

              IV. Импорт шейп-файла точки обзора

              На этом этапе мы импортируем местоположения точек обзора в виде шейп-файла точечных объектов. С помощью этих функций мы можем визуализировать местоположение наблюдателя, исходя из которого рассчитываются обзорные плоскости на цифровой поверхности. Аддон BlenderGIS может импортировать элементы формы с учетом их атрибутов. В этом примере "viewpoint.shp" имеет Высота и Имя атрибуты, которые мы будем использовать для присвоения высоты и уникального имени нашим точкам обзора.

              • Чтобы импортировать файл формы точки обзора:
                • Перейти к файлИмпортироватьШейп-файл
                • Просмотрите каталог данных мастерской, выберите vpoints.shp и нажмите на Импорт Шп . Диалог импорта формы должен появиться перед интерфейсом надстройки ГИС.
                • Активировать Высота от поля и на панели полей выберите высота
                • Активировать Отдельные объекты
                • Активировать Имя объекта из поля и на панели полей выберите Имя, вы должны увидеть 4 точки на поверхности и 4 объекта, добавленных в Outliner с именами Смотровая площадка_1, смотровая площадка_2, видовая_3, видовая_4
                • Выбирать хорошо

                Редактор Python

                Создание маркеров точек обзора

                Импортированные точки - это 2D-векторы, которые невозможно визуализировать, поскольку у них нет реальных поверхностей. Теперь мы создаем 4 маленьких сферы и сопоставляем их расположение с импортированными точками, чтобы визуализировать расположение наблюдателей в 3D.

                • Чтобы создать сферы в точке обзора:
                  • Перейти к 3D Viewport нижний заголовокДобавлятьСеткаУФ-сфера. В левой части панели инструментов откроется диалоговое окно «Добавить УФ-сферу». Установите для параметра Size значение 3.000.
                  • Выберите объект Sphere (щелкнув по нему в Outliner) и нажмите ctrl + c, ctrl + v, чтобы сделать копию объекта, вы должны увидеть Сфера.001 в наброске. Сделайте 3 копии сферы.
                  • В планировщике переименуйте объекты сферы в Сфера1, Сфера2,. , Сфера4. Вы можете сделать это, щелкнув имя объекта.
                  • Из Outliner выберите объект Просмотры_1
                  • Перейти к Редактор свойствОбъектПреобразоватьРасположение для получения координат точки обзора (X, Y, Z)
                  • Скопируйте и вставьте полученные координаты из Viewshed_1 в параметры местоположения для Sphere1
                  • Добавьте 2,0 дополнительных единицы к параметру Z (только для Расположение), чтобы поднять сферы над землей
                  • Повторите этот процесс для каждой видимости и каждой сферы.
                  • Теперь у вас должно быть 4 сферы, выровненных по импортированным точкам обзора.

                  Редактор Python

                  Создание 4 копий поверхности и сфер обзора

                  На этом этапе мы создаем 3 дополнительных копии модели поверхности и перемещаем каждую из сфер точки обзора на
                  соответствующая поверхность.

                  • Выберите объект DSM и нажмите ctrl + c, ctrl + v, чтобы сделать копию объекта, вы должны увидеть объект example1_dsm.001 в планировщике
                  • Выбрать объект example1_dsm001
                  • перейти к Редактор свойствОбъект (значок куба)
                  • в Преобразовать панель ‣ Дельта-преобразованиеИКС: тип 750 сдвинуть дублированную поверхность на 750 метров на восток
                  • Создайте еще одну копию DSM, установите -750 для параметра Y, чтобы переместить дублирующую поверхность на 750 метров к югу.
                  • Создайте еще одну копию DSM, введите 750 для параметра X и -750 в параметр Y. Окончательная модель должна выглядеть как фигура.
                  • Повторите ту же процедуру для 4 сфер (начиная со сферы 1), чтобы каждую из них переместить на одну из поверхностей.

                  Редактор Python

                  Теперь мы создадим смешанный материал, чтобы объединить ортофото и карты видимости. Мы будем использовать эмиссионные шейдеры, чтобы показать видимость как светящиеся поверхности. Для этого мы создали карты видимости в градациях серого с черным фоном, шейдер излучения назначает большую мощность излучения света более светлым пикселям.

                  • Убедитесь, что Механизм рендеринга установлен на Циклы и 3D-вид Затенение установлен на Материал
                  • Измените нижнюю панель редактора на Редактор узлов. Это можно сделать, просто изменив селектор «Тип редактора» (в нижней левой части окна).
                  • Выберите первый объект DSM "example_dsm1"
                  • Перейти к Вкладка "Свойства"Материал нажимать + Новый кнопка для добавления материала
                    • Переименуйте Материал в «Вид на вид1».
                    • Разверните Поверхность панели и щелкните значок серого квадрата справа от Поверхность параметр, чтобы увидеть всплывающее окно с параметрами текстуры. Выбирать Смешать шейдер . Вы должны увидеть два Шейдеры добавлен ниже шейдера смешивания.
                    • Щелкните переключатель справа от цвет поле ‣ текстураТекстура изображения
                    • Нажмите на Открыть и загрузите "viewshed_1_1.png". Вы должны увидеть видимость, задрапированную на поверхности DSM.
                    • Изменить Сила ползунок на 1,8, чтобы увеличить мощность излучения видимости
                    • Щелкните переключатель справа от цвет поле ‣ текстураТекстура изображения
                    • Нажмите на Открыть и загрузите "ortho.png". Вы должны увидеть видимость, задрапированную на поверхности DSM.

                    Теперь обратите внимание, как логика материалов и рабочий процесс представлены в редакторе узлов. Вы можете поиграть с каждым из отдельных узлов, связями между ними и значениями.

                    • Играть с Фак ползунок на Смешать шейдер узел регулировки уровня смеси
                    • Повторить процедуру затенения для остальных 3 объектов с помощью «Viewshed_2_1.png», «Viewshed_3_1.png», «Viewshed_4_1.png»
                      • Выберите объект Surface и перейдите к Вкладка "Свойства"Материал Нажмите на кнопку в форме водоворота (рядом с новым боттоном), чтобы просмотреть и загрузить материал «Вид на море 1». Сделайте новую копию материала, нажав цифровую кнопку слева от поля названия материала. Переименуйте новый материал в «Видовая площадка 2».
                      • Теперь либо в редакторе узлов, либо на вкладке «Материал» измените текстуру излучения на «viewshed_2_1.png».
                      • Повторите ту же процедуру для двух других поверхностей.

                      Редактор Python

                      Теперь выполните тот же рабочий процесс, чтобы закрасить сферы точек обзора, но на этот раз используйте только диффузный узел (Диффузный BSDF) a сплошным оранжевым цветом.

                      • Выберите первую сферу, создайте новый материал, используя Diffuse BSDF.
                      • Измените цвет поверхности на оранжевый
                      • Загрузите материал во все объекты сферы

                      Теперь давайте попробуем запустить всю процедуру с файлом python, используя Текстовый редактор и Консоль Python
                      ‣ графический интерфейс

                      • Из верхнего заголовка перейти файлНовый Открыть свежую копию Blender
                      • Сохраните файл блендера с желаемым именем в каталоге мастерской. Примечание: Это важный шаг, поскольку все ваши пути в коде Python связаны с этим каталогом.
                      • В верхнем заголовке найдите Макет (прямо рядом с помощь ) и переключите макет на Сценарии Макет сценария включает в себя: Текстовый редактор(слева), а Консоль Python (внизу) и 3D вид (верно)
                      • Порядок Текстовый редактор
                        • В Текстовый редакторОткрыть ‣ Перейдите в каталог мастерских и найдите example_a.py
                        • Нажмите на запустить скрипт
                        • введите в консоли следующие строки. Обратите внимание, что вам нужно ввести путь к мастерской на вашем компьютере в первой строке.

                        Консоль Python & gt & gt & gt

                        Редактор Python

                        Часть 3. 3D-моделирование в реальном времени и сопряжение

                        I. Введение в связь с модальным таймером

                        В этом разделе мы узнаем основы настройки простой связи для импорта и обработки геопространственных данных в реальном времени. Мы делаем это, настраивая систему мониторинга внутри блендера, которая постоянно ищет входящие команды (например, через сокеты), файлы (например, шейп-файл, растровые файлы и т. Д.) Или взаимодействие с пользователем (например, мышь, джойстик, клавиатура). . В Blender эта процедура выполняется через модуль, называемый Оператор модального таймера. Причина, по которой мы сосредоточены на этом конкретном модуле, заключается в том, что библиотеки обычного мониторинга, такие как Watchmode или Threading, плохо обрабатываются в Blender и часто приводят к сбоям. Эти модули мешают blender'у запускать несколько операторов одновременно и обновлять различные части интерфейса по мере работы инструмента.

                        Данные можно передавать локально или по сети, используя простое копирование файла или более продвинутые методы, такие как сокеты. В качестве примера в следующем видео показано соединение в реальном времени с GRASS GIS. Сам GrassGIS работает в паре с Kinect для сканирования изменений высоты и цвета физической модели. Когда пользователь взаимодействует с физической моделью, GRASS GIS запускает различные симуляции и экспортирует их в виде растров и форм в системный каталог. В блендере Модальный таймер постоянно отслеживает каталог для обновления модели на основе входящих типов данных. К ним относятся поверхность ландшафта (Geotiff), моделирование водоемов (3D-полигон), участки растительного покрова (3D-полигон), расположение камеры (3D-полилиния), тропа (3D-полилиния).

                        Давайте взглянем на компоненты и функции модуля в следующем примере.

                        Запустите скрипт, загруженный в текстовый редактор

                        Выберите объект «Обезьяна» и переместите его. Вы увидите, что при перемещении объекта одновременно выполняются три операции: 1) значения RGB меняются, 2) текстовый объект изменяется, чтобы показать обновленные значения RGB, 3) и текстовый объект таймера изменяется, чтобы показать прошедшее время. в секундах.

                        Отмените модальный режим, нажав клавишу «Esc».

                        Взгляните на закомментированный код, чтобы проверить компоненты модулей и их функциональность.

                        II. Связь с данными ГИС

                        В этом примере мы используем модальный таймер для мониторинга системного каталога. мастерская_материалов В папке вы увидите две папки с названиями «Watch» и «scratch». Рабочая папка содержит 45 шейп-файлов и 45 изображений. Шейп-файлы представляют собой точки обзора на пути, а текстуры представляют собой видовые площадки, смоделированные из этих мест. Видовые навесы сочетаются с наземным покровом, чтобы показать структуру землепользования видимой поверхности. С помощью скрипта python мы настраиваем модальный таймер, чтобы постоянно искать файлы для импорта и обработки. Чтобы имитировать геопространственное моделирование, мы устанавливаем второй модальный таймер, который копирует геопространственные данные из папки Scratch в папку Watch (см. Схему выше). Скрипт python состоит из следующих классов python.

                        1. адаптировать Класс обрабатывает входящие файлы и объекты сцены. В частности, он выполняет следующие операции.

                        • Импортирует карту видимости
                        • Заменяет текстуру излучения DSM объект с импортированной картой
                        • Импортирует файл формы точки обзора
                        • Выравнивает положение маркера видимости (Тор объект) с местоположением импортированной точки обзора.

                        2. Модальный таймер Смотрит в Смотреть каталог, определяет тип входящего файла, отправляет их в класс адаптации и, наконец, удаляет файл из папки просмотра.
                        3. Modal_copy действует как суррогат для вашего программного обеспечения ГИС и копирует файлы текстур и форм точек из папки Scratch в папку Watch, чтобы имитировать условия, при которых ваше приложение ГИС автоматически отправляет файлы по сети или локально. 4. Панель небольшой виджет с кнопками для запуска модулей (2 и 3)

                        • Перейдите в файл ‣ настройки ‣ дополнения ‣ BlenderGIS ‣ панель импорта / экспорта.
                        • Отменить выбор Настроить 3D-вид и Принудительное текстурированное сплошное затенение.
                        • Теперь запустите скрипт, загруженный в Текстовый редактор
                        • Скрипты добавляют новую панель на панели инструментов 3D вида (слева) с двумя кнопками, Режим просмотра и Копировать файлы
                        • Первое нажатие Режим просмотра а затем нажмите Копировать файлы
                        • Вы должны увидеть, как карты видимости и объект местоположения наблюдателя обновляются по пути.

                        Часть 4. Опубликуйте свою работу в Интернете с помощью Blend4Web.

                        Blend4Web - это мощный инструмент для простой публикации и обмена вашими данными в Интернете внутри блендера. Специально для тех, кто не занимается программированием, надстройка представляет собой удобный инструмент для создания сложных интерактивных моделей. Чтобы ознакомиться с функциями Blend4Web, посмотрите следующие приложения, представленные в библиотеке примеров Blend4Web.
                        Эверест
                        Низкополигональный рендеринг

                        Пример . Изоповерхности

                        В этом примере мы используем аддон Blend4Web для экспорта 3D-модели в онлайн. Образцы данных заимствованы из проекта, ориентированного на визуализацию пространственно-временных моделей поведения пешеходов с использованием данных, собранных с общедоступных веб-камер. Данные визуализируются с помощью Isosurface, созданного в Paraview. Форма изоповерхности показывает пространственно-временную эволюцию плотности пешеходов. Ось времени представлена ​​как цветовая шкала, наложенная на изоповерхность.

                        I. Настройка надстройки Blend4Web

                        • Из мастерская_материалы каталог найти и открыть isosurface.blend
                        • Установить Blend4Web добавить
                          • Перейти к ФайлПредпочтениядополненияустановить из файла
                          • Из мастерская_материалов каталог найдите и выберите blend4web_addon_17_06.zip
                          • Убедитесь, что надстройка настроена и выбрана
                          • Нажмите сохранить пользовательские настройки и закройте окно настроек

                          II. Экспорт сцены блендера в веб-формат

                          Чтобы экспортировать сцену блендера как .html используя графический интерфейс

                          • Перейти к ФайлЭкспортBlend4Web (.html)
                          • Назовите свой файл и нажмите B4W Экспорт HTML кнопка
                          • Дважды щелкните файл html, чтобы открыть его в браузере.

                          Чтобы экспортировать сцену блендера как .html используя редактор

                          Эта работа основана на большом вкладе и поддержке команды Blender, разработчиков надстроек Blender GIS (domlysz / BlenderGIS), Центра геопространственной аналитики, лаборатории Geoforall штата Северная Каролина и Гарретта Миллара.


                          Есть несколько организаций, которые предоставляют данные о высоте. В качестве примера давайте загрузим файл DEM горы Сент-Хеленс до или после ее извержения в 80-х годах прошлого века. Эти файлы находятся в общественном достоянии и распространяются Геологической службой США.

                          Разархивируйте файл и переименуйте его в mtsthelens.dem следующим образом:

                          Обычно файлы DEM имеют большое разрешение, и Gazebo не может с этим справиться, поэтому рекомендуется настроить разрешение вашей DEM. Следующая команда масштабирует ландшафт до 129x129 и копирует в каталог Gazebo media / dem /.

                          Файл DEM в Gazebo загружается так же, как вы загружаете изображение карты высот. Gazebo автоматически определяет, является ли файл простым изображением или файлом DEM. Создайте файл volcano.world и скопируйте следующий контент. Сохраните файл в любом месте, например, в / tmp.

                          Элемент & ltheightmap & gt & ltsize & gt в приведенном выше коде сообщает Gazebo, следует ли загружать матрицу высот с исходными размерами (когда & ltsize & gt нет) или масштабировать ее (когда присутствует & ltsize & gt). Если вы предпочитаете масштабировать матрицу высот, элемент & ltsize & gt сообщает Gazebo размер в метрах, который будет иметь местность при моделировании. Если вы хотите сохранить правильное соотношение сторон, обязательно правильно рассчитайте его размер во всех трех измерениях. В нашем примере матрица высот будет масштабирована до квадрата 150 x 150 метров и высотой 50 метров. Минимальная высота для этого конкретного файла DEM составляет 685 метров, поэтому в элементе & ltpos & gt мы переводим всю матрицу высот в отрицательном направлении z так, чтобы она находилась в точке z = 0 в мире.

                          Запустите Gazebo с миром, содержащим ваш файл DEM, и вы должны увидеть вулкан. В нашем случае файл находится в каталоге / tmp.

                          Попробуйте сделать то же самое с файлом DEM для горы Сент-Хеленс после извержения. Вы должны получить карту высот в Gazebo, подобную изображению ниже:


                          Пакеты RPM QGIS 2.10 для Fedora 21, Centos 7, Scientific Linux 7

                          Благодаря работе Фолькера Фрёлиха и других упаковщиков Fedora / EPEL мне удалось создать Пакеты RPM QGIS 2.10 Pisa для Fedora 21, Centos 7 и Scientific Linux 7 с использованием великолепной платформы COPR.

                          Следующие пакеты теперь можно установить и протестировать на эпель-7-x86_64 (Centos 7, Scientific Linux 7 и т. д.) и Fedora-21-x86_64:

                          • qgis 2.10.1
                          • qgis-debuginfo 2.10.1
                          • qgis-devel 2.10.1
                          • qgis-grass 2.10.1
                          • qgis-python 2.10.1
                          • qgis-сервер 2.10.1

                          Инструкции по установке (запустите от имени пользователя & # 8220root & # 8221 или используйте & # 8220sudo & # 8221):


                          Переименуйте файлы las с помощью Python - географические информационные системы

                          Цифровая модель рельефа (ЦМР) - это трехмерное представление поверхности местности, которое не включает в себя какие-либо объекты, такие как здания или растительность. ЦМР часто создаются с использованием комбинации датчиков, таких как лидар, радар или камеры. Высота местности для наземных позиций выбирается через регулярные интервалы по горизонтали. Википедия - хороший ресурс для получения более подробной информации о ЦМР.

                          Термин DEM - это просто общее обозначение, а не конкретный формат. Фактически, ЦМР могут быть представлены в виде сетки высот (растр) или в виде векторной треугольной нерегулярной сети (TIN). В настоящее время Gazebo поддерживает только растровые данные в поддерживаемых форматах, доступных в GDAL.

                          Основная мотивация для поддержки ЦМР в Gazebo - это возможность имитировать реалистичную местность. Спасательные или сельскохозяйственные приложения могут быть заинтересованы в тестировании поведения своих роботов на смоделированной местности, которая соответствует реальному миру.

                          Принесите поддержку DEM в Gazebo

                          Для работы с файлами DEM необходимо установить библиотеки GDAL.

                          Файл DEM и определение в формате SDF

                          Есть несколько организаций, которые предоставляют данные о высоте. В качестве примера давайте загрузим файл DEM горы Сент-Хеленс до или после ее извержения в 80-х годах. Эти файлы находятся в общественном достоянии и распространяются Геологической службой США.

                          Разархивируйте файл и переименуйте его в mtsthelens.dem следующим образом:

                          Обычно файлы DEM имеют большое разрешение, и Gazebo не может с этим справиться, поэтому рекомендуется настроить разрешение вашей матрицы высот. Следующая команда масштабирует ландшафт до 129x129 и копирует в каталог Gazebo media / dem /.

                          Файл DEM в Gazebo загружается так же, как вы загружаете изображение карты высот. Gazebo автоматически определяет, является ли файл простым изображением или файлом DEM. Создайте файл volcano.world и скопируйте следующий контент. Сохраните файл в любом месте, например, в / tmp.

                          Элемент & ltheightmap & gt & ltsize & gt в приведенном выше коде сообщает Gazebo, следует ли загружать матрицу высот с исходными размерами (когда & ltsize & gt нет) или масштабировать ее (когда присутствует & ltsize & gt). Если вы предпочитаете масштабировать матрицу высот, элемент & ltsize & gt сообщает Gazebo размер в метрах, который будет иметь местность при моделировании. Если вы хотите сохранить правильное соотношение сторон, обязательно правильно рассчитайте его размер во всех трех измерениях. В нашем примере матрица высот будет масштабирована до квадрата 150 x 150 метров и высотой 50 метров. Минимальная высота для этого конкретного файла DEM составляет 685 метров, поэтому в элементе & ltpos & gt мы переводим всю матрицу высот в отрицательном направлении z так, чтобы она находилась в точке z = 0 в мире.

                          Запустите Gazebo с миром, содержащим ваш файл DEM, и вы должны увидеть вулкан. В нашем случае файл находится в каталоге / tmp.

                          Попробуйте сделать то же самое с файлом DEM для горы Сент-Хеленс после извержения. Вы должны получить карту высот в Gazebo, подобную изображению ниже:

                          Как мне получить файл DEM для интересующей меня области?

                          Далее мы собираемся описать один метод получения файла DEM для конкретной области интереса.

                          Global Land Cover Facility поддерживает цифровую топографическую базу данных Земли с высоким разрешением. Перейдите в его инструмент поиска и предварительного просмотра, и вы увидите что-то похожее на изображение ниже. У каждого участка ландшафта есть уникальный путь и ряд, которые вы должны знать перед использованием инструмента. Мы будем использовать QGIS, чтобы обнаружить путь / строку в интересующей нас области.

                          QGIS - это кроссплатформенная программа географической информационной системы с открытым исходным кодом, которая обеспечивает возможности просмотра, редактирования и анализа данных. Загрузите QGIS, следуя инструкциям на веб-сайте QGIS.

                          Откройте QGIS, щелкните значок в левом столбце с надписью WMS / WMTS layer, щелкните Добавить серверы по умолчанию, выберите сервер Lizardtech, а затем нажмите кнопку подключения. Выберите значение MODIS и нажмите Добавить. Закройте всплывающее окно. Следующим шагом будет добавление еще одного слоя со всеми доступными патчами. Загрузите этот шейп-файл и распакуйте его в любую папку. Вернитесь в QGIS и нажмите Добавить векторный слой (значок в левом столбце). Нажмите «Обзор» и выберите ранее несжатый файл wrs2_descending.shp. В открывшемся окне нажмите Открыть. Теперь вы увидите оба слоя в главном окне. Давайте изменим прозрачность слоя wrs2_descending, чтобы можно было видеть оба слоя одновременно. Дважды щелкните слой wrs2_descending, а затем измените его значение прозрачности примерно на 85%.

                          Используйте прокрутку и кнопку влево, чтобы перейти к интересующему вас региону. Затем щелкните значок с надписью «Определить функции» на верхней панели. Нажмите на интересующий вас регион, и все участки местности вокруг него будут выделены. Новое всплывающее окно покажет значения пути / строки для каждого выделенного патча. На изображении ниже вы можете увидеть путь и ряд участка DEM, на котором изображен Лас-Пальмас, одно из райских мест Канарских островов в Испании.

                          Вернитесь в браузер с помощью инструмента поиска GLCF и запишите значения пути / строки в столбцы, помеченные как Start Path и Start Row. Затем нажмите «Отправить запрос», нажмите «Предварительный просмотр» и «Загрузить», чтобы увидеть результаты. Выберите файл ландшафта и нажмите Загрузить. Наконец, выберите файл с расширением .gz и распакуйте его в свою любимую папку. Файлы Global Land Cover Facility имеют формат GeoTiff, один из наиболее распространенных доступных форматов файлов DEM.

                          Подготовка данных DEM для использования в Gazebo

                          Данные матрицы высот обычно создаются с очень высоким разрешением. Использовать gdalwarp чтобы уменьшить разрешение ландшафта до более приемлемого размера перед использованием его в беседке.

                          Данные матрицы высот часто содержат «дыры» или «пустоты». Эти разделы соответствуют областям, в которых невозможно было собрать данные во время создания DEM. В случае «дыры» в данных дыре будет присвоено минимальное или максимальное значение типа данных, который используется в этой матрице высот.

                          Всегда старайтесь загружать «готовые» версии наборов данных DEM, в которых пробелы уже заполнены.Если рельеф вашей матрицы высот содержит дыры (также известные как значения NODATA), попробуйте вручную исправить их с помощью инструментов gdal, таких как gdal_fillnodata.py.

                          Работа с несколькими ЦМР в беседке

                          Хотя Gazebo напрямую не поддерживает несколько DEM, в GDAL есть набор утилит для объединения набора DEM в одну. Первым шагом является загрузка набора DEM, которые вы хотите объединить. Обратите внимание, что патчи могут даже перекрываться друг с другом. GDAL объединит их без проблем. Предполагая, что ваш текущий каталог содержит набор файлов Geotiff, готовых к слиянию, выполните следующую команду.