banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

#1 Thu 20 March 2003 09:34

Duchesnay Florent
Invité

Creation d'une carte SVG - 2

Bonjour a tous,

je m'excuse peut-etre de la redondance de mon message, mais etant beotien du SVG , j'ai du mal a comprendre simplement comment creer une carte en SVG ?

Concretement, la grande force du SVG reside dans son interactivite . Par exemple, l'utilisateur peut choisir de visualiser ou non des elements d'une carte.

Prenons l'exemple d'une carte avec
* les contours d'un departement
* les contours d'arrondissement
* les contours des cantons
* les contours de communes
* les noms des arrondissements
* les noms des cantons
* les noms des communes
* l'hydrographie
Soit au total 8 couches d'information.

Comment faire pour creer une carte ou l'utisateur pourra visualiser au choix l'une et/ou l'autre des couches d'information ?
Doit-on creer 8 cartes differentes de la meme zone que l'utilisateur visualisera ou non ?
La programmation du choix des couches a afficher se fait elle dans le SVG ou dans la page HTML associee ?

J'utilise GeoConcept 5.0 Standard, et il ne semble pas que ce logiciel soit pourvu d'une interface de creation specifique SVG comme Mapinfo ou ArcView.

Comment puis-je generer une carte SVG depuis GC 5.0?

Puis-je generer du SVG facilement depuis Adobe Illustrator 9.0 ?

Merci de vos reponses,

Bonne journee.

Florent DUCHESNAY  Conseil general du Doubs

Adresse electronique :  florent.duchesnay@texte-a-enlever.doubs.fr

 

#2 Thu 20 March 2003 13:04

Gaëtan Gaborit
Invité

Re: Creation d'une carte SVG - 2

Bonjour,

je vais essayer dans la mesure de mes competences de vous eclairer sur
quelques points :

Pour reprendre votre exemple chaque couche constitue un groupe en SVG (),
la visibilite de chaque groupe peut etre determinee en utilisant les
proprietes de style suivantes (| signifie ou) :
style= visibility:visible|hidden ou bien style= display:none|inline . Le
passage d'un etat a l'autre se fait au moyen d'un script en javascript qui
aura la forme suivante groupe.getStyle().setProperty( visibility , hidden ).
Le declenchement de ce script peut se faire a partir d'un evenement dans la
page HTML ou est enchasse (embed) le fichier SVG, ou a partir du document
SVG lui-meme. Le recours au document HTML est un mal necessaire lorsqu'on
utilise des elements de formulaire, en particulier les listes deroulantes,
qui sont difficiles a reproduire en SVG (en attendant l'implementation de
XFORMS en SVG). Sans liste deroulante, il est preferable de faire l'ensemble
du document en SVG.

Concernant l'ordre d'affichage des couches, sa modification est plus
delicate car le SVG ne possede pas de propriete de type Z-index. L'ordre des
couches respecte l'ordre des objets dans l'arbre du document SVG. Il existe
des techniques de clonage d'objets qui permettent d'obtenir un resultat
similaire.

S'agissant de la creation de carte SVG a partir de logiciel tels que
GeoConcept ou MapInfo, mon seul conseil est de developper vous-meme des
moulinettes d'export (en PHP par exemple si vous avez une version texte de
vos fichiers). C'est assez (relativement?) simple (bien qu'un peu long) et
cela vous permettra d'optimiser votre SVG, ce que ne fait absolument pas
Illustrator en export, ou d'autre modules d'export specifiques a des
logiciels SIG.

Si vous souhaitez monter un projet plus consequent, il peut etre interessant
de stocker la definition geographique des objets dans une base de donnees
(spatiale de preference comme PostgreSQL) puis de generer a la volee vos
documents SVG en s'appuyant sur des requetes. Rappelons egalement que
certaines methodes (en particulier GetURL malheureusement propre a Adobe SVG
Viewer), permettent de charger des elements supplementaires au fur et a
mesure des besoins, sans avoir a recharger toutes la carte.

J'ai conscience que ces conseils ne sont pas directement operationnels (je
n'ai pas de moulinette GC -> SVG sous la main)...
aussi je vous recommande de consulter l'excellent site de Michel Hirtzler
(http://pilat.free.fr), et de depiauter les exemples existants.

Je reste a votre disposition pour toute information complementaire.

Bonne journee.

---------------------------------------------------------
Gaetan GABORIT Societe NETAGIS
Nouvelles technologies pour l'information geographique
http://www.netagis.com gaetan.gaborit@texte-a-enlever.netagis.com
---------------------------------------------------------

 

#3 Thu 20 March 2003 14:11

ERTZ Olivier
Invité

Re: Creation d'une carte SVG - 2

Bonjour,
je vois que les discussions autour du Webmapping vectoriel vont bon train.
Tres bon commentaire technique de la part de Mr Gaborit. Je me permets
quelques ajouts, puisque ce contexte de travail autour des interactions
client/serveur en cartographie SVG m'est extremement familie.

Concernant l'ordre des couches delimitees par le tag , il determine
le rendu, mais aussi le focus pour la capture des evenements
(onclick/onmouseout/...). Notons aussi la possibilite d'ajouter un fond
raster (relief...).

L'utilisation de GetURL est astucieuse dans la mesure ou cela n'oblige
pas le chargement en une fois de tous les fonds, mais de nourrir le
document SVG progressivement selon les besoins de l'utilisateurs (cela
permet de gerer l'impatience de l'utilisateur). GetURL est specifique au
viewer SVG d'Abobe, mais ce n'est qu'un duplicata de l'objet HttpRequest
que l'on retrouve dans tous les navigateurs (Internet Explorer,
Netscape, Mozilla...), ainsi on peut se passer de GetURL
(http://jibbering.com/2002/5/dynamic-update-svg.html).

Pour info : PostgreSQL est un SGBD opensource capable de rivaliser avec
les majors, de plus il est muni d'une extension spatiale, PostGIS :
http://postgis.refractions.net (GNU License).

Plus en rapport direct avec vos preoccupations, je vous invite a
consulter le site http://www.atlas-loiret.com, projet du Conseil General
de Loiret. Il s'agit d'un Atlas de cartes en format vectoriel (SVG). Un
travail preliminaire (et laborieux de ce que j'en sais) a consiste a
convertir en SVG les fonds a partir de Geoconcept. La suite consista
alors en une integration dans un systeme de consultation de l'Atlas et
de quelques simples outils de navigation au sein des cartes. Bien
evidemment on peut aller beaucoup plus loin, notamment en integrant le
tout dans un SGBD Spatial pour nourrir a la volee l'Atlas et rendre
chaque objet interrogeable. De toute evidence, le plus important est
d'abord de savoir et definir ce que l'on veut faire.

Au fait, n'attendons pas l'implementation de XForms en SVG et passons a
l'action...un projet s'impose (http://www.xml.com/pub/a/2002/05/22/svg.html)

Vous remarquerez que j'aime bien citer des liens, mais je trouve que
c'est tres important pour un forum, cela augmente sa valeur. Cela m'a
souvent aider a sortir de perilleuses situations.

OEZ

--
ERTZ Olivier - ertz@texte-a-enlever.eivd.ch - Professeur Assistant HEV

Research Project MEDIAMAPS (http://www.mediamaps.ch)

EIVD (http://www.eivd.ch) / Phone : (+41)(0) 21 316 98 38

 

Pied de page des forums

Powered by FluxBB