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?
Antworten:
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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.
quelle
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à!
quelle
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.
quelle
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.
quelle