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
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
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. 
Le TP de base consiste à installer le GPS, antennes, prise DB15 port série et alimentation.
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) 
Le gps GenLoc 31e  possède deux modules Bluetooth. 19e et 15e 
Le tout fonctionne très bien avec Debian Lenny et gtkterm.
A voir, http://doc.ubuntu-fr.org/gps
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
http://www.osgeo.org/ http://www.gvsig.org/web/ Le paquet Debian de gvsig : https://gvsig.org/plugins/downloads/debian-releases
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/