Bílý vrch
icon TrekBuddy
www.trekbuddy.net
Outdoor companion.
  • internal / bluetooth / simulator GPS
  • offline raster maps
  • smart GPX / raw NMEA logs
  • waypoints and simple navigation
  • custom views
  • MIDP and Symbian phones
  • Blackberry
  • Android
Visit wiki to see all features, guides and howtos. Project tracker.
Trekbuddy is on Github now

Partners:    (Polish/Polski)(Polski) Compass mapy      (Polish/Polski)(Polski) Galileos mapy      (Polish/Polski)(Polski) CartoMedia      (Czech/Èesky)(Èesky) Eaglesoft trasy      (Polish/Polski)(Polski) ExpressMap     

 FAQFAQ   SearchSearch   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
Cartes d'ANDORRE

 
Post new topic   Reply to topic    TrekBuddy Forum Index -> Français
View previous topic :: View next topic  
Author Message
guest



Joined: 08 Oct 2006
Posts: 5028

PostPosted: Tue Oct 16, 2018 4:38 pm    Post subject: Cartes d'ANDORRE Reply with quote

Bonjour,
Je renouvelle une demande faite il y a déjà quelques semaines :

Quelqu'un serait-il capable d'écrire (et publier) un fichjer XML ou BSH pour obtenir les cartes d'ANDORRE à partir du site suivant :
http://www.ideandorra.ad/geoportal/index.jsp?lang=ca

Merci
Back to top
View user's profile Send private message Visit poster's website
guest



Joined: 08 Oct 2006
Posts: 5028

PostPosted: Wed Oct 17, 2018 3:30 pm    Post subject: Reply with quote

Une version qui marche assez lentement chez moi, en XML :
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customWmsMapSource>
  <name>IDE Andorra Topo</name>

  <minZoom>1</minZoom>
  <maxZoom>20</maxZoom>
  <tileType>PNG</tileType>

  <version>1.1.1</version>
  <layers>fons</layers>
  <url>http://www.ideandorra.ad/Serveis/wms?</url>
  <coordinatesystem>EPSG:4326</coordinatesystem>
 
  <aditionalparameters><![CDATA[&EXCEPTIONS=application/vnd.ogc.se_inimage&TRANSPARENT=false&STYLES=&SRS=EPSG:4326]]></aditionalparameters>

  <backgroundColor>#000000</backgroundColor>

</customWmsMapSource>

pour la carte

et
Code:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<customWmsMapSource>
  <name>IDE Andorra Topo</name>

  <minZoom>1</minZoom>
  <maxZoom>20</maxZoom>
  <tileType>PNG</tileType>

  <version>1.1.1</version>
  <layers>wmsorto2012:orto2012</layers>
  <url>http://www.ideandorra.ad/Serveis/wms?</url>
  <coordinatesystem>EPSG:4326</coordinatesystem>
 
  <aditionalparameters><![CDATA[&EXCEPTIONS=application/vnd.ogc.se_inimage&TRANSPARENT=false&STYLES=&SRS=EPSG:4326]]></aditionalparameters>

  <backgroundColor>#000000</backgroundColor>

</customWmsMapSource>

pour l'orthophoto.

Sinon, l'IGN espagnol couvre Andorre (au contraire de l'ICC catalan) :
Code:
name = "IGN Espagne Topo";

tileType = "jpg";
tileSize = 256;
minZoom = 6;
maxZoom = 18;

String getTileUrl( int zoom, int x, int y ) {
return "http://www.ign.es/wmts/mapa-raster?layer=MTN&style=normal&tilematrixset=GoogleMapsCompatible&Service=WMTS&Request=GetTile&Version=1.0.0&Format=image%2Fjpeg&TileMatrix=" + zoom + "&TileCol=" + x + "&TileRow=" + y ;
}
Back to top
View user's profile Send private message Visit poster's website
guest



Joined: 08 Oct 2006
Posts: 5028

PostPosted: Thu Oct 18, 2018 12:44 pm    Post subject: Reply with quote

