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

问题描述:

我正在使用mapserver和openlayers创建GIS。将查询参数传递给mapserver中的查询语句

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

我是一个mapserver,openlayers和新手在PHP的新手,所以在试图完成上述需要帮助。

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

$request = ms_newowsrequestobj(); 

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

我猜我可以用它来传递的URL一些变量。由于我正在使用表单,因此它将是$_POST而不是......对吗?

我有2个问题:

  1. 我如何使用上面的代码从HTML表单传递参数给mapscript
  2. 我怎么那么这些传递给查询语句?

希望就是我要问有道理

它可能会更容易(和更好的设计)远离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