Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Mon 12 July 2021 18:14

Mafate
Juste Inscrit !
Date d'inscription: 12 Jul 2021
Messages: 1

[R - Aide] Decalage de la position des communes sur carte de France

Bonjour à tous,

Dans le cadre de mon travail, j'ai besoin de réaliser sous R une carte de la France métropolitaine et d'y positionner les communes que je souhaite représenter par un point rouge.

Je précise que je mes compétences en R sont assez basiques et que je suis totalement débutant en cartographie. J'espère donc que vous saurez faire preuve d'indulgence si je raconte des bêtises ou si des concepts qui vous semblent familiers et évidents m'échappent totalement. Mais je vous promets de faire des efforts pour essayer de suivre ! smile

Voici mon problème :

- J'ai récupéré une carte de France sur le site GADM, niveau départements, constituée de 5 fichiers (gadm36_FRA_2.cpg, gadm36_FRA_2.dbf, gadm36_FRA_2.prj, gadm36_FRA_2.shp et gadm36_FRA_2.shx).

- J'ai par ailleurs un fichier CSV contenant les codes INSEE des communes françaises qui m'intéressent avec leurs latitudes et longitudes. Dans ce fichier pour exemple, les latitudes et longitudes de Calais sont respectivement 50.95020728 et 1.875755661, celles de Cherbourg sont 49.63341216 et -1.633901602.

Lorsque j'affiche ma carte avec les communes, ces dernières n'y sont pas positionnées correctement : elles sont décalées vers le bas. Je suppose donc que la carte que j'ai téléchargée et les données de mon fichier CSV n'utilisent pas le même référentiel, mais j'ai beau chercher, je ne n'en sors pas. Je souhaiterais pouvoir joindre les fichiers que j'utilise pour vous faciliter la tâche si vous souhaitez m'aider, mais je ne trouve pas comment les joindre à mon message malheureusement.

En attendant, voici le code R que j'ai créé :

Code:

library(sf)
library(dplyr)
library(readr)
library(tidyverse)

# Déclaration de l'opérateur "not in".
'%!in%' % 
  select(CC_2)

# Codes communes avec latitudes et longitudes en degrés décimaux.
# Communes retenues : Calais, Cherbourg, Paris, Saint-Martin-de-Ré, Niort, Nice et Marseille.
df_communes % 
  ggplot() +
  geom_sf(aes(fill = CC_2), show.legend = FALSE, fill = "white") +
  geom_text(data = df_communes,
            aes(x = longitude, y = latitude, label = "."), colour = "red")

Un grand merci d'avance si vous pouvez m'aider ! smile

Bonne fin de journée.

Hors ligne

 

Pied de page des forums

Powered by FluxBB