Werden ArcGIS * .lyr- und * .mxd-Datenformatspezifikationen veröffentlicht?

15

Werden die Binärformate von * .lyr- und * .mxd-Dateien veröffentlicht?

Scott Wisniewski
quelle
Vielleicht machen Sie diese beiden Teile (oder fragen Sie einen anderen): Gibt es Projekte, die daran arbeiten, die Formate rückzuentwickeln?
Matt Wilkie

Antworten:

26

Sie werden nicht veröffentlicht, und Sie sollten sie wahrscheinlich nicht zurückentwickeln und dennoch kostenlose Cookies an der ESRI UC erwarten, aber es handelt sich im Grunde genommen um Dateien im OLE2-Verbunddokumentformat, wie MS Word- und Excel-Dokumente. Mit einem nützlichen Tool zum Öffnen der Dateien (zB http://www.gemboxsoftware.com/CompoundFile.htm ) können Sie schnell zum Hacking-Teil gelangen. Mit einem scharfen Auge und ein wenig Wissen über das ArcObjects-Objektmodell werden Sie in kürzester Zeit interessante Daten lesen. Ich habe sogar Gerüchte über Leute gehört, die LYR-Dateien mit Nicht-ESRI-Code von Grund auf neu erstellt haben.

Sebastian Gut
quelle
1
Ich nehme an, Sie könnten dies mit großem Aufwand tun, aber dennoch würde ich eine solche Implementierung aus den in meiner Antwort genannten Gründen als sehr fragil betrachten.
Petr Krebs
@petr eine Reverse Engineered-Implementierung ist in direkter Korrelation zu den Anforderungen der Anbieter stabil, um die Abwärtskompatibilität aufrechtzuerhalten.
Matt Wilkie
Guter Punkt, Matt. Während benutzerdefinierte Erweiterungen Sie von einer wirklich vollständigen Implementierung abhalten, reicht es in der Regel aus, Datenquellen und einfache Renderoptionen zu ermitteln, um das zu tun, was Sie tun möchten. Das Format ändert sich aus Matts Gründen nicht schnell.
Sebastian Good
17

Die Antwort ist nein.

JasonBirch
quelle
4
Es wäre kürzer gewesen, müsste aber mindestens 15 Zeichen
eingeben
3

Dies ist nicht der Fall, und ich vermute, dass dies nicht der Fall sein kann, da eine .mxd-Datei im Wesentlichen aus ArcObjects (Symbolleisten, Karten, Ebenen, Renderern, Symbolen usw.) besteht, die über den standardmäßigen IPersistStream-Mechanismus serialisiert wurden.

Mit dem offenen ArcObjects-Ökosystem, in dem eine Karte viele benutzerdefinierte Komponenten mit jeweils eigener Serialisierung enthalten kann, ganz zu schweigen von Änderungen in den serialisierten Daten zwischen Komponentenversionen, kann ich mir leider nicht vorstellen, wie dies möglich wäre.

Petr Krebs
quelle
-3

Wenn Sie die Erweiterung .lyr in .zip oder .7z ändern und sie mit 7Zip öffnen (getestet mit Version 9.20), finden Sie möglicherweise 3 Dateien: - Layer - LayerLargeImage (fügen Sie einfach .bmp hinzu, um es zu sehen) - LayerSmallImage (fügen Sie einfach hinzu. bmp um es zu sehen)

Keine Ahnung, wie man die "Layer" -Datei öffnet, aber ein Schritt ist getan.

ZarcoDarkson
quelle