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