Czy w ArcPy istnieje sposób na identyfikację wersji dokumentu mapy (MXD). Pracuję nad rozwiązaniem inwentaryzacji naszych MXD i chciałbym wiedzieć, czy dokument ma wartość 8,1, 9,2, 10,0 itd.
Obecnie używam ArcGIS 10.0, ale jeśli istnieje aktualizacja w 10.1, która nie istnieje w 10.0, byłbym wdzięczny za to.
Widzę, że jest poprzednie pytanie: Jak programowo znaleźć wersję ArcGIS? , ale odwołuje się do wszystkich rozwiązań ArcObjects (które, jak sądzę, mógłbym wywołać z Pythona , ale wolałbym tego nie robić ).
arcpy
arcgis-10.0
arcgis-10.1
mxd
RyanDalton
źródło
źródło
Odpowiedzi:
Wiem, że to pytanie ma kilka miesięcy, ale zamieszczam je na wypadek, gdyby pomogło to innym. Opracowałem tę kludge, aby analizować numery wersji z dokumentów MXD. Zasadniczo odczytuje około 4000 pierwszych znaków dokumentu MXD i wyszukuje numer wersji. Testowałem z wersjami MXD 9.2, 9.3, 10.0 i 10.1.
Oto przykład skanowania folderu w poszukiwaniu plików MXD i drukowania wersji i nazw
Który zwraca to:
źródło
Poniższa funkcja oparta jest na pomyśle Ryana, ale jest nieco bardziej bezpośrednia. Dokumenty mapy ArcGIS są w rzeczywistości dokumentami OLE, które można analizować z
oletools
modułem (dostępne na pypi: https://pypi.python.org/pypi/oletools ). Funkcja otwiera plik i odczytuje ciąg wersji. Testowany z 9.0, 9.3, 10.1 i 10.3, ale powinien działać z czymkolwiek (nie jestem pewien co do wersji 3.x ...).źródło