Les couches de fichiers de formes dans QGIS ne s'affichent que si je fais un zoom arrière

15

J'ai deux couches de fichiers de formes dans un projet Qgis qui ont des problèmes de zoom. L'une est une ligne que j'ai copiée / collée dans une nouvelle couche à partir d'un ensemble de contours de hauteur et l'autre est une couche polygonale que j'ai créée en dissolvant toutes les entités dans une autre couche.

Dans les deux cas, les calques ne s'affichent que si l'intégralité du calque s'affiche dans le canevas. Lorsque je fais un zoom avant ou que je fais glisser la vue, dès qu'une partie du calque est hors du canevas, tout le calque disparaît.

Dans le cas de la couche de polygones, si je la supprime et la génère à nouveau, cela fonctionne correctement, mais lorsque je commence à remplir les anneaux, elle atteint un point où elle cesse de bien fonctionner (je veux finir avec un seul polygone englobant toutes les entités dans le calque d'origine). Je suppose que cela doit avoir à voir avec la géométrie de la couche, mais je n'ai pas trouvé la cause.

Les deux couches fonctionnaient bien auparavant, et les supprimer / les ajouter à nouveau ne résout pas le problème.

Toutes les autres couches du projet fonctionnent bien (y compris l'ensemble des contours de hauteur et la couche de polygones que j'ai utilisée pour générer les couches gênantes).

Ce problème est apparu dans les Qgis 2.4 et 2.6

Y a-t-il quelque chose que je fais mal?

JPH
la source
J'ai eu ce problème avec quelques fichiers de formes, mais je ne sais pas ce qui en est la cause ...
DPSSpatial
5
Essayez de reconstruire l'index spatial.
Vince
2
Je me demande s'il y a quelque chose qui ne va pas avec les formes comme une géométrie corrompue ou invalide. Ou un problème d'index spatial.
SaultDon
J'ai régénéré l'index spatial pour les deux couches et elles ne s'affichent toujours pas. Je pense que cela doit être un problème de géométrie, car dans la couche polygonale, le problème apparaît lorsque je modifie les sommets pour supprimer les anneaux. J'édite le calque avec soin pour voir si je peux isoler le problème.
JPH

Réponses:

4

Mes collègues et moi avions tous ce problème dans les versions de QGIS qui vont de 2.6.1 à la nouvelle 2.14. La solution que nous avons élaborée consiste à exécuter:

Vector> Outils de géométrie> Multiparts to Singlepart ...

Le nouveau fichier de formes produit sera désormais rendu à tous les niveaux de zoom. Je crois que le problème est que l'ancien fichier de formes avait un ordre de sonnerie incorrect (en supposant que votre fichier avait des anneaux internes) et le correctif est donc similaire à l'exécution de "Réparer la géométrie" dans ArcMap.

Benjamin Gappa
la source
J'ai essayé cela avec une couche de lignes en plusieurs parties, et cela a fonctionné. J'ai maintenant plusieurs entrées de ligne dans ma couche de polygones, ce que je voulais éviter - c'est le point des entités en plusieurs parties. Je me demande pourquoi cela s'est produit, pour éviter le problème à l'avenir. Des commentaires?
R'n'E
3

J'avais le même problème. Ce qui a été résolu pour moi, c'est d'utiliser à la fois ce que RickOrth a dit et ce que Vince a dit.

À partir du calque> Propriétés> Général Définissez le système de référence de coordonnées d'un utilisateur: au système correct. Cliquez ensuite sur Créer un index spatial.

Clayton Harrison
la source
2

En supposant que la visibilité dépendante de l'échelle ne soit pas définie dans la fenêtre des propriétés ...

J'utilise GRASS pour le nettoyage des données, si vous devez remplir des trous et entreprendre d'autres travaux de topologie. V.clean est un très bon point de départ.

MikeRSpencer
la source
1
Ran dans ce problème aujourd'hui. L'exécution de v.clean a très bien fonctionné dans QGIS 3.6.2.
Pooneil
1

Vérifiez que la valeur du système de référence de coordonnées sous Propriétés du calque est correctement définie. J'ai vu des fichiers de formes avec des fichiers prj valides réinitialiser cette valeur à un CRS généré (...) USER: 10000x. Ce CRS généré peut entraîner la disparition des données de la même manière que les données sans CRS défini.

RickOrth
la source
1

Je suis allé dans Propriétés -> CRS - Créer un index spatial

Fonctionne maintenant! Je ne sais pas si c'est ce que @Vince voulait dire, mais cela a fonctionné.

-- ÉDITER --

J'ai parlé trop tôt. Mon problème était que j'avais importé un .csv qui avait quelques NaNs dans les Eastings / Northings. Ceux-ci ont été remplacés par 1s. Une fois que je me suis débarrassé de ceux-là, je n'ai eu aucun problème.

Katie W
la source
@Vince avait l'intention de le reconstruire, alors qu'il semble que vous n'en ayez pas du tout, mais cela revient au même. Pas d'index spatial, performances horribles.
John Powell
1

J'ai eu le même problème. Dans mon cas, le fichier de formes problématique a été créé par ArcGIS. Je l'ai corrigé en supprimant les fichiers supplémentaires inutiles qu'ESRI ajoute aux fichiers de formes (.cpg, .qpj, .sbx et .shp.xml) en ne gardant que les fichiers utiles (.dbf, .shp, .prj, .shx). Et voilà!

Bastien
la source
Super solution! J'étais dans la même situation; à l'aide d'un fichier .shp d'un collègue créé dans Arc. J'ai déplacé les fichiers .dbf, .shp et .shx dans un autre dossier (pas de .prj, mais cela ne semblait pas avoir d'importance), l'ai ouvert dans QGIS, puis enregistré en tant que autre couche. Semble bien fonctionner. Merci!
EcologyTom
0

J'ai déjà rencontré ce problème, surtout lors de l'importation de fichiers .shp dans une base de données SpatialLite. J'ai trouvé qu'un moyen très simple de le corriger consiste à sélectionner chaque fonctionnalité, à activer l'éditeur, à utiliser l'outil de fonctionnalité Déplacer, puis à cliquer et à relâcher. Vous ne déplacez en fait aucune entité, mais cela oblige le programme à réécrire chaque sommet, et d'une manière ou d'une autre, après cela, la géométrie est fixée. Cela peut prendre un certain temps pour les fichiers volumineux, mais cela a été sûr pour moi.

nsm91
la source
0

J'ai essayé toutes les solutions présentées ici pour un problème similaire que j'ai rencontré avec une partie d'un polygone qui a disparu lorsque j'ai zoomé. La seule qui fonctionnait pour moi était d'utiliser v.clean dans la boîte à outils de traitement avec l'option rmdupl et le jeu de tolérances à 0. Cela supprime tous les nœuds en double et donne un fichier topologiquement correct.

geotyr
la source