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]