Apakah ada cara dengan ArcPy untuk mengidentifikasi versi Dokumen Peta (MXD). Saya sedang mengerjakan solusi untuk menginventarisir MXD kami dan ingin tahu apakah suatu dokumen 8.1, 9.2, 10.0, dll.
Saya saat ini menggunakan ArcGIS 10.0, tetapi jika ada pembaruan di 10.1 yang tidak ada di 10.0, saya akan sangat senang mendengarnya juga.
Saya melihat ada pertanyaan sebelumnya tentang Bagaimana Anda dapat menemukan versi ArcGIS secara terprogram? , tetapi referensi semua solusi ArcObjects (yang saya kira saya bisa menelepon dari python , tapi saya lebih suka tidak melakukannya).
arcpy
arcgis-10.0
arcgis-10.1
mxd
Ryan Dalton
sumber
sumber
Jawaban:
Saya tahu pertanyaan ini berumur beberapa bulan, tetapi saya memposting ini kalau-kalau membantu orang lain. Saya mengembangkan kludge ini untuk mem-parsing nomor versi dari dokumen MXD. Ini pada dasarnya membaca 4000 atau lebih karakter pertama dari dokumen MXD dan mencari nomor versi. Saya menguji dengan versi MXD 9.2, 9.3, 10.0, dan 10.1.
Berikut adalah contoh pemindaian folder untuk file mxd dan mencetak versi dan namanya
Yang mengembalikan ini:
sumber
Fungsi di bawah ini didasarkan pada ide Ryan, tetapi sedikit lebih langsung. Dokumen peta ArcGIS sebenarnya adalah dokumen OLE, yang dapat diuraikan dengan
oletools
modul (tersedia di pypi: https://pypi.python.org/pypi/oletools ). Fungsi membuka file dan membaca string versi. Diuji dengan 9.0, 9.3, 10.1 dan 10.3, tetapi harus bekerja dengan apa saja (tidak yakin tentang 3.x ...).sumber