BookmarkSubscribeRSS Feed
Alassane_SOMA
Calcite | Level 5

Bonjour, je souhaite réaliser une cartographie afin de pouvoir placer des coordonnées géographique la dessus mais je ne sais pas quelle commande utiliser. cela fait plus de deux mois que je cherche jour et nuit comment procéder.

la ville concernant est celle de Ouagadougou, la capitale de Burkina Faso.

-mon objectif même est de faire d'abord la carte de la ville de Ouagadougou avec les contour des secteurs

-puis après placé des points sur les zones à risque à travers les coordonnées géographiques(LAT et LONG)

besoin de votre aide.

10 REPLIES 10
PGStats
Opal | Level 21

Vous pourriez afficher vos coordonnées dans Google Earth Pro (disponible gratuitement). On peut aussi associer du texte avec chaque coordonnée. Il suffit de créer un fichier .kml et de l'ouvrir avec Google Earth. J'ai écrit une macro SAS pour automatiser la création du fichier kml à partir des coordonnées et de leurs descriptions. Voici un exemple:

 

/* Générer les positions (lat-long) de 11 coordonnées le long de la piste d'atterrissage 
   de l'aéroport de Ouagadougou à partir des positions des extrémités de la piste.
   Ajouter les variables name et description. Name sera affiché sur la carte et description 
   apparaitra lorsque la coordonnée sera pointée sur la carte. */
data piste;
length name $12 description $64;
lon_s = -1.52003955; lat_s = 12.34201176;
lon_n = -1.50495766; lat_n = 12.36407826;
do pos = 0 to 1 by 0.1;
    name = catx(" ", "Position", pos*10);
    description = catx("
", "Piste de l'aéroport de Ouagadougou", name);
    lon = (1-pos)*lon_s + pos*lon_n;
    lat = (1-pos)*lat_s + pos*lat_n;
    output;
    end;
keep name description lat lon;
run;


%writeKML(piste,/home/pierre.gagnon/SASforum/Datasets/Piste.kml,
    title=Aéroport de Ouagadougou,name=name,
    lon=lon,lat=lat,description=description,west=1,author=Alassane_SOMA)

Lorsqu'on ouvre le fichier Piste.kml dans Google Earth Pro :

 

Piste.png

La macro WriteKML est attachée.

PG
Alassane_SOMA
Calcite | Level 5

je vois mais ça ne répond toujours pas car je veux réaliser une carte de la dite ville avec les contours des secteurs. c'est pour identifier des sites de travail des travailleuses de sexe à risque. 

 

comment construire une carte même à travers SAS et comment placer des coordonnées géographiques dessus.

j'ai une base de 99 individus et parmi ces 99, j'ai 5 individus qui sont positifs au premier test et 24 positifs au second test et je veux représenter leurs sites par des points et en fonction des tests sur la carte compte tenu des secteur car les sites sont repartir par secteur

GraphGuy
Meteorite | Level 14

If you have SAS 9.4m5, you can use Proc SGmap to plot point data overlaid on map border polygons, and also show an Openstreetmap in the background. We (SAS) ship country map polygons with SAS/Graph - the finest level of granularity for our Burkina Faso map is the province level, and the example below shows how to subset just the Kadiogo province (the province that contains Ouagadougou), draw that border on an Openstreetmap, and then plot some point data on the map.

 

You could similarly plot the border of the city of Ouagadougou, but you'll need to find a Shapefile version of that border, and then use Proc Mapimport to convert that Shapefile into a map that SAS can use.

 

data my_map; set mapsgfk.burkina_faso (where=(id='BF-031'));
run;

 

data my_coordinates;
input lat long;
datalines;
12.3545487 -1.5890092
12.2874918 -1.5941963
;
run;

 

title1 "Point data, plotted in Kadiogo Province, Burkina Faso";
proc sgmap mapdata=my_map plotdata=my_coordinates noautolegend;
openstreetmap;
choromap / mapid=id lineattrs=(color=red thickness=2px);
scatter x=long y=lat / markerattrs=(symbol=circle size=6pt color='red');
run;

 

burkina.png

Alassane_SOMA
Calcite | Level 5

salut monsieur, merci pour votre réponse qui me guide un peu mais j'aurai besoin d'une partie encore plus pour mieux comprendre.
je comprend la fin et votre carte est approximativement ce que je veux mais j'aimerais savoir comment vous avez débuté pour faire sortie la carte.
quand je débute par :


""""data my_map; set mapsgfk.burkina_faso (where=(id='BF-031'));
run;

 

data my_coordinates;
input lat long;
datalines;
12.3545487 -1.5890092
12.2874918 -1.5941963
;
run;

 

title1 "Point data, plotted in Kadiogo Province, Burkina Faso";
proc sgmap mapdata=my_map plotdata=my_coordinates noautolegend;
openstreetmap;
choromap / mapid=id lineattrs=(color=red thickness=2px);
scatter x=long y=lat / markerattrs=(symbol=circle size=6pt color='red');
run;""""

on me dit ceci:
''"ERROR 180-322: Statement is not valid or it is used out of proper order""

GraphGuy
Meteorite | Level 14

Are you submitting/running all those quote (''''') marks at the beginning and end of the code?

Those should not be there.

 

Other than that, the code you copy-n-pasted looks ok - as long as you have a SAS/Graph license to give you access to the mapsgfk.burkina_faso, and you have SAS 9.4m5 (that's SAS 9.4, maintenance 5) to give you access to recently-added Proc SGmap.

Alassane_SOMA
Calcite | Level 5

En effet, j'ai mis ces (""") pour cadrer le code que j'ai copier sinon sur le logiciel, j'ai juste copier le code de manière intégrale et coller. j'ai rien changé et malheureusement c'est le message d'erreur d'en bas qu'ont me pressente. 

j'ai bien-sur SAS v 9.4 mais je n'arrive pas.

GraphGuy
Meteorite | Level 14

Proc Sgmap is very new, therefore it will matter exactly which release of SAS 9.4 you have.

Try running this comand...

%put &sysvlong;

And copy-n-paste the results from the SAS log, such as the number below...

9.04.01M6P111518

 

 

Alassane_SOMA
Calcite | Level 5
D'accord je vais essayer de désinstaller et télécharger à nouveau une nouvelle version puis essayer votre commande voir.
GraphGuy
Meteorite | Level 14

If you can get SAS v9.4m6, that is the exact version I used to create the example (above).

Alassane_SOMA
Calcite | Level 5
C'est noté mais vous pouvez m'aider avec le lien pour le télécharger directement svp ?

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 10 replies
  • 2130 views
  • 1 like
  • 3 in conversation