Опубликованы ли спецификации формата данных ArcGIS * .lyr и * .mxd?


15

Опубликованы ли двоичные форматы файлов * .lyr и * .mxd?


возможно сделайте это двумя частями (или спросите другого): есть ли какие-либо проекты, работающие, чтобы перепроектировать форматы?
Мэтт Уилки

Ответы:


26

Они не публикуются, и вы, вероятно, не должны их перепроектировать и все еще ожидаете бесплатных файлов cookie в ESRI UC, но в основном это файлы формата составного документа OLE2, такие как документы MS Word и Excel. С хорошим инструментом для взлома их (например, http://www.gemboxsoftware.com/CompoundFile.htm ) вы можете довольно быстро добраться до хакерской части. Зорким взглядом и небольшим знанием объектной модели ArcObjects вы будете читать интересные данные в кратчайшие сроки. Я даже слышал слухи о том, что люди создают файлы LYR с нуля, используя не-ESRI-код.


1
Я полагаю, что вы могли бы сделать это с огромными усилиями, но, тем не менее, я бы счел такую ​​реализацию очень хрупкой по причинам, указанным в моем ответе.
Петр Кребс

@petr реализация с обратной инженерией стабильна в прямой зависимости от потребностей поставщиков для обеспечения обратной совместимости.
Мэтт Вилки

Хороший вопрос, Мэтт. В то время как пользовательские расширения не позволят вам реализовать действительно законченную реализацию, обычно для определения того, что вы хотите сделать, достаточно определить источники данных и простые параметры рендеринга. Формат не меняется быстро по причинам Мэтта.
Себастьян Гуд


3

Это не так, и я предполагаю, что по натуре этого не может быть, поскольку .mxd по существу состоит из ArcObjects (панелей инструментов, карт, слоев, средств визуализации, символов и т. Д.), Сериализованных через стандартный механизм IPersistStream.

С открытой экосистемой ArcObjects, где карта может содержать множество пользовательских компонентов, каждый из которых имеет свою собственную сериализацию, не говоря уже об изменениях в сериализованных данных между версиями компонентов, я не могу себе представить, как это возможно, к сожалению.


-3

если вы измените расширение .lyr на .zip или .7z и откроете его с помощью 7Zip (протестировано с версией 9.20), вы можете найти 3 файла: - Layer - LayerLargeImage (просто добавьте .bmp, чтобы увидеть его) - LayerSmallImage (просто добавьте. BMP, чтобы увидеть это)

Не знаю, как открыть файл «Слой», но шаг сделан.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.