Documentation BSH et XML

 

Accueil
Remonter
Catalogue
Technique
Météo
Oruxmaps
Cartes Mobac
Forum MOBAC
Rando-ski
Contactez-moi
Recherche ...

Règles de bases :

  • Les fichiers BSH permettent de gérer une carte et du multicouches en WMS pour une même source
  • Les fichiers XML permettent de gérer du multicouches entre différentes sources
    on peut utiliser la balise <customMapSource>
        - avantage : utilisation d'un seul fichier XML.
        - inconvénient : peut générer des croix rouges alors que les cartes existent !
    on peut utiliser la balise <mapSource>
        - avantage : plus rapide à charger. Résout l'inconvénient précédent.
        - inconvénient : utilisation de plusieurs fichiers (mapSource).
  1. Le noms des cartes
  2. Les 10 types d'URL possibles pour accéder à une dalle
  3. Les balises BSH
        Appel d'une carte en BSH
        Requêtes WMTS
        Requêtes WMS
        Autres type de requêtes
        Code java utilisable en BSH
        Autres fonctions
        Générer un script, déboguer une URL
  4. Les balises XML
  5. Des trucs à savoir sur les coordonnées EPSG
  6. Extraire les informations pour créer un script BSH ou un XML
  7. Exemple de correspondance de zooms
  8. Quand ça veut pas, ça veut pas !
  9. Déboguer Mobac
  10. Compiler la dernière version Mobac

I. Le noms des cartes

en BSH, name = "Nom de la carte affichée dans MOBAC";

en XML <name>Nom de la carte affichée dans MOBAC</name>

Attention : Ne pas utiliser les caractères \/:*?"<> car ils empêchent la création du dossier dans tilestore et génèrent des erreurs dans les logs
 

II. Les 10 types d'URL possibles pour accéder à une dalle