Cartes d'Andorre

Merci pour la rapidité et l'efficacité de votre réponse
Back to top
View user's profile Send private message Visit poster's website
Nicolas PAOUR



Joined: 25 May 2014
Posts: 6
Location: France

PostPosted: Mon Aug 19, 2019 9:36 pm    Post subject: BSH Andore à jour Reply with quote

bsh à jour pour Andorre en WMS
Code:

// Nom de la carte affiché dans MOBAC
   name = "Andorre,1/25000-Z(18)-2019";
   
// Nom du serveur
   String MyServer = "www.ideandorra.ad";
   
// MyUserAgent correspond à celui créé notemment avec la clé IGN
// Par défaut, on trouve souvent MyUserAgent = "Mozilla/5.0 Gecko/20100101 Firefox/49.0";
   String MyUserAgent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/70.0.3538.102 Safari/537.36";

// MyReferer peut être demandé
   String MyReferer = "";

// MyFolder au format "/blabla"
   String MyFolder = "/Serveis/wmscarto25kraster_1989/wms";

// Paramètres communs
   String MyService = "WMS";      // Service : le type de service (ici : “WMTS”)
   String MyVersion = "1.1.1";      // Version : la version du service utilisée (1.0.0)
   String MyRequest = "GetMap";   // Request : la requête adressée au serveur (GetCapabilities, GetTile ou GetFeatureInfo)

// Paramètres spécifiques GetMap
   String MyFormat = "image/png";                        // Format : le format de sortie - type-mime - du fichier image (“image/png”, “image/jpg”, …)
   String MyLayers = "wmscarto25kraster_1989:carto_25k_1989";   // Layers : la ou les ressources à utiliser pour calculer l’image. C’est le nom technique de la ressource qui est utilisé
   String MyStyles = "";                              // Styles : le style de rendu des couches
   String Mycrs = "";                                 // Crs : indique le système de coordonnées utilisé en WMS 1.3 (ex :900913, 3857)
   String Mysrs = "EPSG:3857";                           // Srs : indique le système de coordonnées utilisé en WMS version < 1.3
   String Mywidth = "256";                              // Width : largeur de l’image finale en pixels
   String Myheight = "256";                           // Height : hauteur de l’image finale en pixels
   String Mymap = "";                                 // Map : Spécifique au serveur "wms.pcn.minambiente.it". Si vide et inutile, peut générer l’erreur : Regular expression error. MS_DEFAULT_MAPFILE_PATTERN
   String Myexeptions = "INIMAGE";                        // Exeptions : Texte dans une image décrivant la nature de l’erreur

tileType = "png";   // Type d’image fourni par le serveur (png, jpg or gif)
tileSize = 256;      // Facultatif : Supprimer la ligne dans le doute
minZoom = 2;      // Facultatif : Zoom minimal souhaité (et/ou fourni par le serveur)
maxZoom = 18;      // Facultatif : Zoom maximal souhaité (et/ou fourni par le serveur) -> Maximum 22 pour Mobac

String getTileUrl(int Zoom, int X, int Y) {
// Autres paramètres spécifiques GetTile
//      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
   if (Zoom < 11) {
      // gestion Zoom < 11, on prend une carte générique Google pour voir le monde entier
      return "http://mt0.google.com/vt/lyrs=m@176103410&hl=fr&s=Galileo&scale=1&z=" + Zoom + "&x=" + X + "&y=" + Y;
   }else{
      // url = "https://www.ideandorra.ad/Serveis/wmscarto25kraster_1989/wms?Layers=wmscarto25kraster_1989:carto_25k_1989&Service=WMS&Request=GetMap&version=1.1.1&Format=image/png&srs=EPSG:3857&width=256&height=256&bbox=184671.8603112793,5240522.658502199,185283.35653747557,5241134.154728392"
      return "https://" + MyServer + MyFolder + "?Layers=" + MyLayers + "&Service=" + MyService + "&Request=" + MyRequest + "&version=" + MyVersion + "&Format=" + MyFormat + "&srs=" + Mysrs + "&width=" + Mywidth + "&height=" + Myheight + "&bbox=" + mercatorTileEdges(X,Y,Zoom);
   }
}

