As especificações dos formatos de dados ArcGIS * .lyr e * .mxd são publicadas?


Respostas:


26

Eles não são publicados, e você provavelmente não deve fazer engenharia reversa e ainda espera cookies gratuitos na ESRI UC, mas são basicamente arquivos no formato OLE2 Compound Document, como documentos do MS Word e Excel. Com uma boa ferramenta para abri-los (por exemplo, http://www.gemboxsoftware.com/CompoundFile.htm ), você pode acessar a parte de hackers rapidamente. Com um olhar atento e um pouco de conhecimento do modelo de objetos do ArcObjects, você estará lendo dados interessantes rapidamente. Eu até ouvi rumores de pessoas criando arquivos LYR do zero usando código não ESRI.


1
Suponho que você possa fazer isso com um grande esforço, mas, ainda assim, consideraria essa implementação muito frágil pelas razões mencionadas na minha resposta.
Petr Krebs

@petr uma implementação de engenharia reversa é estável em correlação direta com as necessidades dos fornecedores para manter a compatibilidade com versões anteriores.
214108 #

Bom argumento, Matt. Enquanto as extensões personalizadas o impedem de uma implementação verdadeiramente completa, geralmente descobrir fontes de dados e opções simples de renderização é suficiente para fazer o que você deseja fazer. O formato não muda rapidamente pelos motivos de Matt.
Sebastian Good


3

Não é e acho que, por natureza, não pode ser, pois um .mxd é essencialmente composto por ArcObjects (barras de ferramentas, mapas, camadas, renderizadores, símbolos etc.) serializados pelo mecanismo IPersistStream padrão.

Com o ecossistema aberto do ArcObjects, onde um mapa pode conter muitos componentes personalizados, cada um com sua própria serialização, sem mencionar as alterações nos dados serializados entre as versões dos componentes, infelizmente não consigo imaginar como isso seria possível.


-3

se você alterar a extensão .lyr para .zip ou .7z e abrir com 7Zip (testado na versão 9.20), poderá encontrar 3 arquivos: - Camada - LayerLargeImage (basta adicionar .bmp para vê-la) - LayerSmallImage (basta adicionar. bmp para vê-lo)

Não faço ideia de como abrir o arquivo "Camada", mas uma etapa está concluída.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.