public class WMSMapProvider extends java.lang.Object implements MapProvider, ProviderContextAware, DynamicProjectionable
WMS 服务提供者。
WMSMapProvider 是一类服务提供者,用于访问并获取 WMS 服务相关的功能。对于不同的 WMS 服务版本,有对应的 WMSMapProvider 实例化对象。
WMSMapProvider 通过调用 WMSClient(比如 WMSClient
)的 getCapabilities、getMap 和 getFeatureInfo 方法获取 WMS 服务提供的功能。
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
URL_CHARSET
URL 字符集。
|
构造器和说明 |
---|
WMSMapProvider()
默认构造函数
|
WMSMapProvider(java.lang.String url, java.lang.String version, java.lang.String userName, java.lang.String password)
构造函数。
|
WMSMapProvider(java.lang.String url, java.lang.String version, java.lang.String userName, java.lang.String password, boolean cacheEnabled, java.lang.String outputPath, java.lang.String outputSite)
通过WMS服务的URL地址、版本号、用户名、密码及缓存相关设置等构建一个 WMSMapProvider 对象。
|
限定符和类型 | 方法和说明 |
---|---|
void |
clearAllCache()
清除全部缓存。
|
void |
clearCache(java.lang.String mapName, Rectangle2D bounds)
清除地图对应范围的缓存图片。
|
QueryResult |
findNearest(java.lang.String mapName, Geometry geometry, double maxDistance, QueryParameterSet queryParameterSet)
WMS 标准不支持该操作。
|
MapParameter |
getDefaultMapParameter(java.lang.String mapName)
获取默认地图参数。
|
java.util.List<PrjCoordSys> |
getDynamicPrjCoordsyses(java.lang.String mapName)
地图支持的动态投影列表。
|
MapImage |
getMapImage(MapParameter pMapParameter, ImageOutputOption outputOption)
根据地图参数、图片输出的相关选项获取地图图片。
|
MapParameter |
getMapParameter(java.lang.String mapName)
获取指定地图的地图参数。
|
java.util.List<java.lang.String> |
getNames()
获取当前服务提供者所对应的所有地图的名称。
|
Overview |
getOverview(MapParameter mapParameter, ImageOutputOption outputOption)
WMSMapProvider 对象目前不支持该方法。
|
java.lang.String |
getResource(java.lang.String mapName, ResourceParameter resourceParameter)
WMS 标准不支持该操作。
|
byte[] |
getResource(java.lang.String mapName, ResourceParameter resourceParameter, Point2D[] points)
根据资源图片参数获取指定地图的资源图片。
|
VectorStyle |
getVectorStyle(java.lang.String mapName, java.lang.String[] layerNames, VectorStyleType type)
获取指定地图中,指定矢量图层的样式
|
VectorStyle |
getVectorStyle(VectorStyleParameter vectorStyleParameter)
获取指定地图中,指定矢量图层的样式
|
MeasureResult |
measureArea(java.lang.String mapName, Point2D[] points, MeasureParameter measureParam)
WMS 标准不支持该操作。
|
MeasureResult |
measureDistance(java.lang.String mapName, Point2D[] points, MeasureParameter measureParam)
WMS 标准不支持该操作。
|
QueryResult |
queryByBounds(java.lang.String mapName, Rectangle2D bounds, QueryParameterSet queryParameterSet)
在指定的地图上,查询指定范围内的几何对象。
|
QueryResult |
queryByDistance(java.lang.String mapName, Geometry geometry, double distance, QueryParameterSet queryParameterSet)
WMS 标准不支持该操作。
|
QueryResult |
queryByGeometry(java.lang.String mapName, Geometry geometry, SpatialQueryMode spatialQueryMode, QueryParameterSet queryParameterSet)
在指定的地图上,查询与指定的几何对象符合某种空间关系和查询条件的几何对象。
|
QueryResult |
queryBySQL(java.lang.String mapName, QueryParameterSet queryParameterSet)
WMS 标准不支持该操作。
|
MapParameter |
setDefaultMapParameter(MapParameter mapParameter)
WMS 标准不支持该操作。
|
void |
setProviderContext(ProviderContext context)
设置服务提供者上下文
|
boolean |
support(java.lang.String mapName, MapCapability capability)
判断地图是否支持相应功能。
|
protected Rectangle2D |
unitConvert(Rectangle2D bounds, Unit oldUnit, Unit newUnit) |
boolean |
updateMap(MapParameter mapParameter)
永久更新地图状态,会更新到磁盘中进行持久化。
|
MapImage |
viewEntire(java.lang.String layerName, MapParameter mapParameter, ImageOutputOption outputOption)
根据地图图层名、地图参数以及图片输出设置进行全幅显示。
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getFieldsByLayerName, getTileImage
public WMSMapProvider()
public WMSMapProvider(java.lang.String url, java.lang.String version, java.lang.String userName, java.lang.String password) throws WMSServiceException
构造函数。
url
- WMS 服务的 URL 地址。该参数不能为空。version
- WMS 服务的版本号,如 "1.1.1"。userName
- 访问 WMS 服务的用户名。password
- 访问 WMS 服务的密码。java.lang.IllegalArgumentException
- 参数非法异常。WMSServiceException
public WMSMapProvider(java.lang.String url, java.lang.String version, java.lang.String userName, java.lang.String password, boolean cacheEnabled, java.lang.String outputPath, java.lang.String outputSite) throws WMSServiceException
通过WMS服务的URL地址、版本号、用户名、密码及缓存相关设置等构建一个 WMSMapProvider 对象。
url
- WMS 服务的 URL 地址。该参数不能为空。version
- WMS 服务的版本号,如 "1.1.1"。userName
- 访问 WMS 服务的用户名。password
- 访问 WMS 服务的密码。cacheEnabled
- 是否启用缓存。outputPath
- 地图图片输出目录。outputSite
- 地图图片发布站点。WMSServiceException
- 参数非法异常。public QueryResult findNearest(java.lang.String mapName, Geometry geometry, double maxDistance, QueryParameterSet queryParameterSet)
WMS 标准不支持该操作。
在指定的地图上,查找距离指定几何对象一定容限内最近的几何对象。
findNearest
在接口中 MapProvider
mapName
- 地图名称。geometry
- 几何对象。maxDistance
- 容限范围。queryParameterSet
- 查询参数集。java.lang.UnsupportedOperationException
- WMSMapProvider 对象不支持该方法,当调用该方法时会抛出该异常。public MapParameter getDefaultMapParameter(java.lang.String mapName)
获取默认地图参数。
初始的默认地图参数值是由所访问的服务类型决定的,访问 WMS 服务提供的 GIS 能力,默认地图参数由 WMS 服务决定。
getDefaultMapParameter
在接口中 MapProvider
mapName
- 地图名称。public MapImage getMapImage(MapParameter pMapParameter, ImageOutputOption outputOption) throws WMSServiceException
根据地图参数、图片输出的相关选项获取地图图片。
getMapImage
在接口中 MapProvider
mapParameter
- 地图参数。outputOption
- 图片输出的相关选项。java.lang.IllegalArgumentException
- mapParameter 参数不能为空,当该参数为空时,会抛出 IllegalArgumentException 异常。WMSServiceException
protected Rectangle2D unitConvert(Rectangle2D bounds, Unit oldUnit, Unit newUnit)
public MapParameter getMapParameter(java.lang.String mapName)
获取指定地图的地图参数。
getMapParameter
在接口中 MapProvider
mapName
- 地图名称。public java.util.List<java.lang.String> getNames()
获取当前服务提供者所对应的所有地图的名称。
getNames
在接口中 MapProvider
public Overview getOverview(MapParameter mapParameter, ImageOutputOption outputOption)
WMSMapProvider 对象目前不支持该方法。
根据地图参数以及图片输出设置获取鹰眼。
getOverview
在接口中 MapProvider
mapParameter
- 地图参数。outputOption
- 图片输出设置。java.lang.UnsupportedOperationException
- WMSMapProvider 对象不支持该方法,当调用该方法时会抛出该异常。public java.lang.String getResource(java.lang.String mapName, ResourceParameter resourceParameter)
WMS 标准不支持该操作。
根据资源图片参数获取指定地图的资源图片。
getResource
在接口中 MapProvider
mapName
- 地图名称。resourceParameter
- 资源图片参数。java.lang.UnsupportedOperationException
- WMSMapProvider 对象不支持该方法,当调用该方法时会抛出该异常。public MeasureResult measureArea(java.lang.String mapName, Point2D[] points, MeasureParameter measureParam)
WMS 标准不支持该操作。
在指定的地图上,根据二维地理坐标点、量算参数进行面积量算。
measureArea
在接口中 MapProvider
mapName
- 地图名称。points
- 二维地理坐标点数组。measureParam
- 量算参数。java.lang.UnsupportedOperationException
- WMSMapProvider 对象不支持该方法,当调用该方法时会抛出该异常。public MeasureResult measureDistance(java.lang.String mapName, Point2D[] points, MeasureParameter measureParam)
WMS 标准不支持该操作。
在指定的地图上,根据二维地理坐标点、量算参数进行距离量算。
measureDistance
在接口中 MapProvider
mapName
- 地图名称。points
- 二维地理坐标点数组。measureParam
- 量算参数。java.lang.UnsupportedOperationException
- WMSMapProvider 对象不支持该方法,当调用该方法时会抛出该异常。public QueryResult queryByDistance(java.lang.String mapName, Geometry geometry, double distance, QueryParameterSet queryParameterSet)
WMS 标准不支持该操作。
在指定地图上,查询距离指定的几何对象一定范围内的所有几何对象。
到指定几何对象的制定距离实际是以指定几何对象为中心的一个圆,在这个圆内以及与圆相交的几何对象都能够被查询出来。
queryByDistance
在接口中 MapProvider
mapName
- 地图名称。geometry
- 几何对象。distance
- 查询的距离范围,单位同当前地图对应的数据集坐标单位(coordUnit)。queryParameterSet
- 查询参数集。java.lang.UnsupportedOperationException
- WMSMapProvider 对象不支持该方法,当调用该方法时会抛出该异常。public QueryResult queryByGeometry(java.lang.String mapName, Geometry geometry, SpatialQueryMode spatialQueryMode, QueryParameterSet queryParameterSet)
在指定的地图上,查询与指定的几何对象符合某种空间关系和查询条件的几何对象。
queryByGeometry
在接口中 MapProvider
mapName
- 地图名称。geometry
- 几何对象。该几何对象仅包含空间信息、形状信息等,并不包括属性信息。spatialQueryMode
- 空间几何对象间的查询模式。queryParameterSet
- 查询参数集。java.lang.IllegalArgumentException
- 参数非法异常。以下情况会抛出该异常:public QueryResult queryByBounds(java.lang.String mapName, Rectangle2D bounds, QueryParameterSet queryParameterSet)
在指定的地图上,查询指定范围内的几何对象。
queryByBounds
在接口中 MapProvider
mapName
- 地图名称。bounds
- 指定的Bounds范围。queryParameters
- 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在 queryParameters.queryParams[i]
中进行设置。public MapImage viewEntire(java.lang.String layerName, MapParameter mapParameter, ImageOutputOption outputOption)
根据地图图层名、地图参数以及图片输出设置进行全幅显示。
参数中指定的图层名称是指以该图层内容的最小外接矩形作为全幅显示的地理范围。
viewEntire
在接口中 MapProvider
layerName
- 地图图层名,即以该图层的最小外接矩形作为全幅显示的地理范围。mapParameter
- 地图参数。outputOption
- 图片输出设置。java.lang.IllegalArgumentException
- 参数 mapParameter 为空时,抛出该异常。public QueryResult queryBySQL(java.lang.String mapName, QueryParameterSet queryParameterSet)
WMS 标准不支持该操作。
在指定地图上,执行 SQL 查询。
queryBySQL
在接口中 MapProvider
mapName
- 地图名称。queryParameterSet
- 查询参数集。java.lang.UnsupportedOperationException
- WMSMapProvider 对象不支持该方法,当调用该方法时会抛出该异常。public MapParameter setDefaultMapParameter(MapParameter mapParameter)
WMS 标准不支持该操作。
设置默认地图参数。
setDefaultMapParameter
在接口中 MapProvider
mapParameter
- 地图参数。java.lang.UnsupportedOperationException
- WMSMapProvider 对象不支持该方法,当调用该方法时会抛出该异常。public void setProviderContext(ProviderContext context)
setProviderContext
在接口中 ProviderContextAware
context
- 服务提供者上下文public void clearCache(java.lang.String mapName, Rectangle2D bounds)
清除地图对应范围的缓存图片。
clearCache
在接口中 MapProvider
mapName
- 地图名称。bounds
- 地图范围。public void clearAllCache()
MapProvider
清除全部缓存。
clearAllCache
在接口中 MapProvider
public java.util.List<PrjCoordSys> getDynamicPrjCoordsyses(java.lang.String mapName)
DynamicProjectionable
getDynamicPrjCoordsyses
在接口中 DynamicProjectionable
public boolean support(java.lang.String mapName, MapCapability capability)
MapProvider
support
在接口中 MapProvider
mapName
- 地图名。capability
- 功能类型。public VectorStyle getVectorStyle(java.lang.String mapName, java.lang.String[] layerNames, VectorStyleType type)
MapProvider
getVectorStyle
在接口中 MapProvider
mapName
- 地图名称layerNames
- 图层名称type
- 矢量样式类型public VectorStyle getVectorStyle(VectorStyleParameter vectorStyleParameter)
MapProvider
getVectorStyle
在接口中 MapProvider
vectorStyleParameter
- 矢量风格参数。public byte[] getResource(java.lang.String mapName, ResourceParameter resourceParameter, Point2D[] points)
MapProvider
根据资源图片参数获取指定地图的资源图片。
getResource
在接口中 MapProvider
mapName
- 地图名称。resourceParameter
- 资源图片参数。points
- 绘制资源图片时用的点public boolean updateMap(MapParameter mapParameter)
MapProvider
updateMap
在接口中 MapProvider
mapParameter
- 要更新的地图状态。