通过tilecache将动态参数从openlayers传递到mapsever

时间:2013-12-11 15:15:40

标签: parameters openlayers mapserver tilecache

我正在构建一个地图应用程序,其中形状和颜色沿着这条路径前进:

PostGIS> Mapserver> TileChache>的OpenLayers

当所有参数都是硬编码时,一切正常。但我需要用户能够更改参数,例如,选择人口大于“X”的区域,以及“Y”区域的区域。

我认为,参数可以作为查询传递给Mapserver,附加到mapfile,如下所示:

.../mapfile.map?area=123&population=456

但我找不到通过TileCache传递的方法。目前 - 我看到的唯一解决方法 - 是在tilechache.cfg中为X和Y的任何可能组合定义一个单独的层,这似乎不是一个好方法。并且tilechache.cfg

中定义的层数必须有一些限制

任何解决方案?

1 个答案:

答案 0 :(得分:1)

你可能需要重新考虑你在这里做的事情。 Tilecache适用于静态瓷砖。如果您已经渲染了一个tile并将其放在tilecache中并且您更改了url参数,您希望发生什么?如果两个用户请求具有不同网址参数的相同图块会怎样?

如果您有少量有效参数,并且您希望为用户可以选择的每个可能的唯一参数组合生成一个缓存副本,则可以使用属性配置tilecache。

更有可能你想要做的是为静态基本地图创建一个tilecache,然后使用额外的OpenLayers图层,根据需要直接向地图服务器提交拉动并传递tilecache。