• Aucun résultat trouvé

Ainsi à partir du schéma GML, les utilisateurs peuvent bâtir des schémas d’application. Le schéma utilisateur doit alors décrire les éléments et les types afin d’identifier et distinguer les différentes entités. La méthode permettant de créer un schéma d’application compatible GML est présenté dans la spécification GML2 section 4.

La réalisation d’un schéma d’application doit suivre certaines règles :

- maintien des noms, des définitions et des types de données définis pour les éléments GML

- accessibilité par l’ensemble des utilisateurs exploitant les données GML relatives à ce schéma

- spécification de l’espace de nom utilisé (qui doit être différent de l’espace de nom GML)

L’annexe 7 présente la création des principaux éléments d’un schéma (type d’entité, type géométrique et propriété) ainsi que la déclaration d’un espace de nom.

En faisant appel au schéma d’application, il est ainsi possible de définir les conditions de validité du document GML. L’exemple ci-dessous présente la déclaration d’un type d’entité appelé « Parcelle » à laquelle il faut l’associer à sa surface et la description de ses voisins via une description des règles de validité dans un schéma d’application.

• définition de la surface de la parcelle. Donnée de type integer

• indication des parcelles voisines (minimum 0, maximum non limité)

• spécification de l’objet géométrique selon le format GML

11 #x20; équivalent au symbole espace (« »)

La figure 18 présente le schéma d’application de l’exemple.

1.Dans un premier temps, l’espace de nom utilisateur est importé dans le schéma afin de pouvoir utilisé des balises définies par l’utilisateur (qui n’apparaissent pas dans l’espace de nom GML).

<schema targetNamespace=”http://www.enitab.fr/foo”

xmlns=”http://www.w3.org/2000/10/XMLSchema”

xmlns:gml=”http://www.opengis.org/gml”

xmlns:foo=”http://www.enitab.fr/foo”><!—Espace de nom utilisateur-->

<import namespace=”http://www.w3.org/2000/10/XMLSchema”

schemaLocation=”Feature.xsd”/>

2.Ensuite un type Parcelle est défini. Celui-ci reposant sur une entité GML gml:AbstractFeatureType à laquelle sont ajoutés des éléments complémentaires (surface…).

<complexType name=”Parcelle”>

<complexContent>

<extension base=”gml:AbstractFeatureType”>

<sequence>

<!—Insertion des éléments de l’entité -->

<!— surface de la parcelle (integer) -->

<element name=”surface” type=”integer”/>

<!—Géométrie de la parcelle -->

<element ref=”gml:extentOf”/>

<!— parcelles voisines (minimum 0/ maximum non limité)-->

<element ref=”foo:adjacentA” minOccurs=”0”

maxOccurs=”unbounded”/>

</sequence>

</extension>

</complexContent>

</compleType>

3.Enfin un type d’association issu de gml:FeatureAssociationType afin de permettre l’identification des parcelles voisines via une balise nommée adjacentA.

<!— Définition du type de la parcelles voisines : type Parcelle -->

<complexType name=”adjacentA”>

<complexContent>

<restriction base=”gml:FeatureAssociationType”>

<sequence>

<element ref=”foo:Parcelle”/>

</sequence>

<attributeGroup ref=”gml:AssociationAttributeGroup”/>

</restriction>

</complexContent>

</compleType>

</schema>

Figure 18: Exemple de schéma d’application : schfoo

Ensuite, il est possible de créer un document GML respectant les règles du schéma d’application schfoo.

1.Dans un premier temps l’espace de nom utilisateur et le schéma sont importés dans le fichier GML

<doc

xmlns:gml=”http://www.opengis.org/gml”

xmlns:foo= “http://www.enitab.fr/foo”

xsi:schemalocation = “http://www.enitab.fr/foo schfoo”>

2.Ensuite les types définis dans le schéma peuvent être utilisés. Le document GML sera valide s’il se conforme aux règles définies dans le schéma.

<Parcelle gid=”1”>

<surface>2546</surface>

<gml:extentOf>…</ gml:extentOf>

<adjacentA xlink:type=”simple” xlink:href=”#2”>

</Parcelle>

<Parcelle gid=”2”>

<surface>25046</surface>

<gml:extentOf>…</ gml:extentOf>

<adjacentA xlink:type=”simple” xlink:href=”#1”>

<adjacentA xlink:type=”simple” xlink:href=”#3”>

</Parcelle>

</doc>

Figure 19: Exemple d’utilisation du schéma d’application

L’utilisation des schémas pour l’encodage au format GML a été bénéfique sur trois points principaux :

• le mélange de différents espaces de noms (richesse de vocabulaire de référence)

• le contrôle plus fin de la hiérarchie des définitions des types géométriques

• l’extensibilité et la flexibilité grâce à la présence de types dérivés et de groupes de substitution.

Ainsi, il est possible d'accorder la structure du schéma geometry.xsd pour l’adapter à ses besoins.

Dans un environnement bâti sur les serveurs spatiaux, le GML peut être un des formats d’échanges à préconiser dans le cadre d’application orienté Internet. Ceci est d’autant plus vrai si de multiples sources de données sont utilisées.

Le GML a donc été mis en place pour séparer la forme du contenu. Il donne ainsi les mécanismes de stockage des informations géographiques sans se préoccuper du « comment ces informations seront présentées à un lecteur humain ». Comme il a été vu précédemment, l’apparence du fichier GML sera dépendante du fichier de forme comme toute application XML.

La création d’un rendu cartographique sera donc réalisée de deux manières différentes :

• via l’utilisation d’une application graphique affichant les données décrites dans le fichier de contenu

• ou bien en utilisant une technologie graphique XML tels que le SVG (Scalable Vector Graphic) ou le X3D (VRML).

Le GML n’est associé à aucune notion de représentation cartographique (représentation des couleurs, …). Ainsi seront évaluées les capacités du SVG pour les applications cartographiques vectorielles sur Internet dans la partie suivante.

1.4.2La cartographie vectorielle sur Internet et le SVG : Scalable Vector Graphics

Fin 1999, un nouveau standard prometteur est apparu : SVG (Scalable Vector Graphics). Il offre la possibilité d'intégrer le graphisme vectoriel aux sites Internet. SVG est un standard reconnu par le W3C ; il est en constant développement. SVG 1.0 a été présenté le 2 août 2000 par le W3C comme une spécification officielle (candidate à la recommandation). SVG est un dialecte XML standardisé pour décrire le graphisme 2D (graphisme vectoriel, texte, animation, graphisme RASTER). L'intérêt manifesté par les grands acteurs de l'informatique (Adobe, Apache, Apple, AutoDesk, Bit-Flash, Corel, HP, IBM, ILOG, Inso, Kodak, Macromedia, Microsoft, Netscape, Oasis, Open Text, Oxford University, Quark, RAL, Sun Microsystems, W3C et Xerox. …) rend prévisible à court terme une application massive de cette technologie entre autre pour le rendu graphique de données GML. En effet, comme le souligne WINTER André (Institut de Géographie et de Recherche Régionale, Université de Vienne et Département New Media), le SVG « profitera sans aucun doute aux cartographes qui, pour la première fois dans l'histoire du web, seront en mesure de répondre aux demandes de représentations graphiques complexes. ».

Documents relatifs