SAS/Graph maps are provided, as SAS datasets (.sas7bdat), in several forms:
A standard base map,
a map where the regions of France have been slightly exploded for increased visibility,
an equal population-density
cartogram, where the polygons for departments have been expanded/contracted
so that the area of each department reflects
the population of France in 1831.
The cartogram was calculated using an adaptive density-equalizing algorithm
devised by
Michael Gastner and Mark Newman,
Proc. Nat. Acad. Sci., 101, 7499-7504 (2004)
(Interestingly, it doesn't make much of a difference, except in the area around Paris.)
In all of these, and in the maps derived for other systems, the X,Y coordinates are projected coordinates in an Arbitrary
Cartesian coordinate system that was used by SAS in the file MAPS.FRANCE.
At the moment, there is no information available on the original projection
or parameters used for the data set.
There are 3 files for each form:
The map polygon file, containing X, Y coordinates for each department,
The ID names file, containing department names and (X, Y) centroids used for labeling,
The region outline file, containing SAS/Graph annotate instructions to draw the outlines
of the regions of France on the map.
Note: All 9 of these map datasets are contained in a SAS transport file:
gfrance.cpt, created with PROC CPORT, by
cportmaps.sas.
Details
The SAS/Graph maps were derived from the maps,
france.sas7bdat and france2.sas7bdat supplied with SAS/Graph software, as follows:
Polygons for the departments were
merged or deleted to adjust the departments in the current map
to those in France ~1830. Specifically:
Corsica (now IDs 201, 202): merged to form Dept=200
Essonne (91), Val d'Oise (95) and Yvelines (78): merged to form
Seine-et-Oise (Dept=78)
Hauts-de-Seine (92), Seine-Saint-Denis (93) et Val-de-Marne (94):
merged with Paris (75) to form Seine (Dept=75)
departments not part of France in 1830 were deleted:
Alpes-Maritimes (6), Savoie (73), Haute-Savoie (74), Territore-de-Belfort (90)
Map density values (1-6) were added to the polygons using PROC GREDUCE to allow
the map to be drawn with decreased resolution (but producing smaller output
files). E.g., selecting only polygon lines assigned DENSITY = {1:4} reduces the
number of observations by XX %, with barely detectible difference in the map.
See the code used to create the maps: gfrance.sas.
Projected Latitude (arbitrary Cartesian coordinates)
DENSITY
Num
4
Map density value, 1-6
ID names dataset
This dataset contains the Department names and the X, Y coordinate of the
centroid of each department. This dataset has 86 observations.
Variable
Type
Len
Label
ID
Num
8
Department Id Number
Dept
Num
8
Department ID
Region
Char
1
Region
Department
Char
25
Department name
X
Num
6
X centroid
Y
Num
6
Y centroid
Region outlines dataset
This dataset contains SAS/Graph annotate instructions to draw the outlines of regions on the map.
It was constructed from GFRANCE using PROC GREMOVE to remove the internal boundaries within regions, and
PROC GREDUCE to add map DENSITY values.
The dataset has 2026 observations.
Variable
Type
Len
Label
function
Char
8
Annotate function
color
Char
8
Color
Region
Char
1
Map region
X
Num
6
Projected Longitude
Y
Num
6
Projected Latitude
DENSITY
Num
4
Map density value
xsys
Char
1
X coordinate system
ysys
Char
1
Y coordinate system
hsys
Char
1
H coordinate system
size
Num
8
Size
when
Char
1
When to draw
Usage
The following statements illustrate how the datasets are used to draw the GFRANCE map shown above.
*--- Add dept numbers and names;
%let prefix=g;
data names;
set mymaps.&prefix.france2;
length function $8 text $20;
xsys ='2'; ysys='2'; when='A';
function='label';
text=Department; size=0.7; position='E';
output;
text = put(dept, 3.);
size=1; position='B';
output;
*-- Join with the outline data;
data names;
set names mymaps.&prefix.outline;
*-- Colors for the regions;
pattern1 v=solid c=cx99CC66; * C;
pattern2 v=solid c=cx666699; * E;
pattern3 v=solid c=cxCC9966; * N;
pattern4 v=solid c=cxCC6699; * S;
pattern5 v=solid c=cx9966CC; * W;
proc gmap
map=mymaps.&prefix.france (where=(density<=4))
data=mymaps.&prefix.france2;
id dept;
choro region / discrete coutline=graycc name="gfrance" nolegend
anno=names ;
Mondrian map and data
There are two versions of the files for use with Martin Theus'
Mondrian.
See the README.
Maps of France, together with Guerry's data and more are now available from CRAN in the
Guerry package.
The package also contains a vignette, "MultiSpat",
written by Stephane Dray.
Sample usage:
install.packages("Guerry")
library(Guerry)
data(gfrance)
names(gfrance) ## list @data variables
plot(gfrance) ## just show the map outline
# Show basic choropleth plots of some of the variables
spplot(gfrance, "Crime_pers")
spplot(gfrance, "Crime_prop")
vignette("MultiSpat")
For historical purposes, older files used to construct the Guerry package
are listed below.
These should also work with other software
that read shapefiles (e.g., ARC/GIS, GeoDA).
R read.csv call: guerry <- read.csv("http://www.datavis.ca/gallery/guerryguerry.csv", na.strings=" ")
gfrance.zip, containing shapefiles and projection files:
gfrance1.dbf,gfrance1.shx, gfrance1.shp
gfrance2.dbf,gfrance2.shx, gfrance2.shp -- with Region boundaries
constructed as a SpatialPolygonsDataFrame with the maptools package (by Roger Bivand).
The projection here seems to be France ED50 EuroLambert, Lambert Conic
Conformal with parameters set for continental France. Roger says: In PROJ.4 this is:
Spatial data analysis and modeling typically requires weights to take
geospatial contiguity and distance into account. Here are some files
I've prepared for this use from the map of France.
Distances between department centroids, in arbitrary Euclidean metric