Warstwy plików kształtu w QGIS nie są wyświetlane, chyba że pomniejszę

15

Mam dwie warstwy plików kształtu w projekcie Qgis, które mają problemy z powiększaniem. Jedna to linia, którą skopiowałem / wkleiłem na nowej warstwie z zestawu konturów wysokości, a druga to warstwa wielokąta, którą utworzyłem, rozpuszczając wszystkie cechy na innej warstwie.

W obu przypadkach warstwy nie będą wyświetlane, chyba że cała warstwa zostanie wyświetlona w obszarze roboczym. Kiedy powiększam lub przeciągam widok, gdy tylko część warstwy wychodzi poza obszar roboczy, cała warstwa znika.

W przypadku warstwy wielokąta, jeśli ją usunę i wygeneruję ponownie, działa poprawnie, ale kiedy zacznę wypełniać pierścienie, osiąga punkt, w którym przestaje działać dobrze (chcę skończyć z jednym wielokątem obejmującym wszystkie funkcje w oryginalna warstwa). Myślę, że musi to mieć związek z geometrią warstwy, ale nie znalazłem przyczyny.

Obie warstwy wcześniej działały dobrze, a ich usunięcie / ponowne dodanie nie rozwiązuje problemu.

Wszystkie pozostałe warstwy w projekcie działają dobrze (w tym zestaw konturów wysokości i warstwa wielokątów, których użyłem do wygenerowania kłopotliwych warstw).

Ten problem występuje zarówno w Qgis 2.4, jak i 2.6

Czy coś robię źle?

JPH
źródło
Miałem ten problem z kilkoma plikami kształtów, ale nie jestem pewien, co go powoduje ...
DPSSpatial
5
Spróbuj odbudować indeks przestrzenny.
Vince
2
Zastanawiam się, czy coś jest nie tak z kształtami, jak zepsuta lub nieprawidłowa geometria. Lub problem z indeksem przestrzennym.
SaultDon
Ponownie wygenerowałem indeks przestrzenny dla obu warstw i nadal się nie pokazują. Myślę, że to musi być problem z geometrią, ponieważ w warstwie wielokąta problem pojawia się, gdy edytuję wierzchołki w celu usunięcia pierścieni. Ostrożnie edytuję warstwę, aby sprawdzić, czy mogę wyizolować problem.
JPH

Odpowiedzi:

4

Moi współpracownicy i ja mieliśmy ten problem w wersjach QGIS od 2.6.1 do nowego 2.14. Rozwiązaniem, które wypracowaliśmy, jest uruchomienie:

Wektor> Narzędzia geometrii> Multiparts to Singlepart ...

Nowy wytworzony plik kształtu będzie teraz renderowany na wszystkich poziomach powiększenia. Uważam, że problem polega na tym, że stary plik kształtu miał niepoprawną kolejność dzwonków (zakładając, że plik ma pierścienie wewnętrzne), a zatem poprawka jest podobna do uruchamiania „Napraw geometrię” w ArcMap.

Benjamin Gappa
źródło
Wypróbowałem to na wielowarstwowej warstwie liniowej i zadziałało. Mam teraz wiele wierszy w warstwie wielokąta, których chciałem uniknąć - to jest punkt funkcji wieloczęściowych. Zastanawiam się, dlaczego tak się stało, aby uniknąć problemu w przyszłości. Jakieś komentarze?
R'n'E
3

Miałem ten sam problem. Rozwiązało to dla mnie użycie zarówno tego, co powiedział RickOrth, jak i Vince.

Z Warstwy> Właściwości> Ogólne Ustaw układ odniesienia za pomocą współrzędnych od UŻYTKOWNIKA: do właściwego układu. Następnie kliknij Utwórz indeks przestrzenny.

Clayton Harrison
źródło
2

Zakładając, że nie masz ustawionej widoczności zależnej od skali w oknie właściwości ...

Używam GRASS do czyszczenia danych, jeśli musisz wypełnić dziury i podjąć inne prace topologiczne v.clean to bardzo dobre miejsce na rozpoczęcie.

MikeRSpencer
źródło
1
Wpadłem dzisiaj na ten problem. Uruchamianie v.clean działało bardzo dobrze w QGIS 3.6.2.
Pooneil
1

Sprawdź, czy wartość systemowa odniesienia Współrzędnych w Właściwości warstwy jest ustawiona poprawnie. Widziałem pliki shapefile z prawidłowymi plikami prj resetujące tę wartość do Wygenerowanego użytkownika CRS (...): 10000x. Ten wygenerowany CRS może powodować znikanie danych w taki sam sposób, jak dane bez ustawionego CRS.

RickOrth
źródło
1

Poszedłem do Właściwości -> CRS - Utwórz indeks przestrzenny

Działa teraz! Nie jestem pewien, czy to właśnie miał na myśli @Vince, ale zadziałało.

-- EDYTOWAĆ --

Mówiłem za wcześnie. Mój problem polegał na tym, że zaimportowałem plik .csv, który miał niektóre NaN w Eastings / Northings. Zostały one zastąpione 1s. Kiedy pozbyłem się tych, nie miałem problemu.

Katie W.
źródło
@Vince zamierzał go odbudować, podczas gdy wygląda na to, że wcale go nie masz, ale oznacza to to samo. Brak indeksu przestrzennego, straszna wydajność.
John Powell,
1

Miałem ten sam problem. W moim przypadku problematyczny plik kształtu został stworzony przez ArcGIS. Naprawiłem to, usuwając niepotrzebne dodatkowe pliki, które ESRI dodaje do plików shapefile (.cpg, .qpj, .sbx i .shp.xml), zachowując tylko te przydatne (.dbf, .shp, .prj, .shx). Zrobione!

Bastien
źródło
Świetna poprawka! Byłem w tej samej sytuacji; za pomocą .shp od kolegi, który został utworzony w Arc. Przeniosłem pliki .dbf, .shp i .shx do innego folderu (nie .prj, ale nie wydawało się to mieć znaczenie), otworzyłem go w QGIS, a następnie zapisałem jako kolejną warstwę. Wygląda na to, że działa dobrze. Dzięki!
EcologyTom
0

Miałem już ten problem, szczególnie podczas importowania plików .shp do bazy danych SpatialLite. Odkryłem, że bardzo prostym sposobem na naprawę jest wybranie każdej funkcji, włączenie edytora, użycie narzędzia Przenieś funkcję, a następnie po prostu kliknięcie i zwolnienie. W rzeczywistości nie przenosisz żadnych elementów, ale zmusza to program do przepisania każdego wierzchołka, a w jakiś sposób po tym geometria jest ustalona. W przypadku dużych plików może to chwilę potrwać, ale na pewno zadziałał dla mnie.

nsm91
źródło
0

Wypróbowałem wszystkie przedstawione tutaj rozwiązania dla podobnego problemu, jaki miałem z częścią wielokąta, który zniknął po powiększeniu. Jedyne, które działało dla mnie, to użycie v.clean z przybornika przetwarzania z opcją rmdupl i ustawieniem tolerancji na 0. To usuwa wszystkie zduplikowane węzły i daje poprawny topologicznie plik.

geotyr
źródło