Вычислить ширину многоугольника в ArcGIS Desktop?

10

Легко ли рассчитать ширину многоугольника с помощью ArcGIS 9.3.1 или 10?

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

Тед кишин
источник
1
В случае, если кто-то другой ищет ответ несколько лет спустя: gis.stackexchange.com/a/181801/10919
Том

Ответы:

6

Ширина многоугольника может быть получена с помощью ограничивающего прямоугольника минимальной площади. Эта ссылка ... ограничивающие контейнеры ... предоставляет одно решение. Рассчитайте это как минимум «длины» и «ширины» прямоугольника. Он доступен на всех уровнях лицензии для ArcMap (обновлено до января 2016 года)

Whuber
источник
Этому ответу 5 лет. Были ли какие-либо обновления в ArcGIS или каких-либо других способах сделать это с момента публикации этого ответа?
Дассоуки
1
@Dassouki Дэн Паттерсон (который писал в других разделах этой ветки) годами кодировал подобные решения. Он - первое место, куда я бы отправился искать обновления и новые решения в ArcGIS.
whuber
@whuber обновил ссылку ... спасибо за
1

Это только частичный ответ на ваш вопрос, но это может быть указатель в правильном направлении. Чтобы уточнить, это найдет ширину огибающей многоугольника в самой широкой точке. Добавьте атрибут с типом поля double к вашей функции. Откройте калькулятор поля, затем нажмите «Дополнительно». Вставьте этот код в блок кода и установите поле, которое вы создали, равным Ouput

Dim Output As Double
Dim pPoly as IPolygon
Set pPoly = [Shape]
Dim pEnve as IEnvelope
Set pEnve = pPoly.Envelope
Output = pEnve.Width

Работает в 9.3.1. Первоначально опубликовано здесь .

Zachary
источник
Кажется, это ширина конверта: это не то, о чем спрашивает ОП.
whuber
Я отредактировал свой ответ, чтобы уточнить это, спасибо за указание на это. В первоначальном вопросе говорилось, что он не должен быть точным, поэтому ширина конверта может быть достаточной.
Захари
1
Ширина конверта настолько же неточна, насколько это возможно, к сожалению. Например, когда объект выровнен по ширине в вертикальном направлении, «ширина» конверта фактически оценивает длину объекта . Ваша идея использовать ширину конверта была использована в коде, который систематически поворачивает объект при поиске минимальной ширины конверта: во многих случаях это имеет законное основание для обоснованной оценки ширины. Я считаю, что Дэн Паттерсон имеет такой вклад в ArcScripts.
whuber