====== GPS ====== Matériel en SEN GenLoc 31e LOCALISATION GPS - COMMUNICATION GSM/GPRS http://www.ercogener.com/modem-embarque-gsm-gprs-gps-genloc-31e.html Doc GenLoc 31e et luetooth GenBlue 19e DCE Genblue 15e http://www.ercogener.com/doc-techniques.html Tout sur la trame [[http://www.gpsinformation.org/dale/nmea.htm |NMEA data]] [[http://www.gpspassion.com/forumsen/topic.asp?TOPIC_ID=17661 |Les Trames NMEA]] ===== Cartographie ===== Le portail des territoires et des citoyens http://www.geoportail.fr Pour pointer un lieu : http://www.geoportail.fr/aide.do?typeSommaire=5741261&idDoc=5780669 L'incontournable http://earth.google.fr/ **Mais aussi un logiciel libre : Marble avec des cartes libres Openstreetmap sous GNU Linux** ==== Logiciel Libre ==== [[http://www.openstreetmap.org/ |Openstreetmap]] Pour marquer un point sur Openstreetmap http://www.openstreetmap.org/?mlat=48.465&mlon=-2.045&zoom=16&layers=B000FTF http://maposmatic.org/ [[http://redmine.peacefrogs.net/projects/show/chimere |Chimere]] gpsbabel http://www.gpsbabel.org/ conversion gpx nmea : http://old.nabble.com/Converting-.gpx-to-NMEA-td21593436.html gpicsync pour synchroniser vos photos http://code.google.com/p/gpicsync/ Pour travailler avec la liaison série Sous GNU-Linux gtkterm ou cu ou minicom Sous Windows, Tera Term sous licence BSD Pour les portables, on peut utiliser ces logiciels avec un adaptateur USB RS232. ===== TP SEN ===== Le TP de base consiste à installer le GPS, antennes, prise DB15 port série et alimentation. * Prendre en main le GPS avec la liaison série, configuration du port série * sous Ubuntu avec gtkterm sous windows avec Tera Term (les nouveaux windows n'ont plus hyperterminal) * Comprendre les commandes AT du GPS pourfaire quelques mesures automatiques. * Sauvegarder les relevés (format NMEA) dans un fichier texte. * Sous windows le convertir au format kml avec l'utilitaire fourni pour le voir avec google earth * Sous Ubuntu, on trouvera ci dessous 2 convertisseurs pour visualiser sur Openstreetmap et geoportail. * Pour info le convertisseur en python peut-être utilisé sous windows si vous avez installé python. ==== Visualiser les points GPS ==== GPSBABEL permet une conversion de trame nmea en kml pour google earth **Attention** sous linux prolème avec la langue et les conversions Lire http://www.google.com/support/forum/p/earth/thread?tid=72b851d55f188cea&hl=en Il faut modifier le fichier (script) /opt/google-earth/googleearth en administrateur avec vim par exemple : sudo vim /opt/google-earth/googleearth mettre la ligne export LC_ALL=us_US.UTF-8 après la ligne export LD_LIBRARY_PATH gpsbabel -w -i nmea -f "LOG0.TXT" -o kml -F "LOG0.kml" Sinon voici un petit script perso en bash Il faut avoir mémoriser des trames GPRMC avec gtkterm dans un fichier trame.txt par exemple. **position_gps.sh** Pour le lancer dans un terminal : bash position_gps.sh trame.txt #!/bin/bash # licence GPL , vous pouvez l'utiliser, le copier, le modifier, le redistribuer # extraire position latitude,longitude d'une trame GPRMC : ${1:?"erreur, il faut mettre au moins un fichier en argument"} pole=$(grep -m 1 GPRMC $1 |cut -d "," -f 5) if [ "$pole" = "S" ] then spole="-" elif [ "$pole" != "N" ] then echo erreur; exit 1 fi lat=$(grep -m 1 GPRMC $1 |cut -d "," -f 4) WE=$(grep -m 1 GPRMC $1 |cut -d "," -f 7) if [ "$WE" = "W" ] then sens="-" elif [ "$WE" != "E" ] then echo erreur; exit 1 fi longt=$(grep -m 1 GPRMC $1 |cut -d "," -f 6) dmsdd() { l1=$(echo "$1%100" |bc) ldeg=$(echo "scale=0;$1/100" |bc) lm=$(echo "scale=0;$l1/1" |bc) ldec=$(echo "scale=5;$l1/60"|bc) l1=$(echo "scale=0;$1-$1/1" |bc) ls=$(echo "60*$l1" |bc|tr . ,) la=$(echo "$ldeg° $lm' $ls'' ") lb=$(echo "$ldeg.$ldec") echo $ldeg $lm $ls $ldec } # Affichage echo "$lat,$longt" set -- $(dmsdd $lat) echo "latitude $spole$1° $2' $3''" glat=$(echo "$spole$1$4") mlat=$(echo "mlat=$glat") set -- $(dmsdd $longt) echo "longitude $sens$1° $2' $3''" glon=$(echo "$sens$1$4") mlon=$(echo "mlon=$glon") echo "http://www.openstreetmap.org/?$mlat&$mlon&zoom=16&layers=B000FTF" echo "http://www.geoportail.fr/?c=$glon,$glat&z=4" firefox "http://www.geoportail.fr/?c=$glon,$glat&z=4" firefox "http://www.openstreetmap.org/?$mlat&$mlon&zoom=14&layers=B000FTF" Le même convertisseur en python **position_gps.py** Pour le lancer dans un terminal #!/usr/bin/python # -*- coding: utf-8 -*- # licence GPL , vous pouvez l'utiliser, le copier, le modifier, le redistribuer # extraire position latitude,longitude d'une trame GPRMC en python #exemple de trame $GPRMC,124839.00,A,4805.42215,N,00140.61018,W,0.654,324.20,120110,,,A*78 import sys,os #ouvrir fichier if len(sys.argv) == 1: print "erreur , il faut mettre un fichier en paramètre" print "usage ./position_gps.py trame.txt" sys.exit(1) fichier=sys.argv[1] print fichier f=open(fichier,'r') #lire la première ligne et créer une liste des différents paramètres séparées par une virgule ligne=f.readline().split(',') type=ligne[0] #ici $GPRMC if (type != "$GPRMC") : sys.exit(1) #on quitte l'appication si la ligne ne commence pas par $GPRMC pole=ligne[4] spole="" if (pole == 'S') : spole="-" elif (pole != 'N'): print "erreur de mesure" sys.exit(1) lat=float(ligne[3]) WE=ligne[6] sens="" if (WE == 'W') : sens="-" elif (pole != 'E'): print "erreur de mesure" sys.exit(1) longt=float(ligne[5]) def dmsdd(coord): deg=int(coord/100) dec=deg+(coord-100*deg)/60 min=int(coord-100*deg) sec=60*(coord-100*deg-min) coordo=str(deg)+"° "+str(min)+"' "+str(sec)+"''" return dec,coordo # Affichage mlat,lata=dmsdd(lat) mlon,longi=dmsdd(longt) print "Mesure : latitude ",spole,lata," longitude ",sens,longi osm="firefox \"http://www.openstreetmap.org/?mlat="+spole+str(mlat)+"&mlon="+sens+str(mlon)+"&zoom=16&layers=B000FTF\" " os.system(osm) portail="firefox \"http://www.geoportail.fr/?c="+sens+str(mlon)+","+spole+str(mlat)+"&z=4\" " os.system(portail) ==== GPS et Bluetooth ==== Le gps GenLoc 31e possède deux modules Bluetooth. 19e et 15e Le tout fonctionne très bien avec Debian Lenny et gtkterm. - Mettre le GenLoc 31e en 115kbaud. - Initialiser les 2 adaptateurs Bluetooth - Créer une macro dans gtkterm pour la commande A+++ sans retour à la ligne - Relancer les modules pour un usage transparent pour la liaison série. A voir, http://doc.ubuntu-fr.org/gps ===== Cartographie extra ===== Pour participer à Openstreetmap Cartographie Libre http://gulliver.eu.org/wiki/CartographieLibre http://gulliver.eu.org/wiki/GarminEtrexLegendHcx http://gulliver.eu.org/wiki/GlobalsatDG100 Le data logger Royaltek RGM 3800 http://gulliver.eu.org/wiki/RoyaltekRGM3800 GPSd http://gpsd.berlios.de/ http://wiki.zaurusfr.org/index.php?title=GPS http://www.gpsdrive.de/support.shtml ==== géomatique ==== http://www.osgeo.org/ http://www.gvsig.org/web/ **Le paquet Debian de gvsig :** https://gvsig.org/plugins/downloads/debian-releases http://sigea.educagri.fr/ressources-pedagogiques/utilisation-des-logiciels/tutoriels-de-logiciels-gratuits/tutoriels-gvsig.html http://georezo.net/forum/ Allez dans la partie Le coin de l'Open Source **Forum Geolibre** http://georezo.net/forum/viewforum.php?id=37 http://georezo.net/forum/viewtopic.php?id=55170 http://pagesperso-orange.fr/sig-pour-tous/