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.
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 :
La macro WriteKML est attachée.
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
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;
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""
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.
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.
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
If you can get SAS v9.4m6, that is the exact version I used to create the example (above).
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.