public class RestMapProvider extends RestProviderBase implements ProviderContextAware, DynamicProjectionable, MapProvider, ChartMapProvider, ProjectionExtent, SpritesSupportedProvider, TiledVectorProvider
REST 地图服务提供者。
RESTMapProvider 提供了从 REST 服务获取 SuperMap iServer 地图的相关服务,并封装了与 SuperMap iServer 地图相关的 GIS 功能。
RestProviderBase.CacheModel, RestProviderBase.RestRequestException
限定符和类型 | 字段和说明 |
---|---|
static java.lang.String |
DISTANCE |
JAVA_POSTFIX, javaConverter, JSON_POSTFIX, jsonConverter, jsonDecoder, lock, logger, message, XML_POSTFIX, xmlDecoder
构造器和说明 |
---|
RestMapProvider()
构造函数。
|
RestMapProvider(RestMapProviderSetting setting)
构造函数。
|
限定符和类型 | 方法和说明 |
---|---|
protected static void |
checkParameterNull(java.lang.Object obj, java.lang.String parameterName) |
void |
clearAllCache()
清除全部缓存。
|
void |
clearCache(java.lang.String mapName, Rectangle2D bounds)
清除地图对应范围的缓存图片。
|
protected java.lang.String |
createMapParamKVPPart(MapParameter param, OutputFormat format, boolean transparent)
系列化MapParameter对象,生成image资源Get方法请求问号后面部分中(与MapParameter有关的项)。
|
void |
dispose()
释放资源对象。
|
QueryResult |
findNearest(java.lang.String mapName, Geometry geometry, double maxDistance, QueryParameterSet queryParameterSet)
在指定地图上,查找距离指定几何对象一定容限内最近的几何对象。
|
java.util.List<ChartFeatureInfoSpec> |
getChartFeatureInfoSpecs()
获取所有物标类型
|
MapParameter |
getDefaultMapParameter(java.lang.String mapName)
获取指定地图的默认地图参数。
|
java.util.List<PrjCoordSys> |
getDynamicPrjCoordsyses(java.lang.String mapName)
地图支持的动态投影列表。
|
java.util.List<FieldInfo> |
getFieldsByLayerName(java.lang.String mapName, LayerFieldsQueryParameter layerFieldsQueryParameter) |
protected java.util.List<Layer> |
getLayers(java.lang.String mapName) |
MapImage |
getMapImage(MapParameter mapParameter, ImageOutputOption outputOption)
根据地图参数、图片输出设置获取地图图片。
|
MapParameter |
getMapParameter(java.lang.String mapName)
获取地图参数。
|
java.lang.String |
getMVTSpriteJson(MapParameter mapParameter, java.lang.String spriteName)
获取Sprite json
|
byte[] |
getMVTSpriteResource(MapParameter mapParameter, java.lang.String spriteName)
获取Sprite资源
|
byte[] |
getMVTTile(VectorTileParameter vectorTileParameter)
获取mvt瓦片
|
java.util.List<java.lang.String> |
getNames()
返回地图名列表。
|
Overview |
getOverview(MapParameter mapParameter, ImageOutputOption outputOption)
根据地图参数以及图片输出设置获取鹰眼。
|
Rectangle2D |
getProjectionExtent(java.lang.String mapName)
获取当前投影下的范围
|
java.lang.String |
getResource(java.lang.String mapName, ResourceParameter resourceParameter)
根据资源图片参数获取指定地图的资源图片。
|
byte[] |
getResource(java.lang.String mapName, ResourceParameter resourceParameter, Point2D[] points)
根据资源图片参数获取指定地图的资源图片。
|
protected RestProviderSetting |
getRestProviderSetting()
返回REST服务提供者配置信息。
|
byte[] |
getSDFFonts(java.lang.String fontstack, java.lang.String range)
获取sdf格式的数据
|
byte[] |
getSymbolData(java.lang.String symbolId, OutputFormat format)
获取符号图片
|
VectorStyle |
getVectorStyle(java.lang.String mapName, java.lang.String[] layerNames, VectorStyleType type)
获取指定地图中,指定矢量图层的样式
|
VectorStyle |
getVectorStyle(VectorStyleParameter vectorStyleParameter)
获取指定地图中,指定矢量图层的样式
|
VectorTileData |
getVectorTile(VectorTileParameter vectorTileParameter)
获取矢量地图切片。
|
java.lang.String[] |
listMVTSprites(MapParameter mapParameter)
列出所有的Sprites名字
|
MeasureResult |
measureArea(java.lang.String mapName, Point2D[] points, MeasureParameter measureParam)
根据二维地理坐标点、量算参数,在指定地图上进行面积量算。
|
MeasureResult |
measureDistance(java.lang.String mapName, Point2D[] points, MeasureParameter measureParam)
根据二维地理坐标点、量算参数,在指定地图上进行距离量算。
|
QueryResult |
queryByBounds(java.lang.String mapName, Rectangle2D bounds, QueryParameterSet queryParameterSet)
在指定的地图上,查询指定范围内的几何对象,以及外接矩形与指定范围相交的几何对象。
|
QueryResult |
queryByDistance(java.lang.String mapName, Geometry geometry, double distance, QueryParameterSet queryParameterSet)
在指定地图上,查询距离指定的几何对象一定范围内的所有几何对象。
|
QueryResult |
queryByGeometry(java.lang.String mapName, Geometry geometry, SpatialQueryMode spatialQueryMode, QueryParameterSet queryParameterSet)
在指定地图上,查询与指定的几何对象符合某种空间关系和查询条件的几何对象。
|
QueryResult |
queryByKeywords(java.lang.String mapName, KeywordsQueryParameterSet queryParameterSet)
根据关键字查询地图上的要素。
|
QueryResult |
queryBySQL(java.lang.String mapName, QueryParameterSet queryParameterSet)
在指定地图上执行 SQL 查询。
|
QueryResult |
queryChart(java.lang.String mapName, java.lang.String[] chartLayerNames, ChartQueryParameterSet chartQueryParams)
海图功能用,物标属性查询。
|
QueryResult |
queryChart(java.lang.String mapName, java.lang.String[] chartLayerNames, ChartQueryParameterSet chartQueryParams, Rectangle2D bounds)
海图功能用,物标boudns查询
|
MapParameter |
setDefaultMapParameter(MapParameter mapParameter)
设置默认地图参数。
|
void |
setProviderContext(ProviderContext context)
设置服务提供者上下文。
|
boolean |
support(java.lang.String mapname, MapCapability capability)
判断地图是否支持相应功能。
|
boolean |
updateMap(MapParameter mapParameter)
永久更新地图状态,会更新到磁盘中进行持久化。
|
void |
updateVectorStyle(java.lang.String layerName, VectorStyleType type, java.lang.String style)
根据图层名和矢量样式类型更新矢量瓦片样式
|
MapImage |
viewEntire(java.lang.String layerName, MapParameter mapParameter, ImageOutputOption outputOption)
根据地图图层名、地图参数以及图片输出设置进行全幅显示。
|
clearCache, executeRequest, executeRequest, executeRequest, executeRequestByApacheHttpClientForByteArray, executeRequestByRestletClientForByteArray, executeRequestForByteArray, executeRequestForByteArray, executeRequestForByteArray, executeRequestForByteArray, executeRequestForList, executeRequestForList, executeRequestForList, executeRequestForList, executeRequestForStream, executeRequestForStream, executeRequestForStream, executeRequestForText, executeRequestForText, executeRequestForText, getApacheHttpClient, getRestletRequest, handleExeption, init, initHttpClient, newAndSetClient, rectifyRestServiceRootURL
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getTileImage
queryChartFeatureByBounds
public RestMapProvider(RestMapProviderSetting setting)
构造函数。
setting
-public RestMapProvider()
构造函数。
protected static void checkParameterNull(java.lang.Object obj, java.lang.String parameterName)
public void setProviderContext(ProviderContext context)
设置服务提供者上下文。
setProviderContext
在接口中 ProviderContextAware
context
- 服务提供者上下文。public java.util.List<java.lang.String> getNames()
返回地图名列表。
getNames
在接口中 MapProvider
public MapParameter getMapParameter(java.lang.String mapName)
获取地图参数。
getMapParameter
在接口中 MapProvider
mapName
- 地图名。public void clearCache(java.lang.String mapName, Rectangle2D bounds)
清除地图对应范围的缓存图片。
clearCache
在接口中 MapProvider
mapName
- 地图名称。bounds
- 地图范围。public void clearAllCache()
MapProvider
清除全部缓存。
clearAllCache
在接口中 MapProvider
public MapImage getMapImage(MapParameter mapParameter, ImageOutputOption outputOption)
根据地图参数、图片输出设置获取地图图片。
getMapImage
在接口中 MapProvider
mapParameter
- 地图参数。该参数不能为空。outputOption
- 图片输出设置。public java.lang.String getResource(java.lang.String mapName, ResourceParameter resourceParameter)
根据资源图片参数获取指定地图的资源图片。
getResource
在接口中 MapProvider
mapName
- 地图名称。该参数不能为空。resourceParameter
- 资源图片参数。public MeasureResult measureDistance(java.lang.String mapName, Point2D[] points, MeasureParameter measureParam)
MapProvider
根据二维地理坐标点、量算参数,在指定地图上进行距离量算。
measureDistance
在接口中 MapProvider
mapName
- 地图名称。points
- 二维地理坐标点数组。measureParam
- 量算参数。public MeasureResult measureArea(java.lang.String mapName, Point2D[] points, MeasureParameter measureParam)
MapProvider
根据二维地理坐标点、量算参数,在指定地图上进行面积量算。
measureArea
在接口中 MapProvider
mapName
- 地图名称。points
- 二维地理坐标点数组。measureParam
- 量算参数。public QueryResult queryByDistance(java.lang.String mapName, Geometry geometry, double distance, QueryParameterSet queryParameterSet)
MapProvider
在指定地图上,查询距离指定的几何对象一定范围内的所有几何对象。
到指定几何对象的一定距离范围,实际是以指定几何对象为中心的一个圆,在这个圆内以及与圆相交的几何对象都能够被查询出来。
queryByDistance
在接口中 MapProvider
mapName
- 地图名称 。geometry
- 几何对象。distance
- 查询的距离范围。queryParameterSet
- 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在 queryParameterSet.queryParams[i]
中进行设置。public QueryResult queryByGeometry(java.lang.String mapName, Geometry geometry, SpatialQueryMode spatialQueryMode, QueryParameterSet queryParameterSet)
MapProvider
在指定地图上,查询与指定的几何对象符合某种空间关系和查询条件的几何对象。
queryByGeometry
在接口中 MapProvider
mapName
- 地图名称。geometry
- 几何对象。该几何对象仅包含空间信息、形状信息等,并不包括属性信息。spatialQueryMode
- 空间几何对象间的查询模式。空间几何对象间的查询模式定义了一些几何对象之间的空间位置关系,根据这些空间关系来构建过滤条件执行查询。例如:查询可被包含在面对象中的空间对象,与面有相离或者相邻关系的空间对象等。queryParameterSet
- 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在 queryParameterSet.queryParams[i]
中进行设置。public QueryResult queryByBounds(java.lang.String mapName, Rectangle2D bounds, QueryParameterSet queryParameterSet)
MapProvider
在指定的地图上,查询指定范围内的几何对象,以及外接矩形与指定范围相交的几何对象。
queryByBounds
在接口中 MapProvider
mapName
- 地图名称。bounds
- 指定的查询范围。public QueryResult queryBySQL(java.lang.String mapName, QueryParameterSet queryParameterSet)
MapProvider
在指定地图上执行 SQL 查询。
queryBySQL
在接口中 MapProvider
mapName
- 地图名称。queryParameterSet
- 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在 queryParameterSet.queryParams[i]
中进行设置。public MapParameter setDefaultMapParameter(MapParameter mapParameter)
MapProvider
设置默认地图参数。
setDefaultMapParameter
在接口中 MapProvider
mapParameter
- 地图参数。public MapParameter getDefaultMapParameter(java.lang.String mapName)
MapProvider
获取指定地图的默认地图参数。
初始的默认地图参数是由所访问的服务类型决定的,比如,访问 SuperMap Objects Java 提供的 GIS 能力,那么初始默认地图参数从工作空间文件中获取到;访问 WMS 服务提供的 GIS 能力,默认地图参数由 WMS 服务决定。
getDefaultMapParameter
在接口中 MapProvider
mapName
- 地图名称。public MapImage viewEntire(java.lang.String layerName, MapParameter mapParameter, ImageOutputOption outputOption)
根据地图图层名、地图参数以及图片输出设置进行全幅显示。
参数中指定的图层名称是指以该图层内容的最小外接矩形作为全幅显示的地理范围。
viewEntire
在接口中 MapProvider
layerName
- 地图图层名,即以该图层的最小外接矩形作为全幅显示的地理范围。mapParameter
- 地图参数。outputOption
- 图片输出设置。public Overview getOverview(MapParameter mapParameter, ImageOutputOption outputOption)
MapProvider
根据地图参数以及图片输出设置获取鹰眼。
getOverview
在接口中 MapProvider
mapParameter
- 地图参数。outputOption
- 图片输出设置。public QueryResult findNearest(java.lang.String mapName, Geometry geometry, double maxDistance, QueryParameterSet queryParameterSet)
MapProvider
在指定地图上,查找距离指定几何对象一定容限内最近的几何对象。 当限制了返回几何对象个数(由QueryParameterSet.expectCount
指定)时,查询结果为查询总记录中距离指定中心最近的expectCount个地物,这expectCount个地物按无序排列。
findNearest
在接口中 MapProvider
mapName
- 地图名称。geometry
- 几何对象。maxDistance
- 容限范围,单位与 mapName 地图的地图坐标单位相同。queryParameterSet
- 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在 queryParameterSet.queryParams[i]
中进行设置。protected RestProviderSetting getRestProviderSetting()
RestProviderBase
getRestProviderSetting
在类中 RestProviderBase
public java.util.List<PrjCoordSys> getDynamicPrjCoordsyses(java.lang.String mapName)
DynamicProjectionable
getDynamicPrjCoordsyses
在接口中 DynamicProjectionable
public java.util.List<ChartFeatureInfoSpec> getChartFeatureInfoSpecs()
ChartMapProvider
getChartFeatureInfoSpecs
在接口中 ChartMapProvider
public QueryResult queryChart(java.lang.String mapName, java.lang.String[] chartLayerNames, ChartQueryParameterSet chartQueryParams)
ChartMapProvider
queryChart
在接口中 ChartMapProvider
public QueryResult queryChart(java.lang.String mapName, java.lang.String[] chartLayerNames, ChartQueryParameterSet chartQueryParams, Rectangle2D bounds)
ChartMapProvider
queryChart
在接口中 ChartMapProvider
protected java.util.List<Layer> getLayers(java.lang.String mapName)
protected java.lang.String createMapParamKVPPart(MapParameter param, OutputFormat format, boolean transparent)
系列化MapParameter对象,生成image资源Get方法请求问号后面部分中(与MapParameter有关的项)。 即不包括redirect参数。 函数不对参数进行null判断,不对其进行有效性检查(比如不检查MapParameter.name是否正确),但是对其中的字段进行null判断。
param
- 需要系列化的MapParameter对象。format
-transparent
-public boolean support(java.lang.String mapname, MapCapability capability)
MapProvider
support
在接口中 MapProvider
mapname
- 地图名。capability
- 功能类型。public byte[] getResource(java.lang.String mapName, ResourceParameter resourceParameter, Point2D[] points)
MapProvider
根据资源图片参数获取指定地图的资源图片。
getResource
在接口中 MapProvider
mapName
- 地图名称。resourceParameter
- 资源图片参数。points
- 绘制资源图片时用的点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 void dispose()
Disposable
释放资源对象。
dispose
在接口中 Disposable
dispose
在类中 RestProviderBase
public boolean updateMap(MapParameter mapParameter)
MapProvider
updateMap
在接口中 MapProvider
mapParameter
- 要更新的地图状态。public Rectangle2D getProjectionExtent(java.lang.String mapName)
ProjectionExtent
获取当前投影下的范围
getProjectionExtent
在接口中 ProjectionExtent
public java.lang.String[] listMVTSprites(MapParameter mapParameter)
SpritesSupportedProvider
列出所有的Sprites名字
listMVTSprites
在接口中 SpritesSupportedProvider
public java.lang.String getMVTSpriteJson(MapParameter mapParameter, java.lang.String spriteName)
SpritesSupportedProvider
获取Sprite json
getMVTSpriteJson
在接口中 SpritesSupportedProvider
public byte[] getMVTSpriteResource(MapParameter mapParameter, java.lang.String spriteName)
SpritesSupportedProvider
获取Sprite资源
getMVTSpriteResource
在接口中 SpritesSupportedProvider
public QueryResult queryByKeywords(java.lang.String mapName, KeywordsQueryParameterSet queryParameterSet)
KeywordsQueryable
queryByKeywords
在接口中 KeywordsQueryable
mapName
- 地图名。public byte[] getSDFFonts(java.lang.String fontstack, java.lang.String range)
SDFFontsSupportedProvider
getSDFFonts
在接口中 SDFFontsSupportedProvider
fontstack
- 字体名称range
- 字体的public VectorTileData getVectorTile(VectorTileParameter vectorTileParameter)
TiledVectorProvider
获取矢量地图切片。
getVectorTile
在接口中 TiledVectorProvider
vectorTileParameter
- 矢量地图切片参数。public void updateVectorStyle(java.lang.String layerName, VectorStyleType type, java.lang.String style)
TiledVectorProvider
updateVectorStyle
在接口中 TiledVectorProvider
layerName
- 图层名type
- 矢量样式类型style
- 要更新的矢量瓦片样式public byte[] getSymbolData(java.lang.String symbolId, OutputFormat format)
TiledVectorProvider
getSymbolData
在接口中 TiledVectorProvider
symbolId
- 符号idformat
- 符号格式public byte[] getMVTTile(VectorTileParameter vectorTileParameter)
MVTSupportedProvider
getMVTTile
在接口中 MVTSupportedProvider
vectorTileParameter
- 矢量地图切片参数。public java.util.List<FieldInfo> getFieldsByLayerName(java.lang.String mapName, LayerFieldsQueryParameter layerFieldsQueryParameter)
getFieldsByLayerName
在接口中 MapProvider