WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Mise en place d'une plateforme de cartographie dynamique

( Télécharger le fichier original )
par Issa Baldé
Ecole Supérieure Polytechnique de Dakar - Ingénieur de conception en Génie Informatique 2008
  

précédent sommaire

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

Extrait 2 : Affichage de la fenêtre d'informations

// Fonction javascript qui permet d'afficher une fenetre popup avec les parametres nom (nom des champs) val (valeurs des champs)

<script langage= `JavaScript'>

function info(nom,val){

var url="info.php?nom="+nom+"&&val="+val+"";

var prop="status=no,scrollbars=yes,toolbar=no,menubar=no,resizable=yes,location=no,width=200,height=80,top=235,left=690";

window.open(url,"info",prop);

</script>

$clkpoint->SetXY($_POST['img_x'], $_POST['img_y']);

$ProvExtents = explode(" ", $_POST['extent']);// On récupere le nouvel extent

$dfMinX = doubleval($ProvExtents[0]);

$dfMinY = doubleval($ProvExtents[1]);

$dfMaxX = doubleval($ProvExtents[2]);

$dfMaxY = doubleval($ProvExtents[3]);

// tester si on a clické sur l'outils infos

if($_SESSION['outils']==2)

{

// création d'un nouvel objet point

$oClickGeo = ms_newPointObj();

$width = $map->width;

$height = $map->height;

// récupération des coordonnées du click

$x_clik=intval($_POST['img_x']);

$y_clik=intval($_POST['img_y']);

// conversion des coordonnées pixel en coordonées géoréferencés avec notre fonction LtiSigPix2Geo()

$nClickGeoX = LtiSigPix2Geo($x_clik, 0, $width, $dfMinX, $dfMaxX, 0);

$nClickGeoY = LtiSigPix2Geo($y_clik, 0, $height,$dfMinY, $dfMaxY, 1);

$oClickGeo->setXY($nClickGeoX, $nClickGeoY);

@$layer->queryByPoint($oClickGeo, MS_MULTIPLE, -1); // exécution de la requete

// on récupere le nombre de couches actives (layer)

$numcouches = $map->numlayers;

$nResults=0;

for($i = 0; $i < $numcouches; $i++){

$layer=$map->getLayer($i);

$nLayerResults = $layer->getNumResults();

if ($nLayerResults == 0)

continue; // Pas de résultats

$layer->open();

$champs = explode(" ", $layer->getMetaData("RESULT_FIELDS"));// On récupère les attributs de la couche explorée

//qui correspondent aux attributs indiqués dans RESULT_FIELdS du fichier ltisig.map

for ($iRes=0; $iRes < $nLayerResults; $iRes++)

{

$oRes = $layer->getResult($iRes);

$oShape = $layer->getShape($oRes->tileindex,$oRes->shapeindex);

// selectionner tous les champs

$i=0;

while ( list($key,$val) = each($oShape->values) )

{

$champs[$i++] = $key;

}

// recupération des noms de colonnes

$nom_champ=array();

$val_champ=array();

for ($iField=0; $iField < count($champs); $iField++)

{

$nom_champ[$iField]=$champs[$iField];

}

// Récupération de la valeur des champs

for($iField=0; $iField < sizeof($champs); $iField++)

{

$val_champ[$iField]=$oShape->values[$champs[$iField]];

}

// On converti les tableaux en chaines de caracteres pour les envoyé sur la page info par popup

$_nom_champ=implode("|",$nom_champ);

$_val_champ=implode("|",$val_champ);

?>

<!-- Appel de la fenetre popup info avec du javascript -->

<script language="javascript">

info('<?php echo $_nom_champ;?>','<?php echo $_val_champ;?>');

</script>

<?php $oShape->free();

}

$layer->close();

}

}// fin test outils infos

/*---------------------------------------------------------------------------------------*/

/*---------- Code de la page info.php -----------------------------------*/

/*---------------------------------------------------------------------------------------*/

<body marginheight="1" leftmargin="1" rightmargin="1">

<?php

$nom=$_GET['nom'];

$val=$_GET['val'];

$_nom=explode("|",$nom);

$_val=explode("|",$val);

?>

<table align="center" cellspacing="0" border="1" class="tableinfo">

<tr class="ligne"><td colspan="2">Informations</td></tr>

<?php for($i=0;$i<count($_nom);$i++)

{?>

<tr align="center"><td><b><?php echo $_nom[$i];?></b></td><td><?php echo $_val[$i];?></td></tr>

<?php }?>

</table>

</body>

REMARQUE : Pour que ce type de requête QueryByPoint () fonctionne pour une couche donnée, il faut d'abor définir pour celle-ci un Template en ajoutant dans cette couche le mot clé Template. Par exemple $layer->set ("template","ttt_couche.html");

Cependant vous n'avez pas à créer ce fichier html.

Annexe C: Les options de l'utilitaire shp2pgsql (I)

Syntax: Sh2pgsql [options] [fich-shape] [nom-table] [BD] | psql [BD]

Les options

-d

Supprime la table de la base de données avant la création de la nouvelle table avec les données du fichier vecteur (Shape).

-a

Ajoute les données du fichier vecteur dans la table de la base de données. Notez qu'il faut utiliser cette option pour charger plusieurs fichiers, qui doivent contenir les mêmes attributs et les mêmes types de données.

-c

Crée une nouvelle table et la remplie avec le contenu du fichier vecteur (Shape). C'est le mode par défaut.

-p

Produit uniquement le code de création des tables, sans ajouter les données. Cela peut être utilisé lorsque vous avez besoin de séparer complètement les étapes de création de la table et de sont remplissage.

 

-D

Utilise le format d'export de PostgreSQL pour extraire les données. Cette option peut être combiné avec -a, -c et -d. C'est plus rapide pour charger des données que d'utiliser des requêtes au format SQL de type "INSERT". Utilisez ceci pour l'insertion d'une grande quantité de données.

 

-s <SRID>

Crée et remplie les tables géométriques avec le SRID spécifié.

 

-k

Respecte la syntaxe (casse : majuscules/minuscules) des identifiants (colonne, schéma et attributs). Notez que les attributs dans des fichiers vecteurs sont en majuscules.

 

-i

Conversion de tous les entiers en entiers 32 bits standards.

 

-I

Crée un index GiST sur la colonne géométrique.

 

-w

Retour au format WKT, utilisé avec les anciennes versions (0.X) de PostGIS. Notez que cela introduira des dérives de coordonnées et supprimera les valeurs M des fichiers vecteurs.

 

-W <encoding>

Spécifie l'encodage des données en entrée (du fichier dbf). Lorsque cette option est utilisée, tous les attributs du dbf sont convertis de l'encodage spécifié en UTF-8. La sortie SQL résultante contiendra une commande SET CLIENT_ENCODING to UTF8, donc le serveur principal sera capable de reconvertir de l'UTF-8 dans l'encodage choisi dans configuration de la base de données.

 

Les options de l'importateur shp2pgsql

précédent sommaire






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Ceux qui rêvent de jour ont conscience de bien des choses qui échappent à ceux qui rêvent de nuit"   Edgar Allan Poe