* Outils SIG
Pour manipuler à proprement parler des données géographiques, avec des applications aussi variées que : réaliser des modèles de terrain en 3D (traitement d'images satellites + import de points GPS par exemple), évaluer le plus court chemin en terme de contraintes entre deux points, etc.
* Les bases de données spatialisées
Historiquement, le stockage de l'information géographique se fait dans des fichiers texte contenant les coordonnées des objets géographiques de type vecteur, indépendamment des données attributaires. Les bases de données spatialisées apportent de nouveaux types, de nouvelles fonctions (conversion de système de coordonnées, etc) permettant de stocker de l'information géographique et d'y accéder de manière pertinente avec tous les atouts des SGBD modernes (intégrité, backup, multi-utilisateur, etc) comme décrit par SQL99.
* Les serveurs cartographiques
Les serveurs cartographiques permettent de rendre accessible un système d'information géographique via un simple navigateur pour effectuer essentiellement de la consultation. Un exemple valant mieux qu'un long discours ... Pensez à Mappy aussi.
* Les bibliothèques pour le développement
Que ce soit pour faire du traitement d'image, des conversions de système de coordonnées, accéder à un GPS ou encore autre chose, ce ne sont pas les bibliothèques qui manquent !
Les exemples présentés ci après illustrent bien que le modèle «logiciel libre» permet à l'ensemble des outils d'étendre leur portée en s'appuyant sur les fonctionnalités des autres outils (utilisation de bibliothèques libres, connectivité avec les bases de données libres, etc). L'ensemble forme désormais un tout assez cohérent et offre une alternative pour le moins intéressante aux solutions commerciales. Faisons le tour des dernières évolutions autour des logiciels phares du secteur :
Outils SIG
* GRASS, 5.7, CVS
Le logiciel SIG, particulièrement performant pour les traitements raster (sur les images). La version de développement (la dernière version stable, 5.3, date de Mai 2004) propose de nombreuses améliorations, dont en particulier le support des standards de facto (SHP), de PostGIS pour le stockage des données géographiques, grâce à la bibliothèque OGR, un système d'indexation spatiale amélioré, une meilleure connectivité avec les principales bases libres + ODBC, support des requêtes SQL pour les objets géographiques, une optimisation de certains algorithmes (recherche chemin le plus court, etc), ...
GRASS peut utiliser de nombreuses bibliothèques pour étendre ses fonctionnalités, par exemple, R-GRASS, permettant de rajouter à GRASS des fonctionnalités statistiques (ou à R une dimensions spatiale, à choisir).
* QGIS, 0.5, 2 Octobre 2004
Cet outil développé en Qt présente une interface sympathique permettant désormais d'accéder à des bases de données PostGIS, d'accéder aux projets GRASS, de digitaliser, de modifier ces fichiers, etc. PostGIS permet également d'éditer les fichiers SHP ce qui en fait un bon outil de visionnage pour les fichiers de type SHP. Son interface est également plus attractive que celle de GRASS pour les non-initiés. À découvrir !
* les autres sont à découvrir sur freegis.org
Bases de données spatialisées
* PostgreSQL/PostGIS 0.9, 9 Septembre 2004
PostGIS est une extension spatiale à postgreSQL apportant le support pour les objets géographiques ainsi que nombre de fonctions associées (intersection(obj1, obj2) retourne par exemple l'objet de l'intersection de deux objets géographiques). PostGIS sera soumis à l'épreuve de la conformité aux spécifications OpenGIS pour la version 1.0. Ça approche !
* MySQL, 4.1
MySQL a introduit dans sa dernière version le support pour les objets géographiques. Ces fonctionnalités ne sont pour le moment disponibles que pour les tables de type MyISAM. De nombreuses fonctions sont déjà disponibles et ne demande qu'à être testées. Les fonctionnalités manquantes par rapport aux spécifications OpenGIS devraient être apportées pour la 4.2 en même temps que l'amélioration de celles existantes.
Serveurs cartographiques
* MapServer, 4.2.5, 18 Octobre 2004
MapServer est en fait un environnement de développement pour construire des applications cartographiques sur internet. L'API C est rendu accessible à des langages de scripts tels que perl, python, php et bientôt Java avec leurs bindings MapScript. Les CGI tout prêt MapServer permettent de faire déjà tout plein de choses à partir de fichiers SHP, de PostGIS et plein d'autres via OGR.
MapServer est un outil très utilisé dans le monde professionnel.
* GeoServer, 1.2.3, 14 Octobre 2004
GeoServer est une implémentation J2EE des spécifications OpenGIS pour les serveurs d'application cartographiques. À terme, il devrait permettre à l'utilisateur d'accéder au système d'information géographique, en mode consultation / modification. GeoServer est un projet assez récent mais fortement soutenu et assez actif.
Bibliothèques de développement
* PROJ4, 4 Octobre 2004, C
PROJ4 permet de réaliser des changements de système de coordonnées / projection, chose très fréquemment requise lorsque l'on travaille avec des images satellites, par exemple.
* OGR, C++
OGR permet d'accéder à divers formats de fichiers de données vectorielles, standards divers : SHP, MIF/MID, GML, etc. Un must-have pour toute application orientée cartographie.
* Les autres ...
Voir freegis.com, il y a certainement de quoi satisfaire tout le monde.
# spatialisation de l'information ou
Posté par saorge . Évalué à 7.
En effet, dans mon boulot, cela fait une différence directe. D'un côté, on retrouve des trucs genre Kartoo et de l'autre les projets mentionnés ci-dessus.
Sinon, très chouette article. Bon tour d'horizon ! J'avais eu l'occasion de réfléchir un peu sur ce qui existait dans le domaine du libre, et j'avais été surpris du nombre de projets existants.
# QGIS
Posté par Nicolas Dumoulin (site web personnel) . Évalué à 3.
De plus QGIS peut importer des données au format ArcInfo (ou un truc du genre).
QGIS propose également une API qui permet d'accéder à diverses sources de données en utilisant plusieurs librairies (postGIS, grass ...). Cette API a l'air bien documentée :-).
En tout cas, merci pour cette revue des outils existant aujourd'hui. Comme tu dis, c'est à la mode, je rajouterai que ça coûte très cher. Les solutions libres sont donc à étudier, ais la migration aussi doit coûter cher, sujet très délicat ...
à suivre
# base de donnée géographique
Posté par smorico . Évalué à 4.
J'en ai trouvé sur le site de l'IGN http://www.ign.fr/affiche_rubrique.asp?rbr_id=753&lng_id=FR(...) mais c'est quand même assez cher : 20 000 Euros pour géoroute (base de donnée routiere)...
[^] # Re: base de donnée géographique
Posté par nojhan (site web personnel, Mastodon) . Évalué à 5.
http://www.mapability.com/index1.html?http&&&www.mapabi(...)
http://www.soest.hawaii.edu/wessel/gshhs/gshhs.html(...)
Mais il y en a pleins d'autres, voir une revue sur wikimédia :
http://meta.wikimedia.org/wiki/Geographical_data(...)
Et aussi Xrmap qui manque au tableau et qui utilise des données libres :
http://frmas.free.fr/li_1.htm#_Xrmap_(...)
etc.
[^] # Re: base de donnée géographique
Posté par Rémi Hérilier . Évalué à 1.
# Lien sur le site de GRASS
Posté par mjwurtz . Évalué à 2.
# cartographie en php pour projet Wifi
Posté par Marc Quinton . Évalué à 3.
je suis en train de réaliser un système intéractif de cartographie tres simplifiée pour présenter des vue de réseau wifi.
j'ai besoin de :
1 - représenter une vue 2D, meme approximative ; j'ai deja réalisé quelque classes qui me permettent d'afficher (sans projection) les coordonnées géographiques sur une image générée a la volée.
2- j'ai aussi créé la notion de lien.
3 - la carte est en phase de devenir intéractive. Les objets affichés vont bientot réagir aux intéractions.
j'aurais besoin d'informations complémentaires :
1 - un algorythme permettant de trouver les nodes les plus proches. Je pensais creer un arbre de type b-tree. La fonction de comparaison pour insersion dans les noeuds et sous-noeuds étant tout simplement la distance.
Il suffit de comparer recursivement la distance, a gauche, a droite et de rentrer judicieusement dnas les sous-arbres.
Par la suite, pour détecter les voisin, il suffit de parcourir l'arbre.
J'espere que cet algo tient la route, je n'en n'ai pas la certitude, mais c'est intéressant de voir ... Je suppose qu'il doit exister d'autres methodes avec un decoupage par zone.
2 - j'aimerai bien evaluer les distances en kilometre et metres, meme sans une grande précision. Pour cela j'ai trouvé quelque sites :
http://www.lion1906.com/Pages/Orthodromie.html(...)
http://www.ign.fr/telechargement/education/fiches/geodesie/coordonn(...)
étant donné que les distances utilisées dans le cadre de ce projet sont tres courtes, la courbure de la terre ne devrait pas avoir une importance significative. Aussi je pensais calculer la distance en applicant le théoreme de Pythagore, connaissance le rayon moyen de la terre, ca devrait suffir. Mais les resultats obtenus ne sont pas statisfaisants : trop grande erreur par rapport a des valeurs de reference trouvées sur le net.
Dans mon algo, j'ai défini une classe Terre avec un rayon de 6366 (lion1906). J'en déduit les dimensions d'un degré d'arc (a l'equateur) : 111km. Il est plus petit sous nos latitudes : reduit de cos(latitude). A partir de ces données, une simple triangulation avec un triangle rectangle (donc Pythagore) devrait suffir, hors, j'obtient des décalage de 25 à 50%.
ou est mon errreur ?
voici mes 2 methodes php :
function distance(){
# théoreme de pythagore devrait suffire sur des petites distances !
$width = ($this->p1->x - $this->p2->x);
$height = ($this->p1->y - $this->p2->y);
# manque cos(latitude)
return ( $this->terre->degre * sqrt(pow($width, 2) + pow($height,2)));
}
# http://www.lion1906.com/Pages/OrthodromieCap.html(...)
function distance_orthodromique(){
$LatA = deg2rad($this->p1->latitude());
$LatB = deg2rad($this->p2->latitude());
$LongA = deg2rad($this->p1->longitude());
$LongB = deg2rad($this->p2->longitude());
return 6366 * acos(cos($LatA) * cos($LatB) * cos($LongB-$LongA)+sin($LatA) * sin($LatB));
}
[^] # Re: cartographie en php pour projet Wifi
Posté par Marc Quinton . Évalué à 3.
$cugnaux = new Point(1.367, 43.533);
$seysses = new Point(1.317, 43.500);
$seg = new WifiLink($cugnaux, $seysses);
echo 'distance = ' . $seg->distance() . "\n";
echo 'distance ortho = ' . $seg->distance_orthodromique() . "\n";
resultat :
distance = 5.4473367205683
distance ortho = 5.4473365237337
la methode (pour ceux que ca intéresse) :
function distance(){
$cos = cos(deg2rad(($this->p1->y+$this->p2->y)/2));
$width = ($this->p1->x - $this->p2->x) * $this->terre->degre * $cos;
$height = ($this->p1->y - $this->p2->y) * $this->terre->degre;
return ( sqrt(pow($width, 2) + pow($height,2)));
}
pour info, $this->terre->degre = rayon_terre(km) * 2PI / 360 =~ 111 km
[^] # Re: cartographie en php pour projet Wifi
Posté par Yann KLIS (site web personnel) . Évalué à 1.
[^] # Re: cartographie en php pour projet Wifi
Posté par Marc Quinton . Évalué à 1.
comme tout logiciel que je réalise, il est Free, enfin il le sera. Si tu veux un snapshot, par curiosité, je peux m'arranger ou plutot on peut s'arranger. Sinon, je fréquente irc://irc.freenode.org/#wirelessfr, pseudo _marc_
[^] # Re: cartographie en php pour projet Wifi
Posté par Marc Quinton . Évalué à 2.
http://toulouse.sans.fil.free.fr/(...)
les sources, ne sont pas encore dispo.
[^] # Re: cartographie en php pour projet Wifi
Posté par Laurent DELAGE . Évalué à 0.
Description du projet : http://www.upct.org/article.php3?id_article=44(...)
[^] # Re: cartographie en php pour projet Wifi
Posté par Marc Quinton . Évalué à 0.
[^] # Re: cartographie en php pour projet Wifi
Posté par Laurent DELAGE . Évalué à 0.
Mais vous pourriez gérer vos propres cartes, et faire des liens ....
En tout cas bon courage, et joli boulot !
# Puisque personne n'en parle...
Posté par Raoul Volfoni (site web personnel) . Évalué à 4.
Introducing the DebianGis subproject:
http://lists.debian.org/debian-devel-announce/2004/10/msg00007.html(...)
[^] # Re: Puisque personne n'en parle...
Posté par Pierre Jarillon (site web personnel) . Évalué à 3.
[^] # Re: Puisque personne n'en parle...
Posté par jerome (site web personnel) . Évalué à 2.
J'ai mis le site de freegis.org en lien pour ouvrir au maximum. Ce site recense beaucoup de softs, libs, etc.
Et puis je parlais plus d'outils que de projets distro, sinon j'aurais parlé de la GIS knoppix qui tourne depuis un petit bout de temps.
Il revient aux lecteurs de proposer d'autres liens :P
# Et Jump!
Posté par joshua_fr . Évalué à 3.
Manque simplement un petit projet qui grandi bien : Jump dont une traduction (ainsi que d'autres outils carto) sont disponibles sur la page du projet SIGLE : http://www.projet-sigle.org(...)
Il manque cependant pas mal de plugins d'ouverture de fichier, mais je pense que ca sera vite corrigé.
Perso je trouve QGIS beaucoup plus ergonomique et facile que GRASS, il ne manque plus que le support du format ECW sous linux pour être parfait (dans quelques mois disent les devs d'ERMapper).
# un point c'est tout !
Posté par Marc Quinton . Évalué à 1.
http://www.upct.org/(...)
(merci Julien)
[^] # Re: un point c'est tout !
Posté par Laurent DELAGE . Évalué à 2.
http://www.upct.org/article.php3?id_article=44(...)
# GIS Knoppix
Posté par Olivier Tigro . Évalué à 2.
http://www.sourcepole.com/sources/software/gis-knoppix/(...)
Pas très récente mais fonctionnelle !
# GDAL / OGR
Posté par DeM . Évalué à 3.
L'architecture de GDAL/OGR permet de rajouter facilement de nouveaux "drivers" (chargeables dynamiquement) pour supporter de nouveau formats.
La librairie permet de lire la donnée et les informations de géolocalisation de l'image de manière générique.
Tout ça est écrit en C++ avec aussi une interface C et Python.
Les binaires sur la page web embarquent des utilitaires pour passer d'un format à un autre, reprojeter les images/vecteurs dans d'autres projections cartographiques, ... et propose aussi un viewer simple, intuitif et optimisé : OpenEV http://www.remotesensing.org/gdal/download.html(...)
Bien sûr tout ça est "under an X/MIT style Open Source license".
Julien
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.