void addHeaders(java.net.HttpURLConnection conn) {
   conn.addRequestProperty("Referer",MyReferer);
   conn.addRequestProperty("User-Agent",MyUserAgent);   
}

//
// Fonction projecion de Mercator
//
   static import java.lang.Math.*;

   numTiles(Z){
      return abs(pow(2,Z));
   }
   mercatorToLat(mercatorY){
      return(toDegrees(atan(sinh(mercatorY))));
   }
   latEdges1(Y,Z){
      n = numTiles(Z);
      unit = 1 / n;
      relY1 = Y * unit;
      lat1 = mercatorToLat(PI * (1 - 2 * relY1));
      return lat1;
   }
   latEdges2(Y,Z){
      n = numTiles(Z);
      unit = 1 / n;
      relY1 = Y * unit;
      relY2 = relY1 + unit;
      lat2 = mercatorToLat(PI * (1 - 2 * relY2));
      return lat2;
   }
   lonEdges1(X,Z){
      n = numTiles(Z);
      unit = 360 / n;
      lon1 = -180 + X * unit;
      return lon1;
   }
   lonEdges2(X,Z){
      n = numTiles(Z);
      unit = 360 / n;
      lon1 = -180 + X * unit;
      lon2 = lon1 + unit;
      return lon2;
   }
   tileEdges(X,Y,Z){
      return (latEdges2(Y,Z)+","+
            lonEdges1(X,Z)+","+
            latEdges1(Y,Z)+","+
            lonEdges2(X,Z));
   }
   lon2mercator(l){
      return (l * 20037508.34 / 180);
   }
   lat2mercator(l){
      r = toRadians(l);
      lat = log((1+sin(r)) / (1-sin(r)));
      return (lat * 20037508.34 / 2 / PI);
   }
   mercatorTileEdges(X,Y,Z){
      return (lon2mercator(lonEdges1(X,Z))+","+
            lat2mercator(latEdges2(Y,Z))+","+
            lon2mercator(lonEdges2(X,Z))+","+
            lat2mercator(latEdges1(Y,Z)));
   }
//
// FIN Mercator
//

_________________
Nicolas (de Chartreuse)
Back to top
View user's profile Send private message Visit poster's website
LaurentG



Joined: 13 Oct 2016
Posts: 34

PostPosted: Tue Aug 20, 2019 7:12 am    Post subject: Reply with quote

Bonjour Nicolas,

il ne s'agit pas de la même carte ! Celle que tu proposes est beaucoup moins précise et détaillée que celle du Geoportal Andoran : https://www.ideandorra.ad/geoportal/index.jsp

Cela dit, le XML proposé ne fonctionne pas (plus ?) chez moi....
Back to top
View user's profile Send private message
Nicolas PAOUR



Joined: 25 May 2014
Posts: 6
Location: France

PostPosted: Wed Aug 21, 2019 6:52 am    Post subject: Reply with quote

