[Mapserver-DE] mapscript

JJWag jj.wag at gmx.de
Die Jul 20 14:23:58 CEST 2004


Hallo,

ich bin am lernen und habe mir folgendes script mühsam zusammengebaut, um
einem Shapefile einen Punkt hinzuzufügen.
Die Variablen können über ein Formular eingegeben werden, und der Shape bzw.
die dbase werden einwandfrei geschrieben.


<?php
$rw = $_POST['rw'];
$hw = $_POST['hw'];
$InstName = $_POST['InstName'];
$InstAdress = $_POST['InstAdress'];
$InstTel = $_POST['InstTel'];

$shpPath = "c:\\Inetpub\\wwwroot\\mapserver\\data\\pointshape.shp";
$dbName = "c:\\Inetpub\\wwwroot\\mapserver\\data\\pointshape.dbf";

if(isset($rw) && ($rw != ""))
{
 dl("php_mapscript_4.0.2.dll");

 echo "RW: $rw <br>";
 echo "HW: $hw <br>";

 $poiClick = ms_newPointObj();
 $poiClick->setXY($rw, $hw, 0);


 if ( !$dbf = dbase_open($dbName, 2) )
 {
  echo "Cannot open $dbName\n";
  exit;
 }

 $nr = dbase_numrecords($dbf); // Anzahl der Einträge
 $nr = $nr +1; // Nächster Datensatz
 $nf = dbase_numfields($dbf); // Nummer des Eintrags

 $shpFile = ms_newShapefileObj($shpPath, -2);
 $shpObj = ms_newShapeObj(MS_SHAPE_POINT);
 $lineObj = ms_newLineObj();
 $bSuc = $lineObj->add($poiClick);
 echo "Line:  $bSuc <br>";
 $bSuc =  $shpObj->add($lineObj);
 echo "Shape: $bSuc <br>";
 $bSuc =  $shpFile->addShape($shpObj);
 echo "Shapefile: $bSuc <br>";

 $nShapes = $shpFile->numshapes;
 echo "Numshapes: $nShapes <br>";

 dbase_add_record($dbf, array($nr, $InstName, $InstAdress, $InstTel));

 $poiClick->free();
 $lineObj->free();
 $shpObj->free();
 $shpFile->free();
 dbase_close($dbf);
}
?>

Wie muß ich nun vorgehen, wenn ich einen bestimmten Punkt der in den Shape
geschrieben wurde, zu bearbeiten bzw. zu löschen?
Vielleicht hat da einer eine brauchbare Lösung parat.
Ist mein Code o.k. oder könnte man was besser machen?
Gruß Jo





This site is hosted by Intevation GmbH (Datenschutzerklärung und Impressum | Privacy Policy and Imprint)