#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 # ############## END
Voila, 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" END
Mais 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