Bonjour
Quote:
Cela dit, le XML proposé ne fonctionne pas (plus

Jai vu mais je narrive pas a faire tourner un wms (ou wmrs) aver la layer "fons" !
Mais si elle est plus precise je vais me repencher sur le problème. ..

_________________
Nicolas (de Chartreuse)
Back to top
View user's profile Send private message Visit poster's website
Nicolas PAOUR



Joined: 25 May 2014
Posts: 6
Location: France

PostPosted: Fri Oct 11, 2019 2:38 pm    Post subject: Reply with quote

Bonjour,
Voici les 2 BSH (version 1.3.0) équivalents aux XML précédents (version 1.1.1) qui ne fonctionnent plus et avec la même résolution que https://www.ideandorra.ad/geoportal/index.jsp
Cartes topo
Code:

// Nom de la carte affiché dans MOBAC
   name = "Andorre, topo-Z(22)-2019";
   
// Nom du serveur
   String MyServer = "www.ideandorra.ad";
   
// MyUserAgent correspond à celui créé notemment avec la clé IGN
// Par défaut, on trouve souvent MyUserAgent = "Mozilla/5.0 Gecko/20100101 Firefox/49.0";
   String MyUserAgent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/70.0.3538.102 Safari/537.36";

// MyReferer peut être demandé
   String MyReferer = "";

// MyFolder au format "/blabla"
   String MyFolder = "/Serveis/wms";

// Paramètres communs
   String MyService = "WMS";      // Service : le type de service (ici : “WMTS”)
   String MyVersion = "1.3.0";      // Version : la version du service utilisée (1.0.0)
   String MyRequest = "GetMap";   // Request : la requête adressée au serveur (GetCapabilities, GetTile ou GetFeatureInfo)

// Paramètres spécifiques GetMap
   String MyFormat = "image/png";                        // Format : le format de sortie - type-mime - du fichier image (“image/png”, “image/jpg”, …)
   String MyLayers = "fons";   // Layers : la ou les ressources à utiliser pour calculer l’image. C’est le nom technique de la ressource qui est utilisé
   String MyStyles = "";                              // Styles : le style de rendu des couches
   String Mycrs = "EPSG:3857";                           // Crs : indique le système de coordonnées utilisé en WMS 1.3 (ex :900913, 3857)
   String Mysrs = "";                                 // Srs : indique le système de coordonnées utilisé en WMS version < 1.3
   String Mywidth = "256";                              // Width : largeur de l’image finale en pixels
   String Myheight = "256";                           // Height : hauteur de l’image finale en pixels
   String Mymap = "";                                 // Map : Spécifique au serveur "wms.pcn.minambiente.it". Si vide et inutile, peut générer l’erreur : Regular expression error. MS_DEFAULT_MAPFILE_PATTERN
   String Myexeptions = "INIMAGE";                        // Exeptions : Texte dans une image décrivant la nature de l’erreur

tileType = "png";   // Type d’image fourni par le serveur (png, jpg or gif)
tileSize = 256;      // Facultatif : Supprimer la ligne dans le doute
minZoom = 2;      // Facultatif : Zoom minimal souhaité (et/ou fourni par le serveur)
maxZoom = 22;      // Facultatif : Zoom maximal souhaité (et/ou fourni par le serveur) -> Maximum 22 pour Mobac

String getTileUrl(int Zoom, int X, int Y) {
// Autres paramètres spécifiques GetTile
//      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
   if (Zoom < 11) {
      // gestion Zoom < 11, on prend une carte générique Google pour voir le monde entier
      return "http://mt0.google.com/vt/lyrs=m@176103410&hl=fr&s=Galileo&scale=1&z=" + Zoom + "&x=" + X + "&y=" + Y;
   }else{
      // url = "https://www.ideandorra.ad/Serveis/wms?Layers=fons&Service=WMS&Request=GetMap&version=1.3.0&Format=image/png&crs=EPSG:3857&width=256&height=256&bbox=184671.8603112793,5240522.658502199,185283.35653747557,5241134.154728392"
      return "https://" + MyServer + MyFolder + "?Layers=" + MyLayers + "&Service=" + MyService + "&Request=" + MyRequest + "&version=" + MyVersion + "&Format=" + MyFormat + "&crs=" + Mycrs + "&width=" + Mywidth + "&height=" + Myheight + "&bbox=" + mercatorTileEdges(X,Y,Zoom);
   }
}

void addHeaders(java.net.HttpURLConnection conn) {
   conn.addRequestProperty("Referer",MyReferer);
   conn.addRequestProperty("User-Agent",MyUserAgent);   
}

//
// Fonction projecion de Mercator
//
   static import java.lang.Math.*;

   numTiles(Z){
      return abs(pow(2,Z));
   }
   mercatorToLat(mercatorY){
      return(toDegrees(atan(sinh(mercatorY))));
   }
   latEdges1(Y,Z){
      n = numTiles(Z);
      unit = 1 / n;
      relY1 = Y * unit;
      lat1 = mercatorToLat(PI * (1 - 2 * relY1));
      return lat1;
   }
   latEdges2(Y,Z){
      n = numTiles(Z);
      unit = 1 / n;
      relY1 = Y * unit;
      relY2 = relY1 + unit;
      lat2 = mercatorToLat(PI * (1 - 2 * relY2));
      return lat2;
   }
   lonEdges1(X,Z){
      n = numTiles(Z);
      unit = 360 / n;
      lon1 = -180 + X * unit;
      return lon1;
   }
   lonEdges2(X,Z){
      n = numTiles(Z);
      unit = 360 / n;
      lon1 = -180 + X * unit;
      lon2 = lon1 + unit;
      return lon2;
   }
   tileEdges(X,Y,Z){
      return (latEdges2(Y,Z)+","+
            lonEdges1(X,Z)+","+
            latEdges1(Y,Z)+","+
            lonEdges2(X,Z));
   }
   lon2mercator(l){
      return (l * 20037508.34 / 180);
   }
   lat2mercator(l){
      r = toRadians(l);
      lat = log((1+sin(r)) / (1-sin(r)));
      return (lat * 20037508.34 / 2 / PI);
   }
   mercatorTileEdges(X,Y,Z){
      return (lon2mercator(lonEdges1(X,Z))+","+
            lat2mercator(latEdges2(Y,Z))+","+
            lon2mercator(lonEdges2(X,Z))+","+
            lat2mercator(latEdges1(Y,Z)));
   }
//
// FIN Mercator
//

et en photo
Code:

// Nom de la carte affiché dans MOBAC
   name = "Andorre, photo-Z(22)-2019";
   
// Nom du serveur
   String MyServer = "www.ideandorra.ad";
   
// MyUserAgent correspond à celui créé notemment avec la clé IGN
// Par défaut, on trouve souvent MyUserAgent = "Mozilla/5.0 Gecko/20100101 Firefox/49.0";
   String MyUserAgent = "Mozilla/5.0 (Windows NT 6.3; Win64; x64) AppleWebKit/537.36 (KHTML,like Gecko) Chrome/70.0.3538.102 Safari/537.36";

// MyReferer peut être demandé
   String MyReferer = "";

// MyFolder au format "/blabla"
   String MyFolder = "/Serveis/wms";

// Paramètres communs
   String MyService = "WMS";      // Service : le type de service (ici : “WMTS”)
   String MyVersion = "1.3.0";      // Version : la version du service utilisée (1.0.0)
   String MyRequest = "GetMap";   // Request : la requête adressée au serveur (GetCapabilities, GetTile ou GetFeatureInfo)

// Paramètres spécifiques GetMap
   String MyFormat = "image/png";                        // Format : le format de sortie - type-mime - du fichier image (“image/png”, “image/jpg”, …)
   String MyLayers = "wmsorto2012:orto2012";               // Layers : la ou les ressources à utiliser pour calculer l’image. C’est le nom technique de la ressource qui est utilisé
   String MyStyles = "";                              // Styles : le style de rendu des couches
   String Mycrs = "EPSG:3857";                           // Crs : indique le système de coordonnées utilisé en WMS 1.3 (ex :900913, 3857)
   String Mysrs = "";                                 // Srs : indique le système de coordonnées utilisé en WMS version < 1.3
   String Mywidth = "256";                              // Width : largeur de l’image finale en pixels
   String Myheight = "256";                           // Height : hauteur de l’image finale en pixels
   String Mymap = "";                                 // Map : Spécifique au serveur "wms.pcn.minambiente.it". Si vide et inutile, peut générer l’erreur : Regular expression error. MS_DEFAULT_MAPFILE_PATTERN
   String Myexeptions = "INIMAGE";                        // Exeptions : Texte dans une image décrivant la nature de l’erreur

tileType = "png";   // Type d’image fourni par le serveur (png, jpg or gif)
tileSize = 256;      // Facultatif : Supprimer la ligne dans le doute
minZoom = 2;      // Facultatif : Zoom minimal souhaité (et/ou fourni par le serveur)
maxZoom = 22;      // Facultatif : Zoom maximal souhaité (et/ou fourni par le serveur) -> Maximum 22 pour Mobac

String getTileUrl(int Zoom, int X, int Y) {
// Autres paramètres spécifiques GetTile
//      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
   if (Zoom < 11) {
      // gestion Zoom < 11, on prend une carte générique Google pour voir le monde entier
      return "http://mt0.google.com/vt/lyrs=m@176103410&hl=fr&s=Galileo&scale=1&z=" + Zoom + "&x=" + X + "&y=" + Y;
   }else{
      // url = "https://www.ideandorra.ad/Serveis/wms?Layers=wmsorto2012:orto2012&Service=WMS&Request=GetMap&version=1.3.0&Format=image/png&crs=EPSG:3857&width=256&height=256&bbox=184671.8603112793,5240522.658502199,185283.35653747557,5241134.154728392"
      return "https://" + MyServer + MyFolder + "?Layers=" + MyLayers + "&Service=" + MyService + "&Request=" + MyRequest + "&version=" + MyVersion + "&Format=" + MyFormat + "&crs=" + Mycrs + "&width=" + Mywidth + "&height=" + Myheight + "&bbox=" + mercatorTileEdges(X,Y,Zoom);
   }
}

void addHeaders(java.net.HttpURLConnection conn) {
   conn.addRequestProperty("Referer",MyReferer);
   conn.addRequestProperty("User-Agent",MyUserAgent);   
}

//
// Fonction projecion de Mercator
//
   static import java.lang.Math.*;

   numTiles(Z){
      return abs(pow(2,Z));
   }
   mercatorToLat(mercatorY){
      return(toDegrees(atan(sinh(mercatorY))));
   }
   latEdges1(Y,Z){
      n = numTiles(Z);
      unit = 1 / n;
      relY1 = Y * unit;
      lat1 = mercatorToLat(PI * (1 - 2 * relY1));
      return lat1;
   }
   latEdges2(Y,Z){
      n = numTiles(Z);
      unit = 1 / n;
      relY1 = Y * unit;
      relY2 = relY1 + unit;
      lat2 = mercatorToLat(PI * (1 - 2 * relY2));
      return lat2;
   }
   lonEdges1(X,Z){
      n = numTiles(Z);
      unit = 360 / n;
      lon1 = -180 + X * unit;
      return lon1;
   }
   lonEdges2(X,Z){
      n = numTiles(Z);
      unit = 360 / n;
      lon1 = -180 + X * unit;
      lon2 = lon1 + unit;
      return lon2;
   }
   tileEdges(X,Y,Z){
      return (latEdges2(Y,Z)+","+
            lonEdges1(X,Z)+","+
            latEdges1(Y,Z)+","+
            lonEdges2(X,Z));
   }
   lon2mercator(l){
      return (l * 20037508.34 / 180);
   }
   lat2mercator(l){
      r = toRadians(l);
      lat = log((1+sin(r)) / (1-sin(r)));
      return (lat * 20037508.34 / 2 / PI);
   }
   mercatorTileEdges(X,Y,Z){
      return (lon2mercator(lonEdges1(X,Z))+","+
            lat2mercator(latEdges2(Y,Z))+","+
            lon2mercator(lonEdges2(X,Z))+","+
            lat2mercator(latEdges1(Y,Z)));
   }
//
// FIN Mercator
//


Elles sont effectivement un peu longues à la détente

_________________
Nicolas (de Chartreuse)
Back to top
View user's profile Send private message Visit poster's website
guest



Joined: 08 Oct 2006
Posts: 5028

PostPosted: Mon Oct 14, 2019 11:58 am    Post subject: Reply with quote

Merci! Sinon les XML remarchent (leeentement mais ça marche) si on les passe en https dans l'entête du serveur.
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    TrekBuddy Forum Index -> Français All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You cannot download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group