#1 Mon 06 July 2009 15:52
- smile
- Participant actif
- Date d'inscription: 2 Jul 2009
- Messages: 110
[MapServer/CartoWeb3] Problème affichage via CartoWeb3
Salut la communauté,
Je reviens vers vous pour vous exposer un nouveau probleme!
Je me suis penché sur cartoweb pour gerer l'affichage de ma carte, et je rencontre a nouveau de petits problemes.
L'installation s'est apparement bien passé, j'ai créé un nouveau projet a partir d'un "SampleProject", jusqu'a la tout va bien.
Par contre la carte ne s'affiche pas (fond blanc), mais ce qui est bizard c'est que les coordonnées ont l'air correct, ainsi que l'echelle, on peut meme selectionner les couches dans une boite de dialogue. (Cf image.)
[img]http://img406.imageshack.us/img406/116/sampley.jpg[/img]
Je me demande si cartoweb a du mal a se connecter a la BDD Oracle qui contient les données (meme s'il me semble que cela soit gerré par mapserver)?
Je vous joint egalement le Mapfile qui va avec (peut etre l'erreur vient de lui?)
Code:
MAP
NAME "smile"
EXTENT ****** ****** ****** *******
IMAGETYPE PNG
IMAGECOLOR 255 255 255
STATUS ON
UNITS METERS
FONTSET "fonts.txt"
SYMBOLSET "symbols.txt"
#SHAPEPATH "data"
PROJECTION
"init=epsg:27571" ##required
END
OUTPUTFORMAT
NAME png
DRIVER "AGG/png"
MIMETYPE "image/png"
IMAGEMODE RGB
EXTENSION "png"
FORMATOPTION QUALITY=80
END
REFERENCE
IMAGE images/keymap_france.png
EXTENT 876010 158100 887250 168300
STATUS ON
COLOR -1 -1 -1
OUTLINECOLOR 200 0 0
SIZE 224 150
END
SCALEBAR
POSTLABELCACHE TRUE
STYLE 0
UNITS kilometers
SIZE 350 3
TRANSPARENT TRUE
COLOR 77 77 88
IMAGECOLOR 242 255 195
BACKGROUNDCOLOR 222 222 222
LABEL
TYPE BITMAP
SIZE SMALL
COLOR 0 0 0
POSITION UR
BUFFER 10
END
END
LEGEND
KEYSIZE 20 15
END
##########
# LAYERS #
##########
LAYER
NAME "commune"
TYPE POLYGON
STATUS DEFAULT
#DUMP TRUE
CONNECTIONTYPE oraclespatial
CONNECTION "*****/******@****"
DATA "GEOMETRY FROM CADA.COMMUNE"
PROCESSING "CLOSE_CONNECTION=DEFER"
CLASS
EXPRESSION ('[IDCOM]' == '57463')
STYLE
COLOR 240 240 240
OUTLINECOLOR 0 0 0
END
END
END
LAYER
NAME "voifer"
TYPE LINE
STATUS DEFAULT
#DUMP TRUE
CONNECTIONTYPE oraclespatial
CONNECTION "*****/*****@****"
DATA "GEOMETRY FROM CADA.H_VOIFER"
PROCESSING "CLOSE_CONNECTION=DEFER"
CLASS
STYLE
COLOR 170 187 187
END
END
END
LAYER
NAME "voirie"
TYPE POLYGON
STATUS DEFAULT
#DUMP TRUE
CONNECTIONTYPE oraclespatial
CONNECTION "*****/*****@****"
DATA "GEOMETRY FROM CADA.H_VOIRIE"
PROCESSING "CLOSE_CONNECTION=DEFER"
CLASS
STYLE
COLOR 255 255 255
END
LABEL
COLOR 0 0 0
OUTLINECOLOR 255 255 255
OUTLINEWIDTH 3
FONT arial
TYPE truetype
POSITION UR
PARTIALS TRUE
END
END
END # Layer
LAYER
NAME "bati"
TYPE POLYGON
STATUS DEFAULT
#DUMP TRUE
CONNECTIONTYPE oraclespatial
CONNECTION "*****/*****@****"
DATA "GEOMETRY FROM CADA.Batidur"
PROCESSING "CLOSE_CONNECTION=DEFER"
CLASS
STYLE
COLOR 187 187 187
END
END
END # Layer
LAYER
NAME "riviere"
TYPE POLYGON
STATUS DEFAULT
#DUMP TRUE
CONNECTIONTYPE oraclespatial
CONNECTION "*****/*****@****"
DATA "GEOMETRY FROM CADA.H_RIVIER"
PROCESSING "CLOSE_CONNECTION=DEFER"
CLASS
STYLE
COLOR 190 210 255
END
END
END
LAYER
NAME "arbre"
TYPE POINT
STATUS DEFAULT
#DUMP TRUE
CONNECTIONTYPE oraclespatial
CONNECTION "*****/*****@****"
DATA "GEOMETRY FROM CADA.H_ARBRE"
PROCESSING "CLOSE_CONNECTION=DEFER"
CLASS
STYLE
COLOR 50 190 100
END
END
END
##############
# END LAYERS #
##############
ENDVoila, en esperant que vous puissez m'aider!
Merci![]()
Hors ligne
#2 Mon 06 July 2009 15:57
Re: [MapServer/CartoWeb3] Problème affichage via CartoWeb3
Quelles sont les couches activées par défaut ? Quelles sont celles que tu as tentés d'affiché ?
La liste déroulante permet de choisir la couche sur laquelle recentrer la carte via un id d'un objet de la couche. Donc inutile pour afficher une couche. Par contre l'onglet Thème peut être intéressant !
Tu peux aussi regarder les logs de cartoweb, mapserver ou apache.
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 Mon 06 July 2009 16:40
- smile
- Participant actif
- Date d'inscription: 2 Jul 2009
- Messages: 110
Re: [MapServer/CartoWeb3] Problème affichage via CartoWeb3
Salut Y.,
Il me semble que toutes les couches sont activées, en tout cas mon but c'est de les afficher toutes.
Il faut peut etre faire une manip' pour les activer? (peut dans le layer.ini,mais des que j'y touche ca fait planter le tout).
Dans l'onglet "theme" il y a une checkbox ou j'ai uniquement le choix de cocher "root". Apparement rien ne se passe que je coche celui-ci et que je clique sur "refresh".
Je vais aller jeter un coup d'oeil du coté des "logs"!
et encore merci pour ton aide!![]()
Hors ligne
#4 Tue 07 July 2009 16:01
- smile
- Participant actif
- Date d'inscription: 2 Jul 2009
- Messages: 110
Re: [MapServer/CartoWeb3] Problème affichage via CartoWeb3
Bonjour,
J'ai enfin résolu le problème. Après plusieurs tentatives, j'ai tout réinstallé, je suis parti sur une base saine. J'ai recopié un modèle de mapfile et de layer.ini issus des démos de CW3 que j'ai adaptés à ma sauce à partir d'un fichier shape en local pour arriver au final à afficher les couches à partir des données de la BDD Oracle.
Tout est ok, maintenant je veux corser l'histoire en interrogeant une couche et récupérer des informations (id, libellé).
J'ai regardé les fichiers query.ini des démos où le bouton "query" fonctionne et je n'ai rien remarqué de particulier par rapport aux miens. J'ai juste chargé le module hilight au cas où mais cela ne marche pas non plus.
J'ai aussi modifié le mapfile comme il se doit:
Code:
TEMPLATE "ttt"
METADATA
"id_attribute_string" "IDCOM|int"
"query_returned_attributes" "IDCOM LIBCOM"
ENDMais j'ai une erreur PHP dûe à la ligne TEMPLATE "ttt" quand j'exécute la query:
Code:
Fatal error: [MapServer Error]: msOracleSpatialLayerGetShape(): Error parsing OracleSpatial DATA variable for query. To execute query functions you need to define one unique column [USING UNIQUE <#column>] in C:\ms4w\apps\cartoweb3\coreplugins\mapquery\server\ServerMapquery.php on line 142
La ligne 142 en question:
Code:
$shape = $msLayer->getShape($result->tileindex, $result->shapeindex);
Le problème est-il lié au fait que je n'ai pas de msLayer dans mon fichier layer.ini ?
Ou, cela est peut-être dû au fait que CW3 n'arrive pas à accéder aux données attributaires qui sont rattachées à un objet géographique (bâtiments, rues, ...) car dans le mapfile la ligne DATA récupère seulement les données géométriques:
Code:
DATA "GEOMETRY FROM CADA.Bati"
Désolé de faire des posts lourds !
Merci d'avance !
Hors ligne
#5 Tue 07 July 2009 16:14
Re: [MapServer/CartoWeb3] Problème affichage via CartoWeb3
Bonjour,
Comme le message d'erreur l'indique tu dois rajouter ceci dans ton paramètre DATA :
Code:
USING UNIQUE maColonneUnique
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
#6 Tue 07 July 2009 16:23
- smile
- Participant actif
- Date d'inscription: 2 Jul 2009
- Messages: 110
Re: [MapServer/CartoWeb3] Problème affichage via CartoWeb3
Merci !!!
Heureusement que tu es là !!!
Désolé si les questions sont bêtes mais je découvre la géomatique alors bon...
Hors ligne
#7 Tue 07 July 2009 16:25
Re: [MapServer/CartoWeb3] Problème affichage via CartoWeb3
euuh non là c'est un problème de lecture ![]()
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
#8 Wed 08 July 2009 15:52
- smile
- Participant actif
- Date d'inscription: 2 Jul 2009
- Messages: 110
Re: [MapServer/CartoWeb3] Problème affichage via CartoWeb3
Bonjour,
Le projet avance à petit pas.
La fonction Query marche tip top mis à part que je dois désactiver les requêtes persistentes pour éviter de faire planter l'application lorsque je fais deux query à la suite sans faire un query_clear.
J'ai rajouté le plugin "Auth" à l'application pour effectuer la gestion des droits. J'arrive à me connecter à ma base de données MySQL et à afficher les couches en fonction des utilisateurs.
Maintenant, j'aimerai pouvoir insérer un lien "Panneau d'administration" sur la page php du projet. Il suffit de faire <a href...></a> dans cartoclient.tpl mais je dois afficher le lien seulement si c'est un certain type d'utilisateur. Et de ce fait, je dois faire des tests/requêtes sur le status de l'utilisateur en cours. Insérer du code en php dans le fichier tpl ne fonctionne pas....
J'avais essayé de partir sur un script d'authentification hors-CW3 mais ca plantait à cause des
session_start() en php...
De même, sur la page qui va recevoir le panneau d'administation des utilisateurs, il faudra que je puisse tester sur la session afin de ne pas y avoir accès par l'url.
Pour être plus clair dans mes questions,
Comment peut-on intégrer/gérer des variables de sessions en php ?
Aussi, dans quel fichier dois-je intervenir car dans mon fichier de projet.php et celui de client, ca plantait les variables de sessions réalisées à la main.
PS: Est ce possible de renommer mon topic en Cartoweb3 à la place de OpenLayers SVP ? Et de mettre en titre " [MapServer/Cartoweb3 ] Problème Cartoweb/Session PHP Merci
Hors ligne
#9 Thu 09 July 2009 15:43
- smile
- Participant actif
- Date d'inscription: 2 Jul 2009
- Messages: 110
Re: [MapServer/CartoWeb3] Problème affichage via CartoWeb3
Bonjour,
Je vais peut-être reformuler mes questions.
J'aimerai pouvoir inclure du code PHP dans mon projet afin de pouvoir générer un mapfile dynamique en faisant des tests sur des variables de sessions afin d'aller pêcher des données sur les utilisateurs dans une BDD MySQL (tel mapfile selon l'utilisateur) etc...
Je souhaiterai savoir où inclure mes fichiers PHP de façon à ne pas faire planter CW3 et comment récupérer les variables de sessions ?
CW3 est une usine à gaz avec des intercroisements de plusieurs fichiers PHP !
Merci !!!
Hors ligne


