Mam plik kształtu wielokąta, który ma 100 MB .dbf i 500 MB pliku .shp. Jest tak duży, że jest sklasyfikowany jako baza lądowa dla całej dzielnicy.
Za każdym razem, gdy przeglądam plik w ArcCatalog lub ArcMap i delikatnie przesuwam okno widoku, cały plik musi być przerysowany od zera. Próbowałem indeksowania przestrzennego i importowania do geobazy - żadne podejście nie zapewnia zauważalnej poprawy wydajności w zakresie renderowania.
Strona pomocy Esri sugeruje, że aby poprawić wydajność pliku shapefile, użytkownik może uogólnić plik . Chociaż to oczywiście działałoby, nie chcę stracić żadnych informacji. Podział pliku nie jest idealny, ponieważ robię dużo geoprzetwarzania / zapytań na całym jego obszarze. Wydaje mi się, że mógłbym uniknąć oglądania całego obszaru naraz - ale czasami, na przykład, dobrze jest zobaczyć, które części pliku wybrało zapytanie.
Czy mogę zastosować inne podejście, aby poprawić wydajność renderowania?
(Teoretycznie budowanie „piramid” w postaci pliku kształtu byłoby idealne - nie jestem pewien, dlaczego ArcGIS nigdy nie popiera takiego podejścia - przynajmniej, że jestem tego świadomy ...)
Odpowiedzi:
Moje myśli to:
źródło
Istnieje wiele wskazówek dotyczących poprawy wydajności ArcMap, które mogą pomóc, ale oto trzy sugestie, z których skorzystałem.
źródło
Możesz poprawić renderowanie, ustawiając parametry wyświetlania warstwy, aby warstwa nie wyświetlała się w dużych skalach (np.> 1: 10 000). Tę opcję można znaleźć we właściwościach warstwy: Właściwości warstwy> Karta Ogólne> „Nie pokazuj warstwy po pomniejszeniu poza ...”
Ponadto ważna jest lokalizacja pamięci - na przykład, jeśli jest przechowywana na starym serwerze o niskiej przepustowości, masz gwarancję niskiej wydajności. Rutynowo obsługuję 1 GB + dane wektorowe na serwerze, co sprawia, że mam pytanie, czy specyfikacje twojego systemu wymagają aktualizacji (dla porównania, używam 12 GB pamięci RAM, drugiej generacji i7, przeciętnej karty graficznej).
źródło
Czy musisz wyrenderować mapę, aby móc wysyłać zapytania? Co jeśli uruchomiłeś skrypty python i uzyskałeś dostęp do danych bez rysowania mapy? Nie jestem pewien twojego dokładnego procesu, potrzeb itp., Ale myśl.
źródło
W ramach odpowiedzi na odpowiedź Aarona można również użyć zapytania dotyczącego definicji, aby ograniczyć liczbę wyników zwracanych do wizualizacji (i obejmuje to analizę - uważam, że działa bardzo podobnie do selekcji). Jeśli nie wszystkie funkcje są potrzebne do przeglądania w danym momencie i nie zmieniasz ton regionu, zapytanie definicji może być wykonalnym rozwiązaniem, choć nie jest dokładną odpowiedzią na twoje pytanie lub potrzeby.
źródło
Słyszę twoją frustrację. Rutynowo pracuję z takimi dużymi plikami kształtu i ogólnie nie mam problemów z wyświetlaniem. Zgadzam się ze wszystkimi powyższymi komentarzami, szczególnie upewniając się, że wszystko jest w tej samej projekcji, w tym ramka danych. Zakładam, że skopiowałeś plik lokalnie i nie próbujesz uzyskać do niego dostępu przez sieć? Jedną z rzeczy, które spowodują problemy z wyświetlaniem plików kształtu tego rozmiaru, jest to, że istnieje ogromna liczba wierzchołków, jak w sieci strumieniowej. Jedynym rozwiązaniem, jakie znalazłem, jest tworzenie skryptu Pythona do wykonywania definicji warstw w locie, więc rysuję tylko kilka naraz. Inną rzeczą byłoby zaktualizowanie pamięci graficznej komputera i karty graficznej.
źródło