Il y a 10 principaux formats d'URL que l'on peut retrouver pour accéder à une dalle (tile) suivant le serveur utilisé

  1. <Scheme>:<ServerName>/<Folders>?Layer=<layer>&Style=<style>&TileMatrixSet=<tilematrixset>&SERVICE=WMTS&REQUEST=GetTile&VERSION=<version>&FORMAT=<format>&TileMatrix=<Zoom>&TileCol=<X>&TileRow=<Y>
    url1_de_test = "http://www.ign.es/wmts/mapa-raster?Layer=MTN&Style=normal&Tilematrixset=GoogleMapsCompatible&SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&FORMAT=image/jpeg&TileMatrix=14&TileCol=8066&TileRow=6192"
    
  2. <Scheme>:<ServerName>/<Folders>?LAYERS=<layers>&transparent=<transparent>&SERVICE=<service>&REQUEST=<request>&VERSION=<version>&FORMAT=<format>&CRS=<crs>&SRS=<srs>&BBOX=<mercatorTileEdges(X,Y,Zoom)&WIDTH=<width>&HEIGHT=<height>>
    url2_de_test = "https://isk.geobasis-bb.de/mapproxy/dtk10farbe/service/wms?SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&FORMAT=image%2Fjpeg&TRANSPARENT=false&LAYERS=bb_dtk10_farbe&SRS=EPSG%3A25833&STYLES=&BBOX=415792.61180573085%2C5870749.522733886%2C416509.5261392288%2C5871466.437067384&WIDTH=256&HEIGHT=256"
    
  3. <Scheme>:<ServerName>/<Folders>?OPTION(S)=<option(s)>&z=<Zoom>&x=<X>&y=<Y> (ou ZoomLevel=<Zoom>)
    url3_de_test = "http://mt0.google.com/vt?lyrs=m@176103410&hl=frs=Galileo&z=14&x=8456&y=5871"
    
  4. <Scheme>:<ServerName>/<Folders>?OPTION(S)=<option(s)>&ZoomLevel=<Zoom>&TileX=<X>&TileY=<Y>
    url4_de_test = "http://ec2.cdn.ecmaps.de/WmsGateway.ashx.jpg?Experience=ecmaps&MapStyle=Summer%20OSM&ZoomLevel=14&TileX=8456&TileY=5871"
     (ne fonctionne plus, plus d'exemple concret ! )
  5. <Scheme>:<ServerName>/<Folders>/<Zoom>/<X>/<Y>.<FormatExtension>
    url5_de_test = "https://a.tile.openstreetmap.org/16/33814/23458.png"
    
  6. <Scheme>:<ServerName>/<Folders>/<Zoom>/<Y>/<X>.<FormatExtension>
    url6_de_test = "http://services.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/WMTS/tile/1.0.0/World_Topo_Map/normal/GoogleMapsCompatible/14/5871/8456.jpg"
    
  7. <Scheme>:<ServerName>/<Folders>/<Zoom>/<X>/<Y>
    url7_de_test = "http://webtiles.timepress.cz/open/hike_256/14/8456/5871"
    
  8. <Scheme>:<ServerName>/<Folders>/<Zoom>/<Y>/<X>
    url8_de_test = "https://server.arcgisonline.com/arcgis/rest/services/World_Topo_Map/MapServer/tile/14/5871/8456"
    
  9. <Scheme>:<ServerName>/<Folders>/<Zoom>/<X>/<ReverseY>.<FormatExtension>
    url9_de_test = "http://nz1.nztopomaps.com/14/16067/6117.png"
    
  10. <Scheme>:<ServerName>/<Folders>/<Zoom>-<X>-<ReverseY>.<FormatExtension>
    url10_de_test = "http://tiles-3.topomap.co.nz/tiles-topo50/14-16067-6117.png"
    

III. Les balises BSH

 name, tileType, tileSize, minZoom et maxZoom sont des mots réservés. Ils sont sensibles aux majuscules et minuscules
 De même, Zoom, X et Y sont sensibles aux majuscules et minuscules
 Gestion erreur : Si vous obtenez des croix rouges, la carte est centrée hors de France

Appel d'une carte en BSH

La structure est toujours la même, elle fait appel à une fonction getTileUrl qui retourne une URL.

String getTileUrl(int Zoom, int X, int Y) 
{
	return URL;
}

Le but est donc de construire cette URL basé sur les exemples d'URL précédents

Requêtes WMTS

 Exemples de requêtes WMTS
 Les paramètres peuvent être trouvés avec la requête : 
	<Url>?SERVICE=WMTS&REQUEST=GetCapabilities
?SERVICE=WMTS&REQUEST=GetCapabilities&VERSION=1.0.0
 Paramètres communs
 SERVICE : le type de service (ici : “WMTS”)
 REQUEST : la requête adressée au serveur (ici : GetTile)
 VERSION : la version du service utilisée (1.0.0)
 Paramètres spécifiques à GetTile
 LAYER : la couche demandée (JPG ou PNG)
 STYLE : le nom d’un style de rendu de la couche à appliquer
 FORMAT : le format de sortie - type-mime - du fichier image (“image/png”, “image/jpg”, …) 
 TILEMATRIXSET : Le nom de la pyramide d’images
 TILEMATRIX = Zoom : Le nom de la matrice qui contient la tuile
 TILECOL = X : Le numéro de colonne du coin supérieur gauche de la tuile
 TILEROW = Y : Le numéro de ligne du coin supérieur gauche de la tuile
 Paramètres optionnels à GetMap
 TIMESTAMP : horodatage (exemple : "current") 
 Format d'URL
1- <Scheme>:<ServerName>/<Key>/<Folder>?SERVICE=WMTS&REQUEST=GetMap&VERSION=<version>&LAYER=<layer>&STYLE=<style>&FORMAT=<format>&TileMatrixSet=<tilematrixset>&TileMatrix=<Zoom>&TileCol=<X>&TileRow=<Y>

Requêtes WMS

 Exemples de requêtes WMS
 Les paramètres peuvent être trouvés avec la requête : 
	<Url>?SERVICE=WMS&REQUEST=GetCapabilities
?SERVICE=WMS&REQUEST=GetCapabilities&VERSION=1.1.1
?SERVICE=WMS&REQUEST=GetCapabilities&VERSION=1.3.0
 Paramètres communs 
 SERVICE : Le type du service (ici “WMS”)
 REQUEST : la requête adressée au serveur (ici : GetMap)
 VERSION : la version du service utilisée (1.0.0, 1.1.0, 1.1.1 ou 1.3.0)
 (Les versions 1.0.0 et 1.1.0 sont dépréciées)
 Paramètres spécifiques à GetMap
 LAYERS : la (ou les) ressource(s séparées par une ,) à utiliser pour calculer l’image. C’est le nom technique de la ressource qui est utilisé 
 STYLES : le (ou les) style(s séparés par une ,) de rendu des couches
 SRS (Spatial Reference Système) : indique le système de coordonnées utilisé en WMS 1.0.0
 CRS (Coordinate Reference System) : indique le système de coordonnées utilisé en WMS 1.3.0
 BBOX (Bounding Box) : l’emprise géographique des données à rendre dans l’image
 WIDTH : largeur de l’image finale en pixels
 HEIGHT : hauteur de l’image finale en pixels
 FORMAT : le format de sortie - type-mime - du fichier image (“image/png”, “image/jpg”, …) 
 Paramètres optionnels à GetMap
 TRANSPARENT=TRUE|FALSE      : Transparence d'arrière-plan de la carte (par défaut = FALSE).
 BGCOLOR=color_value         : Valeur de couleur hexadécimale rouge-vert-bleu pour l'arrière-plan (par défaut = 0xFFFFFF).
 EXCEPTIONS=exception_format : Le format dans lequel les exceptions doivent être signalées par le WMS (par défaut = SE_XML).
 TIME=time                   : Valeur temporelle de la couche souhaitée.
 ELEVATION=elevation         : Elévation de la couche souhaitée. 
 Dpi                         : densité de l’image attendue en “dot per inch” ou “pixel par pouce” (par défaut : 90,7 DPI)
 Format d'URL
2- <Scheme>:<ServerName>/<Folders>?SERVICE=WMS&REQUEST=GetMap&VERSION=<version>&LAYERS=<layers>&STYLES=<styles>&CRS=<crs>&SRS=<srs>&FORMAT=<format>&transparent=<transparent>&BBOX=<mercatorTileEdges(X,Y,Zoom)>&WIDTH=<width>&HEIGHT=<height>

Autres type de requêtes

Les autres types de requêtes font simplement appel à l'URL

URLs possibles en BSH(Google, etc.)
3- <Scheme>:<ServerName>/<Folders>?OPTION(S)=<option(s)>&z=<Zoom>x=<X>&y=<Y>
4- <Scheme>:<ServerName>/<Folders>?OPTION(S)=<option(s)>&ZoomLevel=<Zoom>&TileX=<X>&TileY=<Y>
5- <Scheme>:<ServerName>/<Folders>/<Zoom>/<X>/<Y>.<FormatExtension>
6- <Scheme>:<ServerName>/<Folders>/<Zoom>/<Y>/<X>.<FormatExtension>
7- <Scheme>:<ServerName>/<Folders>/<Zoom>/<X>/<Y>
8- <Scheme>:<ServerName>/<Folders>/<Zoom>/<Y>/<X>
URLs possibles en BSH(TMS)
9- <Scheme>:<ServerName>/<Folders>/<Zoom>/<X>/<ReverseY>.<FormatExtension>
10- <Scheme>:<ServerName>/<Folders>/<Zoom>-<X>-<ReverseY>.<FormatExtension>
X- Puis des cas particuliers pour :

Code java utilisable en BSH

  1. Les dossiers en java et Windows
        On peut utiliser \, mais il faut l'encoder par un second \, sinon il faut utiliser un simple /.
        Les dossiers suivants sont équivalents
        "c:\\temp\\log.txt" <-> "c:/temp/log.txt"
               ".\\log.txt" <-> "./log.txt"

        Depuis la version Mobac-2.1.3, les variables suivantes sont accessibles

    	Tools.getDirectory("currentDir");
    	Tools.getDirectory("mapSourcesDir");
    	Tools.getDirectory("programDir");
    	Tools.getDirectory("tempDir");
    	Tools.getDirectory("tileStoreDir");
    	Tools.getDirectory("toolsDir");
    	Tools.getDirectory("userAppDataDir");
    	Tools.getDirectory("userHomeDir");
    	Tools.getDirectory("userSettingsDir");
    	Tools.getDirectory("atlasProfilesDir");

        avec par exemple

        
  2. Pour tester du code en ligne :
        https://www.jdoodle.com/online-java-compiler/
        Pour les sorties, utiliser System.out.println(Mon_Message); au lieu de javax.swing.JOptionPane.showMessageDialog(null, Mon_Message);
     
  3. Pour tester du code sous Windows
        Extraire les fichiers de Mon_Script.zip dans un dossier (ex bureau\java)
        Modifier Mon_Script.java
        Exécuter ComplileExecuteMon_Script.java.bat
     
  4. Pour avoir un message d'alerte :
       
     
  5. Pour avoir un message d'alerte une seule fois au lancement de la carte :
       
     

  6. Pour enregistrer une information dans un fichier (déboguage) :
       
     

  7. Pour lire une information depuis un fichier (clé IGN et trustedPublicKeyHash) :
       
    ou (voir les variables)
       
     

  8. Conversion des coordonnées de tuile TMS en coordonnées de tuile Google / Bing / OSM
    En TMS, les coordonnées sont référencées avec l'origine en bas à gauche, alors que Mobac utilise une origine en haut à gauche.
    Il faut donc modifier Y comme suit :

    (voir aussi en XML)
    Note : Pour la puissance de 2, on peut utiliser indifféremment
    ymax = Math.pow(2, Zoom)
    ou
    ymax = 1 << zoom;

     

  9. En cas d'erreur, il faut parfois importer des paquetages
       
        Parmi les paquetages de Java il y a :
       

Autres fonctions

D'autres fonctions sont utilisables en utilisant la class java : static import Tools.*;

  1. Pour utiliser l'équivalent $q (quadKeys comme Bing Maps servers) à la place de $x, $y et $z dans un BSH
    String quadKey = Tools.encodeQuadTree(Zoom, X, Y);
    return ... MyFolder + quadKey ...
    voir carte d'Angleterre
  2. Pour utiliser calculateTileLatLon (spécifique à Mobac) pour une carte Lambert93 en EPSG:4171
    coords = Tools.calculateTileLatLon(Zoom, X, Y);
    return ... "&BBOX=" + coords[0] + "," + coords[1] + "," + coords[2] + "," + coords[3] ...
    voir les cartes DFCI

IV. Les balises XML

Attention, les balises sont sensibles à la casse.

Pour construire l'URL, on se base sur la documentation du dessus pour le WMTS et le WMS.

  1. La balise <customMultiLayerMapSource>
    <customMultiLayerMapSource>
    <name> Nom de la carte affiché dans MOBAC. 
    	Ne pas utiliser les caractères \/:*?"<> car ils empêchent la création du dossier dans tilestore et génèrent des erreurs dans les logs
    <layers> Liste des sources de cartes (ou customMapSource) 
    <backgroundColor> Facultatif : Couleur de fond de l'ensemble des sources de carte. La Couleur de fond individuelle sera igniorée
    <layersAlpha> Facultatif : Liste des valeurs d'opacitée de chaque couche, du fond (la première) vers le dessus (la dernière).
    La valeur 0.0 est complètement transparente
    Normalement la première couche est 1.0 = 100% d'opacité
  2. La balise <customMapSource>
    <customMapSource>
    <name> Nom de la carte affiché dans MOBAC. 
    	Ne pas utiliser les caractères \/:*?"<> car ils empêchent la création du dossier dans tilestore et génèrent des erreurs dans les logs
    <tileType> Type d’image fourni par le serveur (png, jpg or gif)
    <minZoom> Zoom minimal souhaité (et/ou fourni par le serveur)
    <maxZoom> Zoom maximal souhaité (et/ou fourni par le serveur)
    <url> L'URL pour accéder aux tuiles (images) du serveur
    ![CDATA[]] est utilisé pour encoder "&" dans l'URL
    Sélection de la tuile (image)
    	{$z} Zoom - compris entre [minZoom .. maxZoom]
    	{$x} Le numéro de colonne du coin supérieur gauche de la tuile - compris entre [0..2^zoom level]
    	{$y} Le numéro de ligne du coin supérieur gauche de la tuile - compris entre [0..2^zoom level]
    Autre possibilité pour les sources de carte utilisant la syntaxe à quatre points(en haut à gauche et en bas à droite) il est possible d'utiliser le paramètre suivant:
    	{$q} pour une clé sur quatre points qui code à la fois le niveau de zoom et les coordonnées x et y de la tuile
    Sélection du serveur
    	{$serverpart} pour la sélection d'un serveur défini par l'entrée facultative <serverParts>
    <invertYCoordinate> Facultatif : Inverse la coordonnée y pour qu'elle commence au sud
    <serverParts> Facultatif : Utilise plusieurs serveurs pour la source de carte
    	Exemple : 
    	<url>https:{$serverpart}.tile.opentopomap.org/{$z}/{$x}/{$y}.png</url>
    	<serverParts>a b c</serverParts> 
    <tileUpdate> Facultatif : Capacité du serveur pour le téléchargement conditionnel de nouvelles tuiles (exemple : IfNoneMatch, ETag, IfModifiedSince, None)
    <ignoreErrors> Facultatif : Traitement des tuiles manquantes, si la valeur est "true", en cas de tuile manquante la valeur <backgroundColor> est utilisée.
    <backgroundColor> Facultatif : Couleur de fond de la carte
    <trustedPublicKeys> Pour certificat SSL non reconnus par Java
  3. La balise <customWmsMapSource>
    <customWmsMapSource>
    <name> Nom de la carte affiché dans MOBAC. 
    	Ne pas utiliser les caractères \/:*?"<> car ils empêchent la création du dossier dans tilestore et génèrent des erreurs dans les logs
    <tileType> Type d’image fourni par le serveur (png, jpg or gif)
    <minZoom> Zoom minimal souhaité (et/ou fourni par le serveur)
    <maxZoom> Zoom maximal souhaité (et/ou fourni par le serveur)
    <version> 1.1.1 ou 1.3.0
    	Depuis Mobac 2.2.2, la WMS 1.3.0 est prise en charge en XML 
    	Avant la Mobac 2.2.2, seule la WMS 1.1.1 fonctionnait en XML (lire)
    <layers> Spécifier les couches ici, séparées par des virgules
    <url> L'URL pour accéder aux tuiles (images) du serveur finissant par "?"ot;
    Sélection du serveur
    	{$serverpart} pour la sélection d'un serveur défini par l'entrée facultative <serverParts>
    <serverParts> Facultatif : Utilise plusieurs serveurs pour la source de carte
    	Exemple : 
    	<url>https:{$serverpart}.tile.opentopomap.org/{$z}/{$x}/{$y}.png</url>
    	<serverParts>a b c</serverParts> 
    <coordinatesystem> EPSG:4326, EPSG:4171 (en degrés), EPSG:3857, EPSG:900913 et EPSG:3785 (en mètre. Utiliser obligatoirement la balise <coordinateunit>)
    	Depuis Mobac 2.2.3, EPSG:3857, EPSG:900913 et EPSG:3785 (en mètre) sont pris en charge en XML 
    	Avant la Mobac 2.2.3, seuls EPSG:4326, EPSG:4171 (en degrés) fonctionnaient en XML (lire)
    <coordinateunit> degree (par défaut) ou meter (pour EPSG:3857, EPSG:900913 et EPSG:3785)
    <invertYCoordinate> Renverse les Y (ex : Nouvelle-Zélande Ymax - 1 - Y)
    <aditionalparameters> Paramètres supplémentaires à encoder avec <![CDATA[&...]]>, le "&" permettant la concaténation avec les paramètres précédents
    <backgroundColor> Couleur de fond (exemple : #000000)
    <tileUpdate> Facultatif : Capacité du serveur pour le téléchargement conditionnel de nouvelles tuiles (exemple : IfNoneMatch, ETag, IfModifiedSince, None)
    <ignoreErrors> Facultatif : Traitement des tuiles manquantes, si la valeur est "true", en cas de tuile manquante la valeur <backgroundColor> est utilisée.
    <trustedPublicKeys> Pour certificat SSL non reconnus par Java
     
  4. La balise <invertYCoordinate>
    Conversion des coordonnées de tuile TMS en coordonnées de tuile Google / Bing / OSM
    En TMS, les coordonnées sont référencées avec l'origine en bas à gauche, alors que Mobac utilise une origine en haut à gauche.
    Il faut donc modifier Y comme suit :
    <invertYCoordinate>true</invertYCoordinate>
    (voir aussi en BSH)

V. Des trucs à savoir sur les coordonnées EPSG en WMS 

Srs et Crs indiquent le système de coordonnées utilisé en WMS. Mobac fonctionne assez bien avec EPSG:3857 ou EPSG:4326 qui sont des systèmes centrés en 0°N-0°E

La notation des tuiles

Les coordonnées en fonction de l'EPSG

Exemples :

EPSG:4326 : Unité en degrés (coordonnées géographiques). C'est un système de coordonnées identique à un GLOBE (surface courbe).
                    (utilisé par les GPS, basé sur le système géodésique WGS 84)
                    Version 1.1.1 -> BBOX=xmin,ymin,xmax,ymax (les axes ne sont pas inversés)
                    Version 1.3.0 -> BBOX=ymin,xmin,ymax,xmax (les axes sont inversés, c'est la nouvelle norme !)

EPSG:3857 : Unité en mètre (coordonnées projetées). C'est un système de coordonnées identique à une CARTE (surface plane).
                    (utilisé par Google Maps, OpenStreetMap, Bing, ArcGIS, ESRI)
                    BBOX=xmin,ymin,xmax,ymax (les axes ne sont pas inversés)

En .bsh,
  • avec EPSG:3857 (ou EPSG:900913 ou EPSG:3785), il faut utiliser pour BBOX la fonction
    MercatorTileEdges(X,Y,Zoom) fournie dans les fichiers WMS.
     
  • avec EPSG:4326 (et les coordonnées en degrés comme EPSG:4171), il faut utiliser pour BBOX la fonction
    TileEdges(X,Y,Zoom) fournie dans les fichiers WMS.

En .xml, seul EPSG:4326 est implémenté en version 1.1.1 (les axes ne sont pas inversés). Il suffit de préciser le système avec

<coordinatesystem>EPSG:4326</coordinatesystem>

 

WMS est assez souple et peut utiliser d'autres types de coordonnées, comme EPSG:4171.

Ces cartes sont alors centrées en France

EPSG:4171 est basé sur le réseau géodésique français 1993 (RGF93).
On parle aussi de Lambert 93

En .bsh, la fonction mercatorTileEdges(X,Y,Zoom) n'est pas adaptée
il faut utiliser TileEdges(X,Y,Zoom)

Mobac 2.1.3 buid 2453 inclue une nouvelle fonctionnalité. On utilisera le code :

static import Tools.*;
(...)
String getTileUrl(int Zoom, int X, int Y) 
{
	...
	coords = Tools.calculateTileLatLon(Zoom, X, Y);
	// pour la version 1.1.1 (les axes ne sont pas inversés)
	... "&BBOX=" + coords[0] + "," + coords[1] + "," + coords[2] + "," + coords[3] ...
	// pour la version 1.3.0 (les axes sont inversés)
	... "&BBOX=" + coords[1] + "," + coords[0] + "," + coords[3] + "," + coords[2] ...
	...

voir les cartes DFCI

Version d'évaluation ici : MobacWMS-Test.zip

VI. Extraire les informations pour créer un script BSH ou un XML

Pour trouver l'adresse des dalles dans une carte, utiliser le mode ";debug" du navigateur.

Par exemple avec Chrome pour trouver l'adresse d'une dalle en Bulgarie

  1. Ouvrir dans Chrome la carte https://map.bgmountains.org
  2. Lancer le mode Debug F12
  3. Sélectionner "Network"
  4. Appuyer sur Ctrl + R
  5. Mettre la souris sur une image pour obtenir le squelette de l'adresse
  6. et / ou double cliquer dessus pour ouvrir la tuile et copier l'URL
  7. L'adresse des dalles dans le BSH sera du type :
    https://bgmtile.kade.si/{$z}/{$x}/{$y}.png

VII. Exemple de correspondance de zooms

Quel zoom associer à quelle échelle ? Voici deux exemples concrets.

Cartes Layer Echelle Zoom choisi
Allemagne_Rhenanie-Westphalie.bsh
nw_dtk100_col
nw_dtk50_col
nw_dtk25_col
nw_dtk10_col
1/50 000-1/200 000
1/20 000-1/100 000
<1/50 000
<1/50 000
11
12
13-14
≥15
Belgique-Inspire.bsh
adminmap
top250map
landcover100map
top50map
top25map
1/300 000
1/250 000
1/100 000
1/50 000
1/25 000
11
12
13
14-15
≥16
Voir aussi : Quel zoom choisir, la tuile !

VIII. Quand ça veut pas, ça veut pas !

Parfois, il n'y a pas de correspondance entre les tuiles d'une carte et les tuiles Mobac (WSG-84).

L'exemples ci-dessous (ainsi que les nouvelles cartes avalanches Suisse) met en évidence cette incompatibilité pour les cartes https://www.geoportal-bw.de/

Il n'y a rien à faire pour créer un Atlas géo-localisable mis à part écrire une fonction pour remplacer getTileUrl(int Zoom, int X, int Y),
ce qui est envisageable en Java, puisque MOBAC est Open Source !

Les images suivantes montrent une correspondance au puissance de 2 pour les zooms. Une fonction serait donc réalisable ...


 

IX. Déboguer Mobac

Deux possibilités indépendantes pour déboguer Mobac

  1. Tester l'environnement Java au lancement
    Utiliser la ligne de commande
    "Mobile Atlas Creator.exe" --l4j-debug-all
    Cela créera un fichier nommé launch4j.log qui contient le journal de ce qui est configuré et de ce que les "runtimes" Java ont trouvé.
     
  2. Déboguer les croix rouges
    • Ancienne version de MOBAC
      Copier le fichier log4j.xml dans le dossier Mobac
       
    • Depuis la version Mobac 2.2.2-beta2 (2634) (lire Forum)
      Copier le fichier logback.xml dans le dossier Mobac

    Cela créera des logs (Déboguer -> "Afficher le journal de bord") plus complets pour trouver les erreurs

X. Compiler la dernière version Mobac

  1. Installer Open JDK en 64 bits (Le JRE n'est pas suffisant)
  2. Créez (vérifier) la variable d’environnement :
    Panneau config/Système/Onglet Avancé/Variable d’environnement/Zone variable utilisateur
    JAVA_HOME -> C:\Program Files\Eclipse Adoptium\jdk-17.0.1.12-hotspot\
  3. Installer Tortoise
    https://tortoisesvn.net/downloads.html (32 ou 64 bits)
  4. Creer un dossier pour exporter fichier Mobac
    C:\New-mobac
  5. Clic droit -> SVN Checkout
    URL repository: https://svn.code.sf.net/p/mobac/code/trunk/MOBAC
    Checkout directory: C:\New-Mobac\Mobac
  6. Les fichiers vont être importés dans C:\New-Mobac\Mobac
  7. Ouvrir une console MS-DOS
  8. Aller dans le dossier précédemment créé et entrer
    C:\New-Mobac\Mobac>gradlew dist

Note : Avant de compiler on peut modifier la version :
C:\New-mobac\MOBAC\src\main\resources\mobac\mobac.properties

 


Accueil | Catalogue | Technique | Météo | Oruxmaps | Mobac 2.x | Cartes Mobac | Forum MOBAC | Rando-ski | Contactez-moi | Recherche ... | Rapport de stage

Fautes de frappe, fautes d'orthographe ou problèmes relatifs à ce site Web sont à adresser à [paour@free.fr].
Copyright © 2020-2021 [Nicolas PAOUR]. Tous droits réservés.

Dernière modification le : jeudi 12 octobre 2023.