Как получить конверт всех объектов в классе объектов в ArcMap?

10

Я хотел бы получить единый конверт всех функций в классе объектов. Есть ли способ сделать это в ArcMap?

steenhulthin
источник
1
Когда я читаю ответы, я понимаю, что мой вопрос не был достаточно конкретным. Я искал инструмент, чтобы найти конверт в ArcMap GUI. Ответ Свингли выполняет именно это за один шаг. Однако я использую ArcMap 9.3.1, у которого нет этого инструмента, но ответ gkh выполняет это в два шага в ArcMap 9.3.1 (я думаю, 9.x). Ответы Swingley и gkh требуют лицензии INFO. Я тоже этого не уточнил, но в моем случае это нормально.
steenhulthin

Ответы:

6

Ознакомьтесь с инструментом Minimum Bounding Geometry . Укажите «ВСЕ» для опции группы, чтобы получить одну функцию, представляющую конверт ваших функций.

Дерек Суингли
источник
5

FeatureClass поддерживает интерфейс IGeoDataset, который имеет свойство Extent, содержащее IEnvelope, используемый всеми функциями

ура Брайан

bFlood
источник
1
Привет Брайан - С 10.0 я вижу странное поведение с Zoom to Layer (он слишком велик). Я думаю, что Zoom для слоя использует IGeoDataset.Extent, но не уверен. Проблема возникает после того, как я программно добавляю объекты в пустой шейп-файл. Я решил проблему, вызвав IFeatureClassManage.UpdateExtent после добавления функций.
Кирк Куйкендалл
эй кирк - я не могу точно сказать, что происходит, но я предполагаю, что он может использовать всю степень пространственной привязки, пока у нее не будет геометрии. или, может быть, они сделали вызов UpdateExtent (или его функциональный эквивалент) ручным процессом (по соображениям производительности?), который знает, что 10.0 заполнен ошибками. отличная функциональность, но много проблем ...
bFlood
2

Если вы хотите использовать модуль Python arcgisscripting в 9.3x:

import arcgisscripting

gp = arcgisscripting.create(9.3)

fc = "C:/workshop/exercises/exercise1/data/stlouis_cities_geog.shp"

fcDesc = gp.describe(fc)

shpExtent = fcDesc.extent
print("Bounding Box: " + str(shpExtent.XMin) + "," + str(shpExtent.YMin) + "," +  str(shpExtent.XMax) + "," + str(shpExtent.YMax))

del fc, gp
DavidF
источник
1

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

GKH
источник
0

Грубый взлом: в свойствах вашего Dataframe, вкладка Data Frame, Extent, используемая командой Full Extent - перейдите в Other | Specify Extent, выберите Outline of Features и интересующий FC. OK из всех диалогов, вернитесь к Specify Extent, и теперь экстент вашего FC должен быть таким, как показано в полях Custom Extent в верхнем, правом, нижнем и левом полях. Мы делаем это, чтобы установить настраиваемый полный экстент в картографических сервисах ArcGIS Server, но он должен дать вам желаемый экстент FC.

Чед Купер
источник