Google Maps og SAS/GRAPH software Jens Dahl Mikkelsen, Business Advisor, Information Management
Agenda Formål Introduktion til geografisk visning af data SAS/GRAPH software Google Maps, Google Earth Geokodning Data i SAS vist i Google Maps KML, KMZ Nåle og choropleth maps Data i Google Earth til SAS-bearbejdning SAS XML Mapper 2
Agenda fortsat Google Maps i SAS Information Delivery Portal Google Maps API, portlet, stored process Google Maps som cloud computer URL access method Afrunding 3
Formål Hvem anvender Google Maps/Google Earth i (SAS -) applikationer? Inspiration Teknikker Henvisninger 4
SAS/GRAPH Mapping Proc Gmap choro, prism, surface Animeret GIF Java Drillable Map Programmer til graferne er i SAS/GRAPH software Sample Library 5
Geokodning Kobling af adressedata med længde-/bredde-information Til lande-, regions-, by-, adresseniveau centroider Kræver rensede adressedata DataFlux Base SAS, SAS Enterprise Guide, SAS DI Studio Kræver lookup-datasæt Se links sidst i præsentationen For USA-adresser sashelp.zipcodes Proc Geocode Postadresser, IP-adresser, Nu med street level mapning i SAS 9.2 (SAS/GRAPH) 6
Geodist-funktion Ny i Base SAS 9.2 Geodætisk afstand mellem to punkter Bredde/længde i grader eller radianer Afstand i km eller M data _null_; distance=geodist(55.680, 12.579, 55.670, 12.561 ); put 'Distance= ' distance commax6.3 ' kilometer'; run; Distance= 1,588 kilometer 7
Google Maps Google Earth Interaktivitet, integration kortmateriale, billeder m.m. Datalag på kort (egne eller andres) Demo: Forfra og manuelt Automatiseret udveksling af data mellem SAS og Google Bearbejdning og præsentation hvor det giver mest mening 8
Metode 1: Eksempel: Prikker på kort med SAS Forum-deltagere Geokodede data i SAS -tabel Dan KML-fil fra datastep Importer KML-fil i Google Maps Login mine kort nyt importér 9
Kode 1/2 Klargør data /* Metode 1: Eksempel: Dan KML med nål for hver deltager-lokation */ %let name=c:\temp\test01; * name of kml file; %let kml_name=attendee_name; * short name of this data point; %let kml_description = strip(account)!!', '!! city ; * description for this data point; data prep_kml; keep kml_name kml_description kml_long_lat ; length kml_name $50 kml_description $75 kml_long_lat $100; set sasforum.delt_lat_long; kml_name=&kml_name; kml_description=&kml_description; kml_long_lat="<coordinates>" strip(longitude) "," strip(lattitude) ",0</coordinates>"; run; 10
Kode 2/2 Dan KML-fil data _null_; run; set prep_kml end=no_more; file "&name..kml";* noprint notitle linesize=100 pagesize=2000; /* Write kml header, before first obsn */ if _n_=1 then do; end; put ' put ' put '<?xml version="1.0" encoding="utf-8"?>'; put ' <kml xmlns="http://www.opengis.net/kml/2.2">'; put ' <Folder> '; put ' put ' <name>sas Forum 2010</name>'; <open>1</open>'; put ' <description> Folder med data vedr SAS Forum </description> '; <Placemark>'; <name>' kml_name '</name>'; put ' <description>' / ' <![CDATA[ ' kml_description ' ]]>' / ' put ' put @15 kml_long_lat; put ' put ' if no_more then do; end; put ' put '</kml>'; </description>'; <Point>'; </Point>'; </Placemark>'; </Folder>'; 11
12
Metode 1 Eksempel: Choropleth map gennemsnitsindkomst NC, USA Polygoner farvet efter værdi af responsvariabel Koordinater for polygoner i SAS -datasæt Maps library (SAS/GRAPH software) omregn fra radianer til long/lat Kombiner med responsdatasæt Dan KML (KMZ)-fil fra datastep Importér i Google Maps Se kode i paper af Mahmoud Azimaee Macro, der danner farveniveauer baseret på forskellige kriterier 13
14
Metode 2 SAS XML Mapper Eksempel: Google Earth data til SAS -bearbejdning Eksportér KML/KMZ-fil fra Google Earth I folder højreklik foldernavn, Gem sted som Lav XML map i SAS XML Mapper SAS-datasæt Analysér,. med SAS Demo 15
Metode 3 Google Maps API Google Maps i SAS Information Delivery Portal Portlet, som viser Google map Kun tilgængelig i forbindelse med konsulentprojekter Populeret med data manuelt eller via stored process Anvender Google Maps API API til forskellige udviklingssprog Kræver developer key Hvis portal ikke er offentlig tilgængelig, er der licens til Google Se link sidst i præsentationen Demo 16
17
Metode 4 URL Access Method Cloud computing eksempel: Hvor langt har I hjem til pinden, og hvor lang tid tager det (i bil)? Send forespørgsel til Google Maps på rute (afstand, tid) mellem to adresser med URL filename: Sender request til URL Modtager HTML source Macro variabler &start og &end2 med adresser. Blank-tegn erstattes med + filename afst url "http://maps.google.com/maps?daddr=&start.%nrstr(&saddr)=&end2" ; Hvis man er bag en firewall, tilføjes før semikolon flg.: proxy='http://<din_proxy_server> ; 18
19
Metode 4 Kode og resultat 20
Afrunding Vi har set på Proc Gmap, Proc Geocode, Geodist function Datastep til dannelse af KML SAS XML Mapper til dannelse af SAS-datasæt fra KML Portlet stored process-integration med Google Maps URL access method Inspiration? Din tur! Vis os, hvad du kommer op med på næste års SAS Forum 21
Links Google Maps API developer key, KML tutorial & reference http://code.google.com/intl/da/apis/maps/signup.html Geokodning af adresser, f.eks. http://www.maxmind.com/app/geolitecity http://www.geomatic.dk/ Region-kommune(-postnr)-by http://www.clauskc.dk/serenety/archives/165-region-kommune-postby.html Danmarkskort (efter kommunalreform) til SAS/GRAPH software http://www.sas.com/offices/europe/denmark/support/danmarkskort.html 22
Andre muligheder SAS Bridge for ESRI Microsoft Bing Maps 23
Referencer Eksempler inspireret af, og lånt fra flg., samt yderligere information: SAS/GRAPH sample library (i installationsfolder for SAS/GRAPH software) Azimaee, Mahmoud, 2010: KML Macro: Integrating SAS and Google API and Its Application in Mapping Manitoba s Health Data on Google Earth and Google Map SAS Global Forum 2010 Proceedings, paper 220-2010 Conway, Ted, 2010: Get to Your Points: Using SAS to Build Google Maps SAS Global Forum 2010 Proceedings, paper 052-2010 Masselgill, Darrell, 2010: Google Maps and SAS/Graph SAS Global Forum 2010 Proceedings, paper 025-2010 Massengill, Darrel & Odom, Ed, 2010: Proc Geocode: Now with Street Level Geocoding SAS Global Forum 2010 Proceedings, paper 332-2010 Kuiper, Daniël & Vyerman, Koen, 2008: Put your Customers on the Map: Integrating SAS/Graph and Google Earth. SAS Global Forum 2008 Proceedings, paper 252-2008 Zdeb, Mike, 2010: Driving Distances and Times Using SAS and Google Maps SAS Global Forum 2010 Proceedings, paper 050-2010 24
Jens Dahl Mikkelsen Jens.dahl.mikkelsen@sdk.sas.com 25