Mapas SAS a partir de shapefile

29 Oct

Mapa shp SAS

Los mapas como este no los hago habitualmente con SAS pero que puede interesaros saber como se pueden hacer. Para la realización de mapas a partir de shapefiles suelo usar R, los que seáis habituales del blog sabéis que hay entradas al respecto. Sin embargo, recientemente, he conocido QGIS que interactúa a la perfección con Excel. El ejemplo de hoy es para aquellos que no conocéis QGIS o R y estáis más habituados a trabajar con SAS. Se trata de importar un shapefile con SAS poder hacer un sencillo tratamiento de datos y posteriormente realizar un mapa muy simple con SAS. Para ilustrar el ejemplo vamos a realizar un mapa por municipios de una provincia española con SAS y para ello necesitamos un fichero *.shp que os vais a descargar de http://www.gadm.org/country seleccionáis los mapas de España y descargáis el ZIP que contiene los archivos. El primer paso es crear un conjunto de datos SAS a partir del shapefile:

proc mapimport datafile=»/directorio/mapa_sas/ESP_adm4.shp»
out = work.espania;
run;

Se emplea el proc mapimport que genera un conjunto de datos SAS compuesto por las coordenadas, identificadores y nombres de los municipios. Hacemos un tratamiento de datos muy sencillo:

data cadiz;
set espania;
if name_2 = «Cádiz»;
run;

proc sort data=cadiz out=municipios nodupkey;
by id_4;
run;

data municipios;
set municipios;
aleatorio = ranpoi(3,4);
run;

Seleccionamos la provincia de Cádiz, sobre sus municipios calculamos una varible aleatoria (muy fácil todo) que será la que representemos en SAS con el proc gmap:

proc gmap data=municipios map=cadiz;
id id_4;
choro aleatorio/discrete;
run;quit;

Ya sabéis hacerlo con SAS, pero os recomiendo que vayáis instalando QGIS. Saludos.

6 respuestas a «Mapas SAS a partir de shapefile»

  1. Excelente artículo.
    Lo hice sin problemas en mi ordenador y también grafiqué otras provincias .
    Ahora una pregunta estimado:
    Cómo puedo subdividir los municipios según sus respectivos códigos postales, es decir, subdividir los municipios con el territorio asignado a cada código postal?
    Dejo mi correo personal por si alguien quiere aportar.
    farcos@ucm.es
    Muchas gracias a todos.

  2. Hola, estoy utilizando SAS Enterprise Guide y, cada vez que abro un proyecto, cuando tengo que asignar una librería en el servidor tengo que hacerlo utilizando el ratón y pinchando el botón derecho y asignar. A veces se me olvida y me saltan muchos errores ya que tengo colgadas muchas tablas que se utilizan en el servidor y si no se asigna la librería no las reconoce. Mi pregunta es, ¿existe alguna sentencia en código para asignarlas automáticamente sin necesidad de utilizar el ratón?

    Saludos y gracias.

  3. Pingback: Como obtener los centroides de municipios con SAS. Mapas con SGPLOT | Análisis y Decisión

  4. Hola, pongo:
    proc mapimport
    out = work.MEXICO
    datafile=»C:\MAPA\gadm36_MEX_2.shp»;

    run;

    y me sale }

    WARNING: Physical file does not exist, /datos/SAS94/CONFIG/Lev1/SASApp/C:\MAPA\gadm36_MEX_2.shp.
    ERROR: DATAFILE no se puede abrir.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *