Openlayers 图层或图像如何保存在wms服务器或任何其他地图服务器中?

Openlayers 图层或图像如何保存在wms服务器或任何其他地图服务器中?,openlayers,wms,Openlayers,Wms,我一直在为我的webgis项目遵循openlayers初学者指南。我有一个疑问: 假设openlayers映射客户端向wms服务器发出“基本”类型的层请求,该请求将在所有缩放级别显示。因此,在每个缩放级别都会生成不同数量的平铺,并且不会损失图像的分辨率。所以这里我的问题是“在wms服务器中,这些图像是如何呈现的?”…它是根据我们的要求从单个高分辨率图像生成瓷砖,还是在服务器中预存储具有不同分辨率的瓷砖?? 我希望您理解我的问题。谢谢!在WMS中,平铺或多或少预先保存在服务器上。您当然可以从一张高

我一直在为我的webgis项目遵循openlayers初学者指南。我有一个疑问: 假设openlayers映射客户端向wms服务器发出“基本”类型的层请求,该请求将在所有缩放级别显示。因此,在每个缩放级别都会生成不同数量的平铺,并且不会损失图像的分辨率。所以这里我的问题是“在wms服务器中,这些图像是如何呈现的?”…它是根据我们的要求从单个高分辨率图像生成瓷砖,还是在服务器中预存储具有不同分辨率的瓷砖??
我希望您理解我的问题。谢谢!

在WMS中,平铺或多或少预先保存在服务器上。您当然可以从一张高分辨率图像计算平铺金字塔,但这些平铺随后会保存到服务器上(如在a中)。我认为出于性能原因,平铺在服务器上预先呈现,请参见示例

生成每个请求的平铺将花费太多时间。如果您有高分辨率光栅图像,请尝试使用为TMS(平铺地图服务)创建自己的平铺金字塔查看这需要多长时间。

是一种根据客户机请求提供地图的服务,例如使用OpenLayers构建的地图。用作源的数据可能是光栅或矢量或某些组合。虽然某些WMS也提供缓存,但需要注意的是,在标准配置中,WMS会根据请求生成地图。这一点很重要不同于A或TMS

WMS的动态特性可以从对GetCapabilities请求的响应中看出,如:

查看本节内容,我们可以看到:

您可以请求多种地图图像格式

<GetMap>
    <Format>image/png</Format>
    <Format>image/jpeg</Format>
    <Format>image/png; mode=8bit</Format>
    <Format>application/x-pdf</Format>
    <Format>image/svg+xml</Format>
    <Format>image/tiff</Format>
    <Format>application/vnd.google-earth.kml+xml</Format>
    <Format>application/vnd.google-earth.kmz</Format>

图像/png
图像/jpeg
图像/png;模式=8位
申请表格/x-pdf
image/svg+xml
图像/tiff
application/vnd.googleearth.kml+xml
application/vnd.google-earth.kmz
您可以请求多个不同投影中的图层:

<CRS>CRS:84</CRS>
<CRS>EPSG:27700</CRS>
<CRS>EPSG:3034</CRS>
<CRS>EPSG:3413</CRS>
<CRS>EPSG:3857</CRS>
<CRS>EPSG:4258</CRS>
<CRS>EPSG:4326</CRS>
<CRS>EPSG:900913</CRS>
CRS:84
EPSG:27700
EPSG:3034
EPSG:3413
EPSG:3857
EPSG:4258
EPSG:4326
EPSG:900913
您还可以通过SLD提供自己的样式来更改默认符号:

<sld:UserDefinedSymbolization SupportSLD="1" UserLayer="0" UserStyle="1" RemoteWFS="0" InlineFeature="0" RemoteWCS="0"/>

考虑这个例子:

通过您请求映射的某个客户端,该客户端生成一个GetMap请求,如下所示:

给出:

在客户端中,单击某个点位置以获取创建地图的数据信息,如:

由此可以看出,基础数据(在本例中为矢量数据集,保存在数据库中)具有包含地质历史值的属性

我们想知道地图中还有哪些区域是来自三叠纪的,因此我们创建了一个SLD,根据查询为地图着色,并将该SLD作为GetMap请求的一部分发送回服务器,如:

生成的SLD:

完整的GetMap请求:

给出:


这不正确。WMS会为每个请求创建图像。@user27874这是正确的,例如,对于Google Maps,他们不需要为每个请求创建图像,而是将其缓存在内存中,例如,只返回WMS GetMap请求的结果。