Cartography with SAS - Département de mathématiques et mécanique

1
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´ees . . . . . . . . . . . . . . . . . . .
Pr´
eparation des donn´
ees . . . . . . . . . . . . . . . .
Lecture des cartes . . . . . . . . . . . . . . . . . . . .
Calcul des donn´
ees statistiques et construction des
Ajout d’information `
a l’aide de table d’annotation
. . . .
. . . .
. . . .
. . . .
. . . .
cartes
. . . .
.
.
.
.
.
.
.
. . . . . . . . .
. . . . . . . . . .
. . . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
. . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. .
. . .
. . .
. .
. .
. .
. .
1
1
1
1
2
3
4
Description
1.1.1
Objectifs
Nous allons travailler `
a plusieurs niveaux g´eographiques :
— la commune,
— le canton,
— la communaut´e de communes ou d’agglom´erations,
— le d´epartement
— la r´egion
Avec SAS enterprise Guide, et des cartes vectorielles libres, on tracera
1. les contours de ces zones g´eographiques
2. des cartes en indiquant un indicateur par communes : par exemple le nombrte de m´edecin
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´
ees
IGN L’Institut G´eographique National est l’acteur principal fran¸cais pour tout la cartographie en France. Il propose certains
produits en t´el´echargement libre. Nous allons utiliser l carte au format vectoriel des contours des communes de France
m´etropolitaine au format shapefile GEOFLA©.
INSEE Nous utiliserons des statistiques sur la sant´e en France grˆace aux donn´ees d´etaill´ees et localis´ees.
Personnels et ´
equipements de sant´
e On va calculer un indicateur tr`es simple : le nombre de m´edecin g´en´eraliste
pour 100 000 habitants grˆ
ace aux donn´ees disponibles `a l’INSEE au niveau communale. Cet indicateur sera calcul´e
a tous les niveaux administratifs ´etudi´es. Nous arons aussi besoin de la d´efinition des
`
Communaut´
e de communes Nous allons aussi avoir besoin de connaitre la composition des communaut´es de communes.
1.2
Pr´
eparation des donn´
ees
1. Cr´eer un r´epertoire carto dans le quel il y aura trois r´epertoires. Le r´epertoire GEOFLA contiendra les cartes au format
shapefile. Le r´epertoire INSEE contiendra les donn´ees provenant de l’INSEE. Le r´epertoire LIB contiendra votre librairie
SAS par d´efaut. A la racine ce r´epertoire on mettre le projet SEG.
carto
---> GEOFLA
---> INSEE
---> LIB
2. T´el´echargez GEOFLA© France M´etropolitaine 2011 au format tar.gz. Puis d´ecompressez ces donn´ees dans un r´epertoire nomm´e GEOFLA.
Vous pouvez aussi t´el´echarger Les cartes Geofla © 2013 communes, cantons et d´epartements au format 7z. Il faudra alors
copier les sous-r´epertoires de 1_DONNEES_LIVRAISON_2013-11-00164/GEOFLA_1-1_SHP_LAMB93_FR-ED131 dans votre
r´epertoire GEOFLA. Le r´epertoire GEOFLA contient au moins trois sous-r´epertoires CANTONS, COMMUNES, DEPARTEMENTS
( ´eventuellement en plus ARRONDISSEMENTS.
Le contenu du sous r´epertoire GEOFLA/COMMUNES est
http://www.math.unicaen.fr/~kauffman/cours
1
[email protected]
R´
epertoire 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´el´echargez dans votre r´epertoire INSEE les donn´ees relatives aux ´equipements et personnels de sant´e. au niveau
communal, ainsi que la table d’appartenance des communes aux communaut´es de communes.
(a) Nombre d’´equipements et de services de sant´e en 2012.
(b) Nombre de fonctions m´edicales et param´edicales en 2012
(c) Table d’appartenance des communes aux communaut´es de communes. Nomm´e `a l’INSEE Base des ECPI `
a
fiscalit´
e propre au 1er janvier 2013.
1.3
Lecture des cartes
Dans cette question, on va cr´eer les cartes des communes, des communaut´es de communes ou d’aglom´eration, de cantons,
et de d´epartements.
1. Cr´eer 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;
/* Import des d´
epartements */
http://www.math.unicaen.fr/~kauffman/cours
2
[email protected]
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´ee la carte des communaut´es de communes, la table contenant le trac´e des contours s’appelera
CC.
(a) Importer le fichier de donn´ees sur les ECPI. La table de sortie s’appelera ECPI.
(b) Construire une jointure des deux tables ECPI et COMMUNES `a CODEGEO constant (c’est l’identifiant unique d’une
commune), la table r´esultat devant s’appeler COMMUNE_ECPI.
(c) Cosntruire la carte des communaut´es de communes CC : c’est la carte des communes dans les quelles on a enlev´e
tous les contours int´erieurs `
a l’aide du programme suivant :
/* carte communaut´
e de communes : aggr´
egation 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´
ees statistiques et construction des cartes
Dans cette quetion, on calcule les indices statistiques `a chacun des niveaux g´eographiques ´etudi´es : communes, communaut´es de communes ou d’aglom´eration, cantons, et d´epartements.
1. Importer les donn´ees relatives au fichier du personnel m´edical. La table cr´ee s’appelera MEDECINS.
2. Importer les donn´ees relatives aux ´equipements et services de sant´e. La table cr´ee 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´eez une table ag´eg´ee pour chacun des quatre niveaux g´eographiques : communes, communaut´es de communes ou
d’aglom´eration, cantons, et d´epartements. Chaque table devra contenir quatre colonnes
— Le niveau g´eographique appel´e ID.
— Le nombre d’habitants, la variable s’appelera NB_HAB de label Nombre d’habitants
— Le nombre de m´edecins g´en´eralistes, la variable s’appelera POP_GEN de label Nombre de g´
en´
eralistes
— Le nombre de g´en´eralistes pour 100 000 habitants. La variable s’appelera PROP_GEN de label Proportion de
g´
en´
eralistes pour 100 000 habitants
Les tables r´esultats s’appeleront :
X_COMMUNE au niveau g´eographique de la commune,
X_ECPI au niveau g´eographique de la communaut´e de communes,
X_CANTON au niveau g´eographique du canton,
X_DEP au niveau g´eographique du d´epartement.
5. Construire alors quatre cartes de la Basse-Normandie du nombre de g´en´eralistes pour chacune des ´echelles g´eographiques
utilis´ees.
Figure 1 – Carte d´epartementale
http://www.math.unicaen.fr/~kauffman/cours
3
[email protected]
Figure 2 – Carte commune
Figure 3 – Carte canton
Figure 4 – Carte communaut´e de communes
1.5
Ajout d’information `
a l’aide de table d’annotation
Dans cette question, on ajoute sur une carte le trac´e du contour des d´epartements ou le contour des communaut´es de
communes.
(a) Dans cette question on ajoute le trac´e des d´epartement `a une carte au niveau des communes.
Figure 5 – Carte commune et d´epartement
i. Construire le programme cr´eant la table d’annotation `a partir de la table contenant la carte des d´epartements.
http://www.math.unicaen.fr/~kauffman/cours
4
[email protected]
/* Table d'annotation contour des d´
epartements */
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´edure 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´e des communaut´es de communes `a une carte au niveau des communes. La figure
incluse dans l’´enonc´e n’est pas exactement celle cr´ee par SEG.
Figure 6 – Carte commune et communaut´es de communes
Construire cette figure en respectant
(a) Cr´eer un format permettant de d´ecomposer le nombre de m´edecins g´en´eralistes pour 100 000 habitants sera en 4
classes : de 0 `
a 10, de 10 `
a 50, de 50 `
a 100 et plus de 100.
(b) Initialiser quatre pattern `
a 4 couleurs d’un ton pastel `a un ton de plus en plus fonc´e.
(c) Construire la carte.
http://www.math.unicaen.fr/~kauffman/cours
5
[email protected]