Table des matières

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 NMEA data 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

Openstreetmap Pour marquer un point sur Openstreetmap http://www.openstreetmap.org/?mlat=48.465&mlon=-2.045&zoom=16&layers=B000FTF

http://maposmatic.org/ 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.

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.

  1. Mettre le GenLoc 31e en 115kbaud.
  2. Initialiser les 2 adaptateurs Bluetooth
  3. Créer une macro dans gtkterm pour la commande A+++ sans retour à la ligne
  4. 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/