如何从 web 界面添加栅格数据 postgis
how to add raster data postgis from a web interface
在设计框架和开发一个用于传播空间数据的GIS平台WEB(Web Mapping),我需要创建一个web界面,帮助管理员通过web界面将这些空间数据添加到postgis中我尝试了这段代码,我没有收到任何错误,但没有添加数据
<form method="post" action="" enctype="multipart/form-data">
<label for="fichier">Ajouter raster :</label><br />
<input type="file" name="fichier" />
<input type="submit" name="submit" value="Envoyer" />
</form>
<?php
$db = pg_connect('host=5432 dbname=gisdb user=postges password=ou$$am@16');
$raster = pg_escape_string($_POST['fichier']);
$name = $_FILES['$raster']['name'];
$query = "INSERT INTO eau_param_hydro(rast,filname) VALUES('". addslashes($raster) ."','" . $name . "')";
$result = pg_query($query);
if (!$result) {
$errormessage = pg_last_error();
echo "Error with query: " . $errormessage;
exit();
}
pg_close(); }
?>
</body>
您不能像这样在光栅列中插入文件。
您应该使用 raster2pgsql 导入该文件(例如 raster2pgsql -s -t 50x50 -f -I -Y myRaster.tif rasterSchema.RasterName > raster.sql)。
此命令将生成一个 raster.sql 文件,其中包含 SQL 以插入光栅数据。
您可以使用 php exec() 函数执行该命令,传递 $_FILES['fichier']['tmp_name']
在设计框架和开发一个用于传播空间数据的GIS平台WEB(Web Mapping),我需要创建一个web界面,帮助管理员通过web界面将这些空间数据添加到postgis中我尝试了这段代码,我没有收到任何错误,但没有添加数据
<form method="post" action="" enctype="multipart/form-data">
<label for="fichier">Ajouter raster :</label><br />
<input type="file" name="fichier" />
<input type="submit" name="submit" value="Envoyer" />
</form>
<?php
$db = pg_connect('host=5432 dbname=gisdb user=postges password=ou$$am@16');
$raster = pg_escape_string($_POST['fichier']);
$name = $_FILES['$raster']['name'];
$query = "INSERT INTO eau_param_hydro(rast,filname) VALUES('". addslashes($raster) ."','" . $name . "')";
$result = pg_query($query);
if (!$result) {
$errormessage = pg_last_error();
echo "Error with query: " . $errormessage;
exit();
}
pg_close(); }
?>
</body>
您不能像这样在光栅列中插入文件。
您应该使用 raster2pgsql 导入该文件(例如 raster2pgsql -s -t 50x50 -f -I -Y myRaster.tif rasterSchema.RasterName > raster.sql)。
此命令将生成一个 raster.sql 文件,其中包含 SQL 以插入光栅数据。
您可以使用 php exec() 函数执行该命令,传递 $_FILES['fichier']['tmp_name']