6 Mapviewer. Points couverts Architecture Installation et configuration Définition de cartes...
-
Upload
ame-gallet -
Category
Documents
-
view
119 -
download
2
Transcript of 6 Mapviewer. Points couverts Architecture Installation et configuration Définition de cartes...
<Insert Picture Here>
6
Mapviewer
Points couverts
ArchitectureInstallation et configurationDéfinition de cartesMapBuilderLa console MapviewerExemple d’utilisationOracle Maps
JDBC
MapViewer Architecture
Database
Oracle Application Server
Client(browser, servlet, JSP, PL/SQL)
Application
XML/HTTP
SpatialTables
Map Definitions
Java API
Mapbuilder
Map Rendering Engine
Requêtes et réponses
Une requête spécifie:
• Le contenu de la carte• Carte de base• Thèmes Statiques • Thèmes Dynamiques • Formes Dynamiques
• La position de la carte• Centre et taille
• Le format du résultat • Type d'image • Dimensions en pixels
La réponse contient:
• L'image proprement dite Ou• L' URL vers l'image ainsi que
le MBR de la carte
Formats:• GIF, PNG, SVG, JPEG
MapViewer
Mapping Client
Oracle Spatial
Contenu d'une installation MapViewer
La servlet MapviewerL'outil de définition de cartesDes styles de baseDes exemples d'applications (JSP)Une IHM d’administration (HTML)
Sample JavaServer Page
MapViewer
Application Server JDBCHTTP/XML
Oracle Spatial
MappingMetadata
Mapbuilder
Installation de MapViewer
• MapViewer n'est pas déployé automatiquement avec le serveur d'application
• Le kit est fourni sous forme d'un fichier "EAR" (J2EE Enterprise Archive) standard: mapviewer.ear de 2.3 MB
• Installation au moyen des outils de déploiement standard du serveur d'application.
• Peut s'installer dans le moteur J2EE du serveur d'application (Oracle Components for J2EE - OC4J)
Démarrage de Mapviewer
• Automatiquement lors du démarrage du serveur d'application.
java -jar oc4j.jar
…
05/03/06 18:56:59 Oracle Containers for J2EE 10g (10.1.3.0.0) - Developer Preview 3 initialized
…
05/03/06 18:56:55 Sun Mar 06 18:56:55 CET 2005 INFO [oracle.lbs.mapserver.oms, ,#Thread-9] *** Oracle MapViewer started. ***
Définition des Cartes
• Les définitions sont dans la baseUSER_SDO_MAPS
USER_SDO_THEMES
USER_SDO_STYLES
• Définition au moyen de l'outil fourni (Mapbuilder)
MapMetadata
Définition des Cartes
• STYLE• Couleurs, styles de lignes, symboles, textes• Style avancés pour thématiques
• THEME• Associe un ou plusieurs styles avec une table spatiale• Style graphique, et style des étiquettes• Correspond à une couche dans la carte
• MAP• Groupement de thèmes• Spécifie l'ordre des thèmes et leur visibilité selon l'échelle• Les cartes peuvent partager les thèmes
USER_SDO_STYLES
• Chaque style a un nom unique (par utilisateur) • Type de style: COLOR, MARKER, TEXT, LINE, ADVANCED• Définition codée en XML• Aussi formes géométriques et bitmaps (pour les symboles)• Quelques styles de base fournis dans l'installation de Mapviewer
(fichier DefaultStyles.sql)
SQL> describe user_sdo_stylesName Type---------------------- ------------------NAME VARCHAR2(32)TYPE VARCHAR2(32)DESCRIPTION VARCHAR2(4000)DEFINITION CLOBIMAGE BLOBGEOMETRY MDSYS.SDO_GEOMETRY
USER_SDO_THEMES
• Chaque thème a un nom unique (par utilisateur)• Un thème est associé à une table et une colonne géométrique• Règles de représentation en XML
• Se réfèrent aux styles définis par leur nom
SQL> describe user_sdo_themes Name Type ------------------ --------------- NAME VARCHAR2(32) DESCRIPTION VARCHAR2(4000) BASE_TABLE VARCHAR2(32) GEOMETRY_COLUMN VARCHAR2(2048) STYLING_RULES CLOB
USER_SDO_MAPS
• Chaque carte a un nom unique (par utilisateur)• Liste des thèmes utilisés• Codés en XML
SQL> describe user_sdo_maps Name Type ------------------- ------------------- NAME VARCHAR2(32) DESCRIPTION VARCHAR2(4000) DEFINITION CLOB
Utilisation de MapBuilder
Styles
Themes
Cartes
Console MapViewer
Exemple d’utilisation de MapViewer
Anatomie d'une requéte XML
<?xml version="1.0" standalone="yes"?>
<map_request
datasource="spatial10g" basemap="US_BASE_MAP"
format="PNG_STREAM" width="480" height="400">
<center size="12">
<geoFeature>
<geometricProperty> <Point>
<coordinates>-120.0,39.0</coordinates></Point>
</geometricProperty>
</geoFeature>
</center>
<themes>
<theme name="PARKS.US_PARKS" />
<theme name="INTERSTATES.US_INTERSTATES" />
</themes>
</map_request>
Data source et carte
Format du résultat
Centre et taille de la carte
Thémes additionnels
Le résultat …
Une requête en Java
// Setup map request
mv = new MapViewer(mapViewerURL);
mv.setDataSourceName(dataSource);
mv.setBaseMapName(baseMap);
mv.setImageFormat(MapViewer.FORMAT_PNG_URL);
mv.setDeviceSize(new Dimension(mapWidth, mapHeight));
mv.setCenterAndSize(cx, cy, mapSize);
// Send map request
mv.run();
// Get URL to generated Map
imgURL = mv.getGeneratedMapImageURL();
// Get size and center of new map
mapSize = mv.getSize();
Point2D center = mv.getCenter();
JDBC
MapViewer "AJAX" Architecture
Map Cache Server
Database
Oracle Application Server
Client(browser)
Application
XML/HTTP
SpatialTables
Map Definitions
JavaScript Map API
Mapbuilder
FOI Server
Map Rendering Engine
Map Cache
Oracle Maps client side: a simple HTML page showing a map
<html><head><script language="Javascript" src="jslib/loadscript.js"></script><script language=JavaScript> var baseURL = "http://"+document.location.host+"/mapviewer"; function display_map() { var mapview = new MapView(document.getElementById("map"), baseURL); mapview.addBaseMapLayer(new BaseMap("mvdemo.demo_map")); mapview.setCenter(-122.45, 37.75); mapview.setZoomLevel(5); var foiLayer = new ThemeBasedFOI ('customers', 'mvdemo.customers') ; mapview.addThemeBasedFOI (foiLayer); mapview.addNavigationPanel("east"); mapview.display(); }</script></head><body onload= JavaScript:display_map() ><h2>A Simple Web Mapping Application</h2><div id="map" style="left:10; top:60;width: 600px; height: 500px"></div> </body></html>
Load the Oracle Maps client viewing libLoad the Oracle Maps client viewing lib
map initialization functionmap initialization function
where the map will appear on the pagewhere the map will appear on the page
Invoke map initialization functionInvoke map initialization function