Mam klasę obiektów w geobazie pliku Esri. Kiedy edytuję operacje za pomocą edytora w ArcMap i usuwam większość moich operacji i zachowuję tylko te na środku, polecenie powiększenia do warstwy nie działa zgodnie z oczekiwaniami. Zamiast powiększać do zakresu elementów pozostałych w klasie elementów, zasięg będzie tym pierwszym (zawierający wszystkie usunięte elementy). Przeglądając wartości zasięgu w oknie właściwości dla klasy elementów, wyraźnie widzę stare wartości. Dlatego sesja edycji nie zmienia wartości pełnego zakresu.
Czy istnieje sposób na ponowne obliczenie tych wartości?
Jestem pewien, że ten problem powinien wystąpić u wszystkich osób edytujących funkcje w ArcMap ...
arcgis-desktop
arcmap
editing
file-geodatabase
extents
offermann
źródło
źródło
Odpowiedzi:
Esri ma teraz do tego narzędzie w 10.4 (hura): Przelicz zakres klasy elementów.
Problem ten występował, gdy tworzyłem klasę obiektów i zapisywałem w niej geometrię za pomocą arcpy. Najwyraźniej narzędzia te nie aktualizują zasięgu (prawdopodobnie dobry pomysł ze względu na wydajność).
Udało mi się zresetować zasięg w 10.2.2 z sugestią @Lou:
źródło
Kliknij prawym przyciskiem myszy klasę obiektów w ArcCatalog i przejdź do Właściwości. Na karcie Zakres funkcji kliknij przycisk Ponownie oblicz. I voila!
Używam ArcGIS 10.2.1
źródło
Kompaktowanie Geobazy spowoduje uporządkowanie indeksu przestrzennego
„Jeśli często dodajesz i usuwasz dane, powinieneś kompaktować swoją bazę danych lub osobistą geobazę co miesiąc. Powinieneś również zagęścić geobazę po każdej dużej zmianie. Kompaktowanie uporządkuje pamięć poprzez zmianę kolejności rekordów i wyeliminowanie nieużywanego miejsca. Po kompaktowaniu, dostęp do danych w każdym pliku jest bardziej efektywny. Kompaktowanie zmniejsza również rozmiar każdego pliku - możliwe jest zmniejszenie rozmiaru geobazy o połowę lub więcej. ”
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Compacting_file_and_personal_geodatabases/003n0000007t000000/
Kompaktowy (zarządzanie danymi)
„Zaleca się kompaktowanie osobistych geobaz, gdy stają się one większe niż 250 MB. Jeśli wprowadzanie danych, usuwanie lub ogólne edytowanie jest często wykonywane w bazie danych, baza danych powinna być regularnie kompaktowana, aby zapewnić optymalną wydajność.”
http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#//00170000000n000000
źródło
Oto dodatek ArcCatalog dla ArcGIS 10, który dodaje polecenie aktualizacji zasięgu klasy elementów, prawdopodobnie przy użyciu tej samej metody, co kod VBA @ Ragi:
źródło
Zakres GeoDatabase zawsze rozszerza się - nigdy nie skraca się automatycznie. Kompaktowanie i kompresowanie optymalizuje tylko przechowywanie i fragmentację, ale nie sam zakres. Najpierw spróbuję odtworzyć indeks przestrzenny i sprawdzić, czy to wystarczy.
Aktualizacja:
Ponieważ przebudowa indeksu przestrzennego nie rozwiązuje problemu, jestem pewien, że następujący kod VBA :
Możesz to zrobić w dowolnym języku programowania obsługiwanym przez ESRI. Sztuką jest zdobycie schemalocka i użycie metody IFeatureClassManage :: UpdateExtent .
źródło
Nie wiem dokładnie, co powoduje to w Geoinformatycznych plikach, ale rzeczywiście jestem w stanie go replikować i jest to coś, z czym się wcześniej spotkałem. Jedynym sposobem, w jaki udało mi się dowiedzieć, jak to obejść, jest Kompresowanie geobazy danych pliku. To rozwiąże problem z zakresem. Po zakończeniu musisz go zdekompresować, ponieważ nie możesz edytować geobazy danych skompresowanych.
Podczas sesji edycji / ArcMap, kiedy faktycznie używasz danych, zawsze możesz wybrać wszystkie | powiększ do wybranego jako obejście problemu. To nie jest świetne, ale używałem go w moim przepływie pracy, aż do momentu, gdy osiągnąłem punkt krytyczny, w którym mogłem wykonać tę kompresję / dekompresję.
Uwaga: Kompaktowanie nie będzie działać (przynajmniej nie niezawodnie). Odbuduje twoje indeksy, ale uważam, że nie jest wiarygodne w naprawianiu problemów z zakresem. To wciąż coś, co powinieneś robić od czasu do czasu. Właśnie teraz wypróbowałem to ponownie i nie działało to w moim przykładowym zestawie danych. YMMV.
źródło
Jeśli chcesz zaktualizować zakres klas elementów w dokumencie MXD, ta część kodu może ci pomóc:
źródło