0

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

PostGIS > Mapserver > TileChache > OpenLayers

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

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

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

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

有什么解决办法吗?

4

1 回答 1

1

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

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

更有可能你想要做的是为静态基础地图创建一个 tilecache,然后使用额外的 OpenLayers 图层渲染拉入叠加层,直接进入 mapserver 并通过 tilecache。

于 2013-12-11T20:45:40.667 回答