Como obter o envelope de todos os recursos em uma classe de recursos no ArcMap?

10

Gostaria de obter um único envelope de todos os recursos em uma classe de recursos. Existe alguma maneira de fazer isso no ArcMap?

steenhulthin
fonte
1
Quando leio as respostas, percebo que minha pergunta não foi específica o suficiente. Eu estava procurando por uma ferramenta para encontrar o envelope na GUI do ArcMap. A resposta de Swingley realiza exatamente isso em uma única etapa. No entanto, estou usando o ArcMap 9.3.1, que não possui essa ferramenta, mas a resposta do gkh realiza isso em duas etapas no ArcMap 9.3.1 (acho que 9.x). As respostas de Swingley e gkh requerem uma licença INFO. Também não especifiquei isso, mas no meu caso está tudo bem.
steenhulthin

Respostas:

6

Confira a ferramenta Geometria mínima de delimitação . Especifique a opção "TODOS" para o grupo para obter um único recurso representando o envelope dos seus recursos.

Derek Swingley
fonte
5

FeatureClass suporta a interface IGeoDataset, que possui uma propriedade Extent que contém o IEnvelope usado por todos os recursos

brian brian

bFlood
fonte
1
Oi Brian - Com a versão 10.0, estou vendo um comportamento estranho com o zoom na camada (diminui muito o tamanho). Acho Zoom para camada usa IGeoDataset.Extent, mas não tenho certeza. O problema ocorre depois que adiciono recursos programaticamente a um shapefile vazio. Resolvi o problema chamando IFeatureClassManage.UpdateExtent depois de adicionar recursos.
Kirk Kuykendall
hey kirk - não posso dizer definitivamente o que está acontecendo, mas acho que ele pode usar toda a extensão da referência espacial até que ela tenha geometria. ou talvez eles tenham feito a chamada UpdateExtent (ou seu equivalente funcional) um processo manual (por razões de desempenho ??) que sabe, 10.0 está cheio de bugs. grande funcionalidade, mas muitas questões ...
bFlood
2

Se você deseja usar o módulo Python em arcgisscripting na 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
fonte
1

Na 9.3, você pode usar a ferramenta Envelope de recursos para polígono. Pode ser necessário dissolver a saída em um recurso de várias partes e executar a ferramenta Envelope novamente.

gkh
fonte
0

Um truque grosseiro: nas propriedades Dataframe, guia Quadro de dados, Extensão usada por comando de extensão total - Vá para Outro | Especifique extensão, selecione Estrutura de recursos e FC de interesse. OK em todas as caixas de diálogo, volte para Specify Extent e a extensão do seu FC deve agora ser a exibida nos campos superior, direito, inferior, esquerdo da extensão personalizada. Fazemos isso para definir a extensão completa personalizada nos serviços de mapa do ArcGIS Server, mas deve obter a extensão do FC que você deseja.

Chad Cooper
fonte