Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

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

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

Re: [Mapserver] Tuilage pyramidale

Bonjour,

Une copie d'écran serait plus parlante ? wink

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
END

Merci de votre attention.

Hors ligne

 

#6 Thu 20 August 2009 13:29

Yves
Membre du bureau
Lieu: Aix-les-Bains
Date d'inscription: 22 Mar 2006
Messages: 9869
Site web

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

 

Pied de page des forums

Powered by FluxBB