将查询参数传递给mapserver中的查询语句

时间:2010-12-19 22:29:20

标签: php gis openlayers mapserver

我使用mapserver和openlayers来创建GIS。

我正在使用php mapscript,并希望从html表单传递查询的参数,以便只在WFS图层中突出显示满足查询的多边形。

我是地图服务器,openlayers和php新手的新手,所以需要帮助才能完成上述工作。

我在php mapscript的顶部看到以下内容:

$request = ms_newowsrequestobj();

foreach ($_GET as $k=>$v)  
 {$request->setParameter($k, $v);}  

我猜我可以使用它来传递url上的一些变量。由于我使用的是表格,因此$_POST代替......正确吗?

我有两个问题:

  1. 如何使用上述代码将参数从html表单传递到mapscript
  2. 如何将这些传递给查询语句?
  3. 希望我所要求的是有道理的

1 个答案:

答案 0 :(得分:0)

远离MapScript并直接使用WFS的GetFeature功能可能更容易(并且更好的设计)。

您可以将过滤器传递到WFS图层(请参阅http://mapserver.org/ogc/filter_encoding.html),它可以返回与您的查询对应的功能和属性。

确保您的WFS配置正确 - http://mapserver.org/ogc/wfs_server.html#configuring-your-mapfile-to-serve-wfs-layers