#1 Tue 17 January 2017 14:57
- alexyvdv
- Participant occasionnel
- Date d'inscription: 14 Sep 2016
- Messages: 18
Mapserver point mysql symbologie
Bonjour à tous,
Je tente actuellement de générer des map sur lesquelles je positionne des pictogrammes définies par une lat/lon.
Je vais chercher les informations concernant toutes mes villes dans Mysql.
Code:
$requete= "***" $idconnection=@mysql_connect("***","***","***"); $etat = mysql_query($requete,$idconnection); $i=0; while ($row=mysql_fetch_array($etat,MYSQL_NUM)){ $qresult[$i] = $row; echo $qresult[$i]; $i++; }
L'echo me donne :
array(9) {
[0] => string(4) "3544"
[1] => string(11) "Montpellier"
[2] => string(19) "2017-01-19 00:00:00"
[3] => string(7) "5375970" (latitude en mètre)
[4] => string(6) "431549" (longitude en mètre)
[5] => string(5) "c0000" (expression associée à un logo dans le map)
}
array(9) {
[0] => string(4) "3341"
[1] => string(4) "Metz"
[2] => string(19) "2017-01-19 00:00:00"
[3] => string(7) "6262870"
[4] => string(6) "687614"
[5] => string(5) "c0023"
...
...
...
"
J'ajoute ensuite chacune de mes villes requêtée au sein de mon layer selon le code :
Code:
$layer=$this->map->getLayerByName("carte"); $i=0; foreach($qresult as $row) { $point[$i] = ms_newPointObj(); $line[$i] = ms_newLineObj(); $shape[$i] = ms_newShapeObj(MS_SHAPE_POINT); $point[$i]->setXY($row[4],$row[3]); $line[$i]->add($point[$i]); $shape[$i]->add($line[$i]); $shape[$i]->set(index,$row[5]); // Add feature to the layer $layer->addFeature($shape[$i]); $i++; }
Mon mapfile ressemble à cela :
Code:
LAYER NAME "carte" STATUS On TYPE POINT PROJECTION "proj=merc" END TRANSPARENCY 90 CLASS EXPRESSION "n0000" STYLE SYMBOL ../logo/jour/grand/n0000.png END END CLASS EXPRESSION "c0000" STYLE SYMBOL ../logo/jour/grand/c0000.png END END CLASS EXPRESSION "c0010" STYLE SYMBOL ../logo/jour/grand/c0010.png .... ... ....
Toutefois, impossible de tracer quoique ce soit. Une erreur m'est notifiée à l'execution du php :
"Notice: Use of undefined constant index - assumed 'index' " indiqué à la ligne $shape[$i]->set(index,$row[5]);
Difficile de savoir pourquoi cela ne fonctionne pas ?
Je ne vois pas ce qui diffère de la méthode exposée dans ce livre à la page 256 :
https://issuu.com/mani2604/docs/beginni … evelopment
Je vous remercie d'avance,
N'hésitez pas à me demander plus d'informations si j'omets certaines choses.
Bon après-midi !
Hors ligne
#2 Wed 18 January 2017 12:41
- alexyvdv
- Participant occasionnel
- Date d'inscription: 14 Sep 2016
- Messages: 18
Re: Mapserver point mysql symbologie
Bonjour,
Je vois que mon explication déchaîne les foules
Personne n'a d'idée face à ce problème ?
Je vous remercie.
Hors ligne