#1 Thu 20 August 2009 08:52
- Sanby
- Juste Inscrit !
- Lieu: Aurons
- Date d'inscription: 10 Aug 2009
- Messages: 9
[Mapserver] Tuilage pyramidale
Bonjour,
Je possĂšde des cartes d'un mĂȘme endroit mais avec des Ă©chelles diffĂ©rentes.
Je désirerais créer un layer qui selon le niveau de zoom demandé affiche la carte qui conviens le mieux au niveau de zoom demander. Je suppose que cela doit bien évidement se configurer dans le layer, mais comment ?
Pour information les images étant trop grosse, je les ais découpées et indexées à l'aide d'un script .bat qui utilise gdal_translate et gdaltindex (mis en piÚce jointe pour les intéressés). Il faudrait donc que selon le niveaux de zoom Mapserver choisisse le bon fichier d'index (a moins que sa se fasse dans le fichier d'index mais j'en doute).
J'ai déjà pas mal chercher mais je n'ai pas trouvé d'aide clair pour le faire.
Merci de votre attention.
Hors ligne
#2 Thu 20 August 2009 09:26
Re: [Mapserver] Tuilage pyramidale
Bonjour,
Regarde pour chaque LAYER les paramĂštres MAXSCALEDENOM et MINSCALEDENOM.
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Thu 20 August 2009 10:32
- Sanby
- Juste Inscrit !
- Lieu: Aurons
- Date d'inscription: 10 Aug 2009
- Messages: 9
Re: [Mapserver] Tuilage pyramidale
Bonjour,
Merci de ta réponse.
J'ai rajouté MAXSCALEDENOM dans mon layer de test.
Pour les zoom maximum (0 à 6) in n'affiche pas la carte (normal), mais une fois ce niveau de zoom passer les tuiles comporte soit la carte du raster soit ma belle couleur de font par défaut ...
J'utilise mon serveur dans un application Java avec "tilemode=gmap" dans le cgi.
J'ai donc maintenant des tuiles qui sont générés correctement et d'autre qui ne le sont pas.
Pourriez-vous me dire pourquoi j'ai cette mosaïque de tuiles avec carte et sans carte. Et surtout comment faire pour éviter sa.
Merci de votre attention.
Dernière modification par Sanby (Thu 20 August 2009 10:33)
Hors ligne
#4 Thu 20 August 2009 10:58
Re: [Mapserver] Tuilage pyramidale
Bonjour,
Une copie d'écran serait plus parlante ? ![]()
Merci,
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#5 Thu 20 August 2009 13:08
- Sanby
- Juste Inscrit !
- Lieu: Aurons
- Date d'inscription: 10 Aug 2009
- Messages: 9
Re: [Mapserver] Tuilage pyramidale
Bonjour,
En effet sans illustrations c'est pas pratique.
Voici ce que je visionne dans mon appli :
[img]http://imgshare.free.fr/uploads/10c73b0211.jpg[/img]
et
[img]http://imgshare.free.fr/uploads/bb74c8b3ab.jpg[/img]
Il faut admettre que c'est quelque peu dérangeant comme carte.
Mon .map est le suivant :
Code:
MAP
NAME "test"
IMAGETYPE PNG24
STATUS ON
EXTENT -180 -90 180 90 # Geographic
SIZE 800 400
IMAGECOLOR 128 128 255
SHAPEPATH "../data/"
SYMBOLSET "../etc/symbols.txt"
#
# Start of web interface definition
#
WEB
IMAGEPATH "C:\OSGeo4W/tmp/ms_tmp/"
IMAGEURL "/ms_tmp/"
END
PROJECTION
"init=epsg:900913"
END
OUTPUTFORMAT
NAME jpegfull
DRIVER "GD/JPEG"
MIMETYPE "image/jpeg"
IMAGEMODE RGB
EXTENSION "jpg"
FORMATOPTION "QUALITY=100"
END
#
# Start of layer definitions
#
END
LAYER
NAME tiledProv
TYPE RASTER
STATUS ON
TILEINDEX "ProvTiled.shp"
TILEITEM "LOCATION"
MAXSCALEDENOM 600000
MINSCALEDENOM 1
METADATA
"ows_srs" "EPSG:4326"
END
PROJECTION
"init=epsg:4326"
END
END
ENDMerci de votre attention.
Hors ligne
#6 Thu 20 August 2009 13:29
Re: [Mapserver] Tuilage pyramidale
Ok, ton serveur n'est pas assez rapide et MapServer a du mal Ă fournir les tuiles aussi rapidement. L'astuce est de crĂ©er plusieurs url factice qui pointe sur le mĂȘme serveur. En effet Ă chaque requĂȘte (et pour un mĂȘme sous nom de domaine) il faut que le serveur envoie la tuile pour passer Ă la suivante. Si tu multiplies les sous nom de domaines cela sera plus rapide (un peu) et surtout tu auras toutes les tuiles.
Code:
var wmsUrl = ["http://www1.monserver?","http://www2.monserver?","http://www3.monserver?"];
var wms = new OpenLayers.Layer.WMS(
"maCouche",
wmsUrl,
options
);Autres possibilités, tu peux aussi définir OpenLayers pour qu'il demande plusieurs fois la tuile si celle-ci n'est pas renvoyé. rajoutes ceci dans ton code :
Code:
OpenLayers.IMAGE_RELOAD_ATTEMPTS = 3;
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#7 Thu 20 August 2009 15:15
- Sanby
- Juste Inscrit !
- Lieu: Aurons
- Date d'inscription: 10 Aug 2009
- Messages: 9
Re: [Mapserver] Tuilage pyramidale
Bonjour,
Merci pour la remarque mais j'ai trouver le problĂšme.
Le problĂšme ne pouvait pas venir de la lenteur de mon serveur car c'est une bĂȘte de course. C'est une telle bĂȘte de course qu'il gardait presque toutes les tuiles en mĂ©moire...
Bref un vrai serveur et un novice sa peut ĂȘtre incompatible ... (heureusement que le novice est pas si bĂȘte que sa)
Toujours est-il qu'en obligeant le serveur à regénérer les tuiles. Sa marche donc impeccablement.
Merci beaucoup pour ton aide Yves.
Dernière modification par Sanby (Thu 20 August 2009 15:16)
Hors ligne

