Où sont passés les polygones après avoir projeté une carte dans QGIS?

12

Je suis assez nouveau dans le savoir-faire SIG, mais j'ai rencontré un problème avec une projection d'une carte du monde. J'ai un fichier de formes de tous les pays que j'ai téléchargés depuis Natural Earth. Après l'avoir projeté dans une orthographe comme suggéré dans cette autre question , j'ai changé le lat / long pour que l'Atlantique soit un peu au centre.

Cependant, après l'avoir modifié, les États-Unis, le Mexique et le Canada disparaissent de la carte, comme vous pouvez le voir ici: entrez la description de l'image ici

Lorsque je reprojete la carte à un long sur les États-Unis, les polygones réapparaissent. Aucune suggestion?

Jessica
la source
2
Notez que la Russie, le Kazakhstan, l'Iran et quelques petits pays du Proche-Orient n'apparaissent pas non plus, ni aucune partie de l'Antarctique. De toute évidence, le logiciel n'écrase pas correctement les polygones qui ne sont que partiellement masqués.
whuber
Quelle version de Qgis? Pouvez-vous également fournir un lien direct vers la couche que vous avez téléchargée depuis Natural Earth? Ensuite, nous pouvons essayer de reproduire votre problème. Merci!
Stéphane Henriod
C'est une reprojection très étrange. Fournissez le lien afin que nous puissions le télécharger et le vérifier.
Ger
Ok je l'ai regardé et j'ai supprimé mon commentaire précédent car ils sont clairement là. ce qui apparaît que dans un CRS de WGS 84 il est projeté comme étant sur un globe, donc la moitié du monde n'est pas visible, dans un CRS de WGS84 Pseudo Mercator Il apparaît correctement. comme avec tout autre SIR, montrant toutes les masses terrestres.
Ger

Réponses:

12

La raison simple pour laquelle QGIS ne peut pas dessiner ces polygones est que certains des sommets sont à l'arrière du globe, et QGIS ne peut pas dessiner un polygone fermé avec le reste. La fonction GDAL ogr2ogr en arrière-plan est programmée pour lancer l'ensemble de la fonction lorsqu'une telle erreur se produit.

Vous avez donc deux solutions:


Solution 1: découpez vos polygones dans l'hémisphère

Vous avez besoin Numerical Digitizeet un CAD Toolsplugin pour cela.

  • Réglez le projet CRS sur ortho projection
  • créer une nouvelle couche de points dans la même projection
  • avec le plugin Numerical Digitize, créez les points suivants:
x y
6370000 0
0 6370000
-6370000 0
0 -6370000

(devrait également fonctionner avec Add delimited text layer)

  • activer l'accrochage sur la couche de points
  • avec CAD Tools, sélectionnez les trois premiers points et créez un arc à partir d'eux
  • faire de même pour les points 3 - 4 - 1 pour l'hémisphère sud
  • changer le projet CRS en WGS84
  • Enregistrez le calque CAO au format WGS84 et ajoutez-le au canevas
  • Enregistrez également votre couche limite au format WGS84 et ajoutez-la au canevas
  • convertir les lignes CAO en une nouvelle couche de polygones
  • supprimer tout sauf les couches de polygones
  • délimitez les limites du monde à la couche de polygones CAD
  • remettre le projet CRS à ortho

Vous devriez obtenir cette image: vecteur du monde en projection ortho


Solution 2: convertir vos données vectorielles en raster

  • dans Paramètres, désactivez on-the-fly-reprojection
  • Enregistrez votre couche limite au format WGS84 et ajoutez-la au canevas
  • Utilisez Raster -> Convert -> Rasterizesur la couche WGS84 sélectionnez x = 360 et y = 170 comme dimensions pour le raster (ou n * 360 et n * 170)
  • Utilisez Raster -> Projection -> Reprojectla projection ortho sous un autre nom et ajoutez-la au canevas. Vous obtiendrez quelques erreurs, mais le reste du raster fera l'affaire. Ne vous embêtez pas à voir un rectangle gris
  • Clic droit sur la couche raster -> Propriétés, onglet Style
  • choisissez des pseudo couleurs
  • dans l'onglet transparence, choisissez 0 pour une transparence à 100%
  • Supprimer le premier raster
  • définir le projet CRS sur ortho

vous devriez voir l'image suivante: entrez la description de l'image ici

La même méthode fonctionne avec les rasters, comme vous pouvez le voir sur ma photo d'avatar ;-)


ÉDITER

Pour obtenir une belle projection ortho centrée sur un point qui n'est pas sur l'équateur, effectuez l'écrêtage dans une projection aeqd avec les mêmes paramètres que l'ortho. Vous obtiendrez ce résultat:

entrez la description de l'image ici

AndreJ
la source
La première approche doit-elle être adaptée lorsque la projection orthographique comprend l'un des pôles (comme dans votre image d'avatar)? Dans ce cas, je rencontre des problèmes lors de la projection de la couche CAD vers WGS84, car le polygone résultant ne couvre pas le pôle
Jake
Tu as raison. L'utilisation d'une projection aeqd au lieu de WGS84 pour l'écrêtage fonctionne dans ce cas. Le clipsage sur une sphère semble plus facile que l'ellipsoïde.
AndreJ
Ah oui, c'est une bonne idée! Cependant, cela ne semble toujours pas être la solution miracle: j'ai essayé d'utiliser cette approche avec l' landensemble de données Natural Earth 1: 110M avec une projection centrée sur 30 ° N, 110 ° E, et j'ai rencontré des problèmes lors de la projection de l'ensemble de données vers aeqd : Les grands polygones se renversent et ruinent l'écrêtage. Des idées?
Jake
Le point antipodial de l'aeqd doit reposer dans la mer pour éviter les artefacts. Le centre aeqd ne doit pas nécessairement être le même point que pour l'ortho final, mais doit se trouver dans le cercle de détourage.
AndreJ
0

Voir le commentaire ci-dessus, ils sont simplement partis de l'autre côté du globe. les polygones des pays sont toujours là mais ne sont visibles que si le globe est tourné. je ne suis pas sûr de la façon dont vous faites tourner le globe dans ces circonstances et la cartographie est généralement bidimensionnelle (compteurs, etc. à l'exclusion).

Je définirais votre CRS sur le pays dans lequel vous souhaitez superposer les données. Par exemple, j'utiliserais la grille irlandaise ou la grille OSGB, ou comme indiqué ci-dessus le WGS84 Pseudo Mercator.

Ger
la source
3
Jessica voulait une image du globe entier comme un cercle. Les projections que vous proposez ne font pas cela.
AndreJ
le vote à la baisse est un peu dur si vous me demandez.
Ger
Ce n'était pas de moi ...
AndreJ
Cool. Je ne comprends tout simplement pas pourquoi les gens votent contre une suggestion. J'ai une abeille dans mon capot et c'est tout.
Ger
4
Un vote négatif ne doit pas être pris personnellement . L'ensemble du réseau SE s'appuie sur des votes positifs et négatifs pour faire flotter les meilleures réponses en haut d'une question. J'ai rejeté la réponse parce que "définir CRS sur le pays ... données de superposition" ignore le désir déclaré du PO de garder l'océan Atlantique centré sur la carte.