【问题标题】:how to add raster data postgis from a web interface如何从 Web 界面添加栅格数据 postgis
【发布时间】:2016-08-23 08:53:20
【问题描述】:

在设计框架和开发一个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>

【问题讨论】:

    标签: php postgresql web postgis


    【解决方案1】:

    您不能在这样的栅格列中插入文件。

    您应该使用 raster2pgsql 导入该文件(例如 raster2pgsql -s -t 50x50 -f -I -Y myRaster.tif rasterSchema.RasterName > raster.sql)。

    此命令将生成一个 raster.sql 文件,其中包含用于插入栅格数据的 SQL。

    您可以使用 php exec() 函数执行该命令,传递 $_FILES['fichier']['tmp_name']

    【讨论】:

    • 我读了这篇文章,但我还是不明白。我正在执行相同的操作。我有需要在 Web GIS 中导入的栅格文件。
    猜你喜欢
    • 2012-05-29
    • 2019-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    相关资源
    最近更新 更多