Создание выпуклой оболочки в ArcGIS Desktop?


15

Я хотел бы иметь возможность создавать выпуклую оболочку в ArcGIS Desktop 9.x, но я не могу найти подходящий инструмент.

Как можно создать его?

Меня интересуют ответы на все уровни лицензии: ArcView, ArcEditor и ArcInfo.


1
В инструментах геообработки qgis 1.7.4 есть опция выпуклой оболочки, которая, по-видимому, делает то же самое, что и инструмент в Arcgis 10 с опциями выпуклой оболочки и группы

Ответы:


5

Я использовал инструменты Хота «Создание минимальных выпуклых многоугольников» в меню «Движения животных». Вы можете использовать выбор объектов в ArcMap.


Ницца. Это, кажется, наиболее широко применимый ответ. Вот ссылка на описание этого инструмента: spatialecology.com/htools/createmcp.php
Чарльз Ропер

Я нашел это только для точечных особенностей. Если у вас есть многоугольник или линия, то это не удастся.
SIslam

14

В версии 10 появился инструмент геообработки Minimum Bounding Geometry (Data Management) , который:

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

Тем не мение:

Параметры «Тип геометрии» (geometry_type) CONVEX_HULL , CIRCLE и ENVELOPE доступны только с лицензией ArcInfo.


1
Вау, новый инструмент Minimum Bounding Geometry выглядит превосходно. К сожалению, CONVEX_HULL, CIRCLE и ENVELOPE доступны только с лицензией ArcInfo. Дополнительная информация: help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//…
Чарльз Ропер

5
в версии 10 см. resources.arcgis.com/gallery/file/geoprocessing/…, которая производит все независимо от уровня лицензии

@DanPatterson Недавняя очистка сайта Esri сломала вашу ссылку - вы знаете новый URL? Как назывался инструмент / скрипт?
Стивен Лид

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


3

Старый вопрос, но, поскольку при поиске «arcgis выпуклого корпуса» он выглядит довольно высоким, подумал, что я бы добавил образец геообработки Create Convex Hulls .

При этом используется метод Convexhull () с геометрией (требуется 10.1 или выше, протестировано в 10.2). Прекрасно работает в ArcGIS basic, код в наборе инструментов (python) также является хорошим справочным материалом для использования этого метода в других местах.


2

В ArcGIS вы используете инструмент Минимальная ограничивающая геометрия в ArcToolBox

Минимальная ограничивающая геометрия или многоугольник корпуса

это здесь для вас: https://www.youtube.com/watch?v=7CkbEbmz08w


1

Этот старый arcscript, который работал хорошо http://arcscripts.esri.com/details.asp?dbid=12084 (игнорируйте ошибку размера файла 0k для arcscripts, это 359kb) создает выпуклую оболочку набора точек или или выпуклую оболочку ( минимальная ограничительная рамка) из набора точек

Примечание: использует VBA, но работает в arcview, arceditor arc / info.


1

Поскольку принятый ответ на этот вопрос относится к инструментам Hawth, которые в настоящее время заменены, я решил опубликовать этот преемник, Geospatial Modeling Environment .

Команда genmcp (Generate Minimum Convex Polygons) выполнит эту работу. Инструмент принимает точечный ввод и необязательный уникальный идентификатор и выводит полигоны. Предложение where может быть указано для идентификации подмножества входных объектов.

NB, GME имеет некоторые зависимости : ArcGIS и R наиболее важны.


1

Начиная с ArcGIS 10 , arcpy.geometryкласс имеет свойство только для чтения, hullRectangleкоторое будет возвращать разделенную пробелами строку координатных пар прямоугольника выпуклой оболочки.

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

g = [f for f in arcpy.da.SearchCursor("CityStreets","SHAPE@","OBJECTID=47")][0][0]
c = g.hullRectangle

Выход:

u'1592326,2415 7543305,0318 1592303,39647295 7543680,88044691 1594546,11624981 7543817,19860157 1594568,96127687 7543441,34995466'

Начиная с ArcGIS 10.1 , существует метод convexHull()прямого возврата геометрического объекта:

g = [f for f in arcpy.da.SearchCursor("CityStreets","SHAPE@","OBJECTID=47")][0][0]
c = g.convexHull()
arcpy.CopyFeatures_management(c,'outhull')

Пример выпуклой оболочки для ломаной линии:

введите описание изображения здесь

Ссылочные ссылки:

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.