Shapefile-Ebenen in QGIS werden nur angezeigt, wenn ich verkleinere


15

Ich habe zwei Shapefile-Ebenen in einem Qgis-Projekt, die Probleme beim Zoomen haben. Eine ist eine Linie, die ich aus einer Reihe von Höhenkonturen in eine neue Ebene kopiert / eingefügt habe, und die andere ist eine Polygonebene, die ich durch Auflösen aller Features in einer anderen Ebene erstellt habe.

In beiden Fällen werden die Ebenen erst angezeigt, wenn die gesamte Ebene im Erstellungsbereich angezeigt wird. Wenn ich die Ansicht vergrößere oder ziehe, verschwindet die gesamte Ebene, sobald ein Teil der Ebene nicht mehr auf der Leinwand ist.

Wenn ich die Polygonebene lösche und erneut generiere, funktioniert sie ordnungsgemäß. Wenn ich jedoch mit dem Füllen der Ringe beginne, erreicht sie einen Punkt, an dem sie nicht mehr funktioniert (ich möchte ein einziges Polygon erhalten, das alle Features in einschließt die ursprüngliche Schicht). Ich denke, es muss mit der Geometrie der Ebene zu tun haben, aber ich habe die Ursache nicht gefunden.

Beide Ebenen haben zuvor gut funktioniert, und das Entfernen bzw. erneute Hinzufügen dieser Ebenen behebt das Problem nicht.

Alle anderen Ebenen im Projekt funktionieren gut (einschließlich der Höhenkonturen und der Polygonebene, mit der ich die problematischen Ebenen erstellt habe).

Dieses Problem wurde in Qgis 2.4 und 2.6 gezeigt

Was mache ich falsch?


Ich hatte dieses Problem mit ein paar Shapefiles, bin mir aber nicht sicher, was es verursacht ...
DPSSpatial

5
Versuchen Sie, den räumlichen Index neu zu erstellen.
Vince

2
Ich frage mich, ob mit den Formen etwas nicht stimmt, wie z. B. eine beschädigte oder ungültige Geometrie. Oder ein räumliches Indexproblem.
SaultDon

Ich habe den räumlichen Index für beide Ebenen neu generiert und sie werden immer noch nicht angezeigt. Ich denke, es muss ein Geometrieproblem sein, da das Problem in der Polygonebene auftritt, wenn ich die Scheitelpunkte bearbeite, um Ringe zu löschen. Ich bearbeite die Ebene sorgfältig, um festzustellen, ob ich das Problem eingrenzen kann.
JPH

Antworten:


4

Meine Kollegen und ich hatten alle dieses Problem in Versionen von QGIS, die von 2.6.1 bis zum neuen 2.14 reichen. Die Lösung, die wir ausgearbeitet haben, lautet:

Vector> Geometrie-Tools> Multiparts zu Einzelteil ...

Das neu erstellte Shapefile wird nun in allen Zoomstufen gerendert. Ich glaube, das Problem ist, dass das alte Shapefile eine falsche Ringreihenfolge hatte (vorausgesetzt, Ihre Datei hatte interne Ringe) und die Korrektur daher der Ausführung von "Repair Geometry" in ArcMap ähnlich ist.


Ich habe das mit einer mehrteiligen Linienebene ausprobiert, und es hat funktioniert. Ich habe jetzt mehrere Zeileneinträge in meinem Polygon-Layer, die ich vermeiden wollte - das ist der Punkt bei mehrteiligen Features. Ich frage mich, warum das passiert ist, um das Problem in Zukunft zu vermeiden. Irgendwelche Kommentare?
R'n'E

3

Ich hatte das gleiche Problem. Was es für mich löste, war, sowohl das zu verwenden, was RickOrth sagte, als auch das, was Vince sagte.

Stellen Sie unter Layer> Eigenschaften> Allgemein das Koordinatenreferenzsystem von einem BENUTZER auf das richtige System ein. Klicken Sie dann auf Raumindex erstellen.


2

Vorausgesetzt, Sie haben keine skalierungsabhängige Sichtbarkeit im Eigenschaftenfenster festgelegt ...

Ich verwende GRASS für die Datenbereinigung, wenn Sie Löcher füllen und andere Topologiearbeiten ausführen müssen. V.clean ist ein sehr guter Ausgangspunkt.


1
Ist heute auf dieses Problem gestoßen. Das Ausführen von v.clean hat in QGIS 3.6.2 sehr gut funktioniert.
Pooneil

1

Stellen Sie sicher, dass der Wert des Koordinatenreferenzsystems unter Layer-Eigenschaften korrekt eingestellt ist. Ich habe Shapefiles mit gültigen PRJ-Dateien gesehen, die diesen Wert auf einen generierten CRS-USER (...) zurückgesetzt haben: 10000x. Dieses generierte CRS kann dazu führen, dass Daten auf dieselbe Weise verschwinden, wie Daten ohne festgelegtes CRS.


1

Ich ging zu Eigenschaften -> CRS - Raumindex erstellen

Funktioniert jetzt! Ich bin mir nicht sicher, ob @Vince das meinte, aber es hat funktioniert.

- BEARBEITEN -

Ich habe zu früh gesprochen. Mein Problem war, dass ich eine .csv importiert hatte, die einige NaNs in den Eastings / Northings hatte. Diese wurden durch 1s ersetzt. Sobald ich diese los war, hatte ich kein Problem mehr.


@Vince wollte es umbauen, obwohl es sich so anhört, als hättest du keines, aber es läuft auf dasselbe hinaus. Kein räumlicher Index, schreckliche Leistung.
John Powell

1

Ich hatte das gleiche problem In meinem Fall wurde das problematische Shapefile von ArcGIS erstellt. Ich habe das Problem behoben, indem ich die unnötigen zusätzlichen Dateien entfernt habe, die ESRI zu Shapefiles (.cpg, .qpj, .sbx und .shp.xml) hinzugefügt hat, wobei nur die nützlichen Dateien (.dbf, .shp, .prj, .shx) beibehalten wurden. Et voilà!


Großartige Lösung! Ich war in der gleichen Situation; Verwenden einer .shp-Datei von einem Kollegen, der in Arc erstellt wurde. Ich habe die .dbf-, .shp- und .shx-Dateien in einen anderen Ordner verschoben (keine .prj, schien aber keine Rolle zu spielen), in QGIS geöffnet und dann als andere Ebene gespeichert. Scheint gut zu funktionieren. Vielen Dank!
EcologyTom

0

Ich hatte dieses Problem auch schon einmal, insbesondere beim Importieren von .shp-Dateien in eine SpatialLite-Datenbank. Ich fand, dass eine sehr einfache Möglichkeit, dies zu beheben, darin besteht, jedes Feature auszuwählen, den Editor einzuschalten, das Feature-Tool Verschieben zu verwenden und dann einfach zu klicken und loszulassen. Sie verschieben eigentlich keine Features, aber es zwingt das Programm, jeden Scheitelpunkt neu zu schreiben, und irgendwie ist die Geometrie danach fixiert. Es kann eine Weile dauern, bis große Dateien vorliegen, aber ich bin mir sicher, dass es richtig funktioniert.


0

Ich habe alle hier vorgestellten Lösungen für ein ähnliches Problem ausprobiert, das ich mit einem Teil eines Polygons hatte, das beim Vergrößern verschwunden ist. Das einzige, was für mich funktionierte, war die Verwendung von v.clean aus der Verarbeitungs-Toolbox mit der Option rmdupl und dem Toleranzsatz Dies entfernt alle doppelten Knoten und ergibt eine topologisch korrekte Datei.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.