问题标签 [mapserver]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
openlayers - OpenLayers 和 MapServer
我有以下代码:
这不会渲染没有图像的非透明层(所有标题都在左上角用缺失的图像图标渲染)。
但是以下代码确实以正确的方式呈现所有内容:
有谁知道我做错了什么?
parameters - 通过 tilecache 将动态参数从 openlayers 传递到 mapsever
我正在构建一个映射应用程序,其中形状和颜色沿着这条路径:
PostGIS > Mapserver > TileChache > OpenLayers
当所有参数都被硬编码时,一切正常。但我需要用户能够更改参数,例如,选择人口大于“X”的特征和“Y”下的区域。
我想,参数可以作为查询传递给 Mapserver,附加到 mapfile,如下所示:
但我找不到通过 TileCache 传递它的方法。目前 - 我看到的唯一解决方法 - 是在 tilechache.cfg 中为 X 和 Y 的任何可能组合定义一个单独的层,这似乎不是一个好方法。tilechache.cfg 中定义的层数必须有一些限制
有什么解决办法吗?
map - 内部地理编码服务的最佳选择是什么
我正在寻找一种内部地理编码工具来对数百万个地址进行地理编码。我试过 TIGER 数据库,但它只有大约 60% 的地址屋顶。有些地址与实际地址相去甚远。我的需求是:
目前我正在研究应用程序级基础设施,并且我愿意提供专用地图服务器或类似的东西。我只是没有足够的信息来开始研究。
随意向我提出任何想法,想法,评论。我很想听听他们的声音!
mapserver - 在 MapServer 中计算整个图层的符号
有没有办法计算一个层收到了多少项目/几何图形?如果查询返回的项目太多,我想要做的是绘制一个不同的符号。例子:
我尝试使用 [Cluster:FeatureCount] 但它无法计算整个层,它只计算几个集群中的点。
openlayers - 我需要帮助来构建我的地图
问题我已经设置了我的图层和我的课程,但没有出现,根本没有出现任何东西!
请帮我
leaflet - 使用 MapServer 在运行时合并多个 MapLayers 以与 Leaflet 一起使用是个好主意吗?
我的问题
我们现在正在做一个项目,我们必须在 Web 应用程序中显示一个巨大的图像(包含化学化合物和元素,因此没有地理参考)作为地图(带有Leaflet
)。图像本身是一个 Adobe Illustrator 文件,因此它实际上是一堆矢量图形。为方便起见,我们只是将其转换为一个大的 .png(27.000x19.000 像素),然后用于MapTiler
为 Leaflet 创建所需的 MapRessources,轻松包含在TileLayer
.
问题是:用户需要能够动态添加和删除地图的不同图层(== 过滤器)以显示图片中或多或少的信息。所以我们首先在 Illustrator-File 中创建了这些图层,然后将每个图层导出为自己的透明 .png-File,将其映射并包含为自己的 Leaflet-Layer。
现在,我们有 6 个过滤层和另外两个用于背景的基础层和一个叠加层。这意味着当所有过滤器都被激活(这是默认设置)时,我们有 8 个 Leaflet-Layers 一次堆叠在一起。可以想象,这会在浏览器中引起一些性能问题,因为 Leaflet 必须为每个缩放或拖动动作加载和渲染 8 个层及其所有 Tiles(取决于屏幕大小,一次最多 25 个)。它仍然处于无法承受的地步,但我们预计会有更多过滤器出现,因此希望在未来保持可扩展性。
这意味着我们将不得不以某种方式改变我们生成图层的方法。
到目前为止我的方法
由于我们实际上有一个基于矢量图形的地图,我认为必须有更好的选择。但似乎我们有一个罕见的需求案例,因为我的研究大多以死胡同结束,特别是因为大多数案例只涵盖真实的地理地图,但我们拥有的是栅格地图。我还考虑过以某种方式将地图放入 GeoJSON 或以某种方式直接使用 SVG 重新绘制它,但由于我们在地图上有很多单个元素(> 20k),我认为这不会表现得更好。
所以我有点需要保留位图,因此我的主要目标很简单:我想通过将当前激活的过滤器的图块合并到一个单个 .png 中来减少层数,然后将其传递到 ONE 层中的传单。我现在花了几个小时研究,但我总是遇到死胡同,因为似乎我们在这里有一个罕见的需求案例(特别是因为大多数人处理地理参考数据,而不是自定义栅格地图)。
所以现在,我可以想到 2 个不同的选项:
- 为每个过滤器组合创建一个图层。这意味着我们必须创建 2^n 层,所以这只适用于一定数量的过滤器(可能会增加) - 因此,我更喜欢另一种解决方案(这只是最后一种情况)
- 使用
MapServer
并以某种方式导入我的图层。Union Layer
然后我们可以在运行时将图层与查询合并(我在这里读到了),因此只将一个图层传递给传单。
我的问题
我完全没有经验,MapServer
因此我什至不确定这是否是一个用例,或者它是否有能力这样做,更重要的是:如果它真的会给我们带来性能提升,因为它可能需要大量的逻辑服务器端.
在我开始再花几个小时尝试之前:MapServer
如果这是一个好主意或者我MapServer
完全误解了某些东西,已经与之合作过的人可以给我一些反馈吗?
另外,如果有人对我有其他选择或想法,非常欢迎您分享,我感谢每一个输入。:)
提前致谢!
mapping - 使用 map_server 在 rviz 中投影地图
我想在此链接中使用 map_server :
http://wiki.ros.org/map_server。
我使用 mapper3(基本)构建了我的地图
地图应该投影在 Rviz 网格中并且应该占据它,使用 mapper3(基本)的地图中心应该是 Rviz 网格的中心。
问题是地图总是移动的(中心不一样) Rviz 网格的中心是地图图像的左下角(图像只占网格的四分之一)。我该如何解决这个问题?
mysql - 我可以在 EXPRESSION MAPFILE 中添加 SQL QUERY 吗?
我可以在 EXPRESSION MAPFILE 中添加 SQL QUERY 吗?像这样 ..
结束#类
gis - 将非地理数据库连接到地理服务器
如您所知,一个简单的 GIS 的架构如下:
在 mapServer 和 Client 之间,有一些标准化:
我想知道 GeoDatabase 和 mapServer 之间是否存在类似的东西,例如:
我知道我可以在任何关系数据库中创建视图以供 mapServer 访问。但我的问题是,我拥有的数据库不是关系或标准数据源。因此,如果数据库和 mapServer 之间存在标准接口(Web 服务),我的问题就解决了,因为我可以实现该服务来访问我的数据库并将其插入 MapServer。
你知道这样的标准是否存在吗?
先感谢您,
埃斯特班。
apache - MapServer 作为 IIS 中的 CGI 与 QGIS (WinServer 2008)
有没有人对 MapServer 作为在 IIS7 (WinServer2008) 上运行的 CGI 有一些经验?
我使用 MSSQL2008 插件使 CGI 运行良好。但是,这不允许我使用 BBOX 过滤器。我安装 QGIS 是为了获取 OGR 工具,此后无法再访问我的 PROJ_LIB。
此后,我从对 MapServer CGI 模块的任何 WFS 请求中得到以下错误响应:
此页面包含以下错误: 第 1 行第 1 列的错误:文档为空 下面是页面的呈现直到第一个错误。
删除我的 PROJ_LIB CONFIG 引用会导致以下错误异常:
msProcessProjection():投影库错误。没有权限
我现在通过使用 MS4W 的默认 Apache 设置解决了这个问题。但是,这需要我使用代理才能在 IIS 托管的 OpenLayers 站点中使用 WFS。
我希望其他人在这方面有一些想法。
干杯,丹尼斯