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

Parameters 通过tilecache将动态参数从openlayers传递到mapsever,parameters,openlayers,mapserver,tilecache,Parameters,Openlayers,Mapserver,Tilecache,我正在构建一个映射应用程序,其中形状和颜色沿着以下路径: PostGIS>Mapserver>TileCache>OpenLayers 当所有参数都硬编码时,一切正常。但我需要用户能够更改参数,例如,选择人口大于“X”且面积小于“Y”的特征 我认为,参数可以作为查询传递给Mapserver,并附加到mapfile,如下所示: .../mapfile.map?area=123&population=456 但我找不到一种方法通过TileCache。目前,我看到的唯一解决办法是在tilec

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

PostGIS>Mapserver>TileCache>OpenLayers

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

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

.../mapfile.map?area=123&population=456
但我找不到一种方法通过TileCache。目前,我看到的唯一解决办法是在tilecache.cfg中为X和Y的任何可能组合定义一个单独的层,这似乎不是一个好方法。TileCache.cfg中定义的层数必须有一定的限制


有什么解决办法吗?

你可能需要重新思考一下你在这里做什么。Tilecache用于静态瓷砖。如果渲染了一个互动程序并将其放入tilecache中,并且更改了url参数,那么您希望发生什么?如果两个用户使用不同的url参数请求同一个磁贴会怎么样

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


更可能的情况是,您需要为静态底图创建一个tilecache,然后根据需要使用其他OpenLayers层渲染拉入覆盖,直接转到mapserver并传递tilecache。

谢谢您的回答,我已经知道了您的想法。因此,对于每个参数组合,我可能会在tilecache.cfg中使用单独的层。希望我不会达到一个限制层,如果有一个。说到“动态与静态”平铺:理想情况下,我希望TileCache将参数值的不同组合视为不同的平铺。因此,每当请求一个新的参数组合时,就会呈现并缓存一个新的磁贴。为什么TileCache可以将Lat/Lon等参数接受为“动态”参数,而不能对自定义参数执行相同操作。我不知道TileCache的详细信息,因为我主要使用Mapserver中的mapcache,但概念基本相同。实现细节在基于开发人员和社区需求的各种缓存包之间有所不同。缓存背后的整个想法是,您可以重用这些分片。如果你只是因为参数总是在变化而创建了很多随机图块,那么重用率很低,而且通常只按需绘制更便宜。不,不,对不起,我在第一条消息中不清楚。我确实想重复使用瓷砖。因此,大约每1000次请求中就会出现新的参数组合。但我仍然需要允许任何理论上的结合。无论如何,谢谢你的投入。我去查地图缓存。它可能是,它有我需要的功能。