将查询参数传递给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个问题:
- 我如何使用上面的代码从HTML表单传递参数给mapscript
- 我怎么那么这些传递给查询语句?
希望就是我要问有道理
答
它可能会更容易(和更好的设计)远离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