Cartography with SAS Enterprise Guide
Transcription
Cartography with SAS Enterprise Guide
Université de Caen Basse-Normandie 1 18 janvier 2016 Dpt. Mathématiques et Mécanique Cartographie avec SAS Sommaire 1.1 1.2 1.3 1.4 1.5 1.1 Description . . . . . . . . . . . . . . . . . . . . . . . . 1.1.1 Objectifs . . . . . . . . . . . . . . . . . . . . . . . . 1.1.2 Source des données . . . . . . . . . . . . . . . . . . . Préparation des données . . . . . . . . . . . . . . . . Lecture des cartes . . . . . . . . . . . . . . . . . . . . Calcul des données statistiques et construction des Ajout d’information à l’aide de table d’annotation . . . . . . . . . . . . . . . . . . . . cartes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1 1 1 1 2 3 4 Description 1.1.1 Objectifs Nous allons travailler à plusieurs niveaux géographiques : — la commune, — le canton, — la communauté de communes ou d’agglomérations, — le département — la région Avec SAS enterprise Guide, et des cartes vectorielles libres, on tracera 1. les contours de ces zones géographiques 2. des cartes en indiquant un indicateur par communes : par exemple le nombre de médecin dans la zone pour 100 000 habitants. 3. des superpositions de contours Vous pouvez aussi voir cartographie avec R 1.1.2 Source des données IGN L’Institut Géographique National est l’acteur principal français pour tout la cartographie en France. Il propose certains produits en téléchargement libre. Nous allons utiliser l carte au format vectoriel des contours des communes de France métropolitaine au format shapefile GEOFLA©. INSEE Nous utiliserons des statistiques sur la santé en France grâce aux données détaillées et localisées. Personnels et équipements de santé On va calculer un indicateur très simple : le nombre de médecin généraliste pour 100 000 habitants grâce aux données disponibles à l’INSEE au niveau communale. Cet indicateur sera calculé à tous les niveaux administratifs étudiés. Nous avons aussi besoin de la définition des Communauté de communes Nous allons aussi avoir besoin de connaı̂tre la composition des communautés de communes. 1.2 Préparation des données 1. Créer un répertoire carto dans le quel il y aura trois répertoires. Le répertoire GEOFLA contiendra les cartes au format shapefile. Le répertoire INSEE contiendra les données provenant de l’INSEE. Le répertoire LIB contiendra votre librairie SAS par défaut. A la racine ce répertoire on mettre le projet SEG. carto ---> GEOFLA ---> INSEE ---> LIB 2. Téléchargez GEOFLA© France Métropolitaine 2011 au format tar.gz. Puis décompressez ces données dans un répertoire nommé GEOFLA. Vous pouvez aussi télécharger Les cartes Geofla © 2013 communes, cantons et départements au format 7z. Il faudra alors copier les sous-répertoires de 1_DONNEES_LIVRAISON_2013-11-00164/GEOFLA_1-1_SHP_LAMB93_FR-ED131 dans votre répertoire GEOFLA. Le répertoire GEOFLA contient au moins trois sous-répertoires CANTONS, COMMUNES, DEPARTEMENTS ( éventuellement en plus ARRONDISSEMENTS ). Le contenu du sous répertoire GEOFLA/COMMUNES est http://www.math.unicaen.fr/~kauffmann/cours 1 [email protected] Université de Caen Basse-Normandie 18 janvier 2016 Dpt. Mathématiques et Mécanique Répertoire de C:\Users\kauffmann\francois\SAS\carto\GEOFLA\COMMUNES 28/01/2014 28/01/2014 06/12/2011 06/12/2011 06/12/2011 06/12/2011 06/12/2011 06/12/2011 06/12/2011 06/12/2011 06/12/2011 06/12/2011 06/12/2011 06/12/2011 08:44 <REP> . 08:44 <REP> .. 09:26 784 COMMUNE.AVL 09:26 7ß322ß609 COMMUNE.dbf 09:26 13 312 COMMUNE.LYR 09:26 449 COMMUNE.PRJ 09:26 10 273 208 COMMUNE.SHP 09:26 292 980 COMMUNE.SHX 09:26 8 325 LIMITE_COMMUNE.AVL 09:26 3 819 752 LIMITE_COMMUNE.DBF 09:26 14 848 LIMITE_COMMUNE.LYR 09:26 449 LIMITE_COMMUNE.PRJ 09:26 11 720 060 LIMITE_COMMUNE.SHP 09:26 873 164 LIMITE_COMMUNE.SHX 12 fichier(s) 34 339 940 octets 3. Téléchargez dans votre répertoire INSEE les données relatives aux équipements et personnels de santé. au niveau communal, ainsi que la table d’appartenance des communes aux communautés de communes. (a) Nombre d’équipements et de services de santé en 2012. (b) Nombre de fonctions médicales et paramédicales en 2012 (c) Table d’appartenance des communes aux communautés de communes. Nommé à l’INSEE Base des ECPI à fiscalité propre au 1er janvier 2013. 1.3 Lecture des cartes Dans cette question, on va créer les cartes des communes, des communautés de communes ou d’agglomération, de cantons, et de départements. 1. Créer un nouveau programme, on devra modifier les macros variables user, geofla. %let user=C:\Users\kauffmann\francois\SAS\carto\lib; %let geofla=C:\Users\kauffmann\francois\SAS\carto\GEOFLA; goptions reset=all; options user="&user"; /*Import des communes */ proc mapimport out=commune datafile="&GEOFLA\COMMUNES\commune.shp"; run; data commune; set commune; cv=strip(CODE_DEPT!!CODE_CANT); arr=strip(CODE_DEPT!!CODE_ARR); rename CODE_DEPT=ID INSEE_COM=CODGEO; run; /* Import des cantons*/ proc mapimport out=canton datafile="&GEOFLA\CANTONS\canton.shp"; run; data canton; set canton; cv=strip(CODE_DEPT!!CODE_CANT); arr=strip(CODE_DEPT!!CODE_ARR); rename CODE_DEPT=ID ; run; http://www.math.unicaen.fr/~kauffmann/cours 2 [email protected] Université de Caen Basse-Normandie 18 janvier 2016 Dpt. Mathématiques et Mécanique /* Import des départements */ proc mapimport out=dep datafile="&GEOFLA\DEPARTEMENTS\departement.shp"; run; data dep; set dep; rename CODE_DEPT=ID ; run; 2. Dans cette question, on crée la carte des communautés de communes, la table contenant le tracé des contours s’appelera CC. (a) Importer le fichier de données sur les ECPI. La table de sortie s’appelera ECPI. (b) Construire une jointure des deux tables ECPI et COMMUNES à CODEGEO constant (c’est l’identifiant unique d’une commune), la table résultat devant s’appeler COMMUNE_ECPI. (c) Construire la carte des communautés de communes CC : c’est la carte des communes dans les quelles on a enlevé tous les contours intérieurs à l’aide du programme suivant : /* carte communauté de communes : agrégation de zone */ proc sort data=user.commune_ecpi; by epci code_reg; proc gremove data=user.commune_ecpi out=user.cc; id CODGEO; by EPCI LIBEPCI CODE_REG NOM_REGION; run; 1.4 Calcul des données statistiques et construction des cartes Dans cette question, on calcule les indices statistiques à chacun des niveaux géographiques étudiés : communes, communautés de communes ou d’agglomération, cantons, et départements. 1. Importer les données relatives au fichier du personnel médical. La table crée s’appelera MEDECINS. 2. Importer les données relatives aux équipements et services de santé. La table crée s’appelera PHARMACIES. 3. Faire une jointure des trois tables ECPI, MEDECINS, PHARMACIES en respectant l’identifiant des communes CODEGEO. La table de sortie d’appelera X. 4. Créez une table agrégée pour chacun des quatre niveaux géographiques : communes, communautés de communes ou d’agglomération, cantons, et départements. Chaque table devra contenir quatre colonnes — Le niveau géographique appelé ID. — Le nombre d’habitants, la variable s’appelera NB_HAB de label Nombre d’habitants — Le nombre de médecins généralistes, la variable s’appelera POP_GEN de label Nombre de généralistes — Le nombre de généralistes pour 100 000 habitants. La variable s’appelera PROP_GEN de label Proportion de généralistes pour 100 000 habitants Les tables résultats s’appeleront : X_COMMUNE au niveau géographique de la commune, X_ECPI au niveau géographique de la communauté de communes, X_CANTON au niveau géographique du canton, X_DEP au niveau géographique du département. 5. Construire alors quatre cartes de la Basse-Normandie du nombre de généralistes pour chacune des échelles géographiques utilisées. http://www.math.unicaen.fr/~kauffmann/cours 3 [email protected] Université de Caen Basse-Normandie 18 janvier 2016 Dpt. Mathématiques et Mécanique Figure 1 – Carte départementale Figure 2 – Carte commune Figure 3 – Carte canton Figure 4 – Carte communauté de communes 1.5 Ajout d’information à l’aide de table d’annotation Dans cette question, on ajoute sur une carte le tracé du contour des départements ou le contour des communautés de communes. http://www.math.unicaen.fr/~kauffmann/cours 4 [email protected] Université de Caen Basse-Normandie 18 janvier 2016 Dpt. Mathématiques et Mécanique (a) Dans cette question on ajoute le tracé des départements à une carte au niveau des communes. Figure 5 – Carte communes et départements Afin d’obtenir la même carte on devra changer le device graphique de AtiveX à png, grâce aux instructions suivantes goptions device=png; /* passage aux sorties graphiques en png */ goptions device=ActiveX; /* passage aux sorties graphiques en ActiveX defaut */ i. Construire le programme créant la table d’annotation à partir de la table contenant la carte des départements. /* Table d'annotation contour des départements */ DATA user.departement_anno ; SET user.dep(where=(CODE_REG='25')); RETAIN xsys ysys "2" size 4 color "black" text "" when "after"; BY ID SEGMENT ; IF FIRST.SEGMENT then function = "MOVE" ; ELSE function = "DRAW" ; keep id xsys ysys size color function x y text when; RUN ; ii. Construire alors la carte avec la procédure GMAP. proc gmap data=X_COMMUNE map=commune(where=(code_reg='25')) annotate=DEPARTEMENT_ANNO GOUT=MAPCHART; id CODGEO; choro NB_GEN/ WOUTLINE=1 levels=5; label NB_GEN="Nombre de medecins"; title "Nombre de medecins par commune"; run; 6. Dans cette question on ajoute le tracé des communautés de communes à une carte au niveau des communes. La figure incluse dans l’énoncé n’est pas exactement celle crée par SEG. Figure 6 – Carte commune et communautés de communes Construire cette figure en respectant (a) Créer un format permettant de décomposer le nombre de médecins généralistes pour 100 000 habitants sera en 4 classes : de 0 à 10, de 10 à 50, de 50 à 100 et plus de 100. (b) Initialiser quatre pattern à 4 couleurs d’un ton pastel à un ton de plus en plus foncé. On pourra prendre par exemple BBIB AZURE, BIBG, AQUAMARINE. (c) Construire la carte. http://www.math.unicaen.fr/~kauffmann/cours 5 [email protected]