com.supermap.services.providers
类 ArcGISRestMapProvider
- java.lang.Object
-
- com.supermap.services.components.spi.TiledMapProviderBase
-
- com.supermap.services.providers.RemoteTileProviderBase
-
- com.supermap.services.providers.ArcGISRestMapProvider
-
- 所有已实现的接口:
- Disposable, DynamicProjectionable, MapProvider, ProviderContextAware
public class ArcGISRestMapProvider extends RemoteTileProviderBase implements DynamicProjectionable
ArcGIS Rest地图服务提供者。
ArcGISRestMapProvider支持出图操作及地图查询。其中地图查询功能由ArcGIS REST地图服务的Query资源提供,支持sql查询、空间查询、范围查询; 不支持距离查询、最近地物查询; 不支持的查询参数有:查询起始记录位置、期望返回记录数目、只返回地物信息。
- 注:
- 对接的Query参数: geometry、geometryType、where、objectIds、outFields、returnGeomery、orderByFields(ArcGIS 10.1及以上版本)。 outStatistics(ArcGIS 10.1及以上版本)。
- 支持的空间查询关系:相交(INTERSECT)、包含(CONTAIN)、交叉(CROSS)、邻接(TOUCH)、被包含(WITHIN)、叠加(OVERLAP)。
-
-
嵌套类概要
嵌套类 限定符和类型 类和说明 protected static class
ArcGISRestMapProvider.DefaultTileDataConverter
-
从类继承的嵌套类/接口 com.supermap.services.providers.RemoteTileProviderBase
RemoteTileProviderBase.GetDefaultImageWhenException
-
从类继承的嵌套类/接口 com.supermap.services.components.spi.TiledMapProviderBase
TiledMapProviderBase.AcceptOnePicDrawer, TiledMapProviderBase.DefaultTileImageDrawer, TiledMapProviderBase.TileDataConverter, TiledMapProviderBase.TileImageDrawer, TiledMapProviderBase.TileImageParameter
-
-
字段概要
-
从类继承的字段 com.supermap.services.providers.RemoteTileProviderBase
logger, message, SEND_REQUEST_COUNT
-
从类继承的字段 com.supermap.services.components.spi.TiledMapProviderBase
CACHE_DIR, defaultMapParameters, dpi, LINK_MARK, lock, QUESTION_MARK, REGEX, REPLACEMENT, tilePixHeight, tilePixWidth
-
-
构造器概要
构造器 构造器和说明 ArcGISRestMapProvider()
默认构造方法。ArcGISRestMapProvider(ArcGISRestMapProviderSetting setting)
带参构造函数
-
方法概要
方法 限定符和类型 方法和说明 protected boolean
cacheEnabled()
protected void
checkSetting(MapProviderSetting setting)
检查地图服务提供者配置。QueryResult
findNearest(java.lang.String mapName, Geometry geometry, double maxDistance, QueryParameterSet queryParameterSet)
在指定地图上,查找距离指定几何对象一定容限内最近的几何对象。java.util.List<PrjCoordSys>
getDynamicPrjCoordsyses(java.lang.String mapName)
指定地图支持的动态投影列表,arcgis rest地图服务暂时只支持4326和3857java.util.List<FieldInfo>
getFieldsByLayerName(java.lang.String mapName, LayerFieldsQueryParameter layerFieldsQueryParameter)
MapImage
getMapImage(MapParameter mapParameter, ImageOutputOption outputOption)
根据地图参数、图片输出设置获取地图图片。java.lang.String
getMapName()
protected Point2D
getOrigin(java.lang.String mapName)
获取地图的左上角地理坐标。OutputFormat[]
getSupportImageFormat(java.lang.String mapName)
返回支持的图片格式。double[]
getSupportResolutions(java.lang.String mapName)
返回当前服务支持的分辨率 。
protected TiledMapProviderBase.TileDataConverter
getTileDataConverter()
protected byte[]
getTileImage(TiledMapProviderBase.TileImageParameter parameter)
protected java.lang.String
getTileImageUrl(TiledMapProviderBase.TileImageParameter parameter)
VectorStyle
getVectorStyle(java.lang.String mapName, java.lang.String[] layerNames, VectorStyleType type)
获取指定地图中,指定矢量图层的样式VectorStyle
getVectorStyle(VectorStyleParameter vectorStyleParameter)
获取指定地图中,指定矢量图层的样式QueryResult
identify(java.lang.String mapName, Geometry geometry, double distance, QueryParameterSet queryParameterSet)
protected java.util.Map<java.lang.String,MapParameter>
initDefaultMapParameter()
初始化默认地图状态,返回值为一个映射,键为地图名,值为地图参数对象。protected java.util.List<java.lang.String>
initSupportedMapNames()
初始化支持的地图列表。protected boolean
isResolutionEquals(double resolution1, double resolution2)
判断两个分辨率是否在容差范围之内(1.0E-6)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
queryBySQL(java.lang.String mapName, QueryParameterSet queryParameterSet)
在指定地图上执行 SQL 查询。boolean
support(java.lang.String mapName, MapCapability capability)
判断地图是否支持相应功能。protected boolean
tileCacheReadOnly()
-
从类继承的方法 com.supermap.services.providers.RemoteTileProviderBase
checkLicense, dispose, generateBigImage, getContent, getContent, getContent, getFinalConnectionURL, getImageBySendURL, getImageBySendURL, init, sendRequestByHttpURLConnection, sendRequestByHttpURLConnection, viewEntire
-
从类继承的方法 com.supermap.services.components.spi.TiledMapProviderBase
clearAllCache, clearCache, fillWatermark, getAccurateResolution, getBottom, getBottom, getBufferedImage, getDefaultMapParameter, getDefaultMapParameters, getLeft, getLeftIndex, getMapParameter, getMapProviderSetting, getNames, getOverview, getProximalResolution, getProximalResolution, getResolutoinByScale, getResource, getResource, getRight, getTileIndex, getTop, getTop, getTopIndex, getTopOrBottomTileIndex, measureArea, outputImage, outputImage, outputImageToFile, outputImageToFile, point2DConvert, rectifyMapParameter, setDefaultMapParameter, setDefaultMapParameters, setMapProviderSetting, setProviderContext, updateMap
-
从类继承的方法 java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
从接口继承的方法 com.supermap.services.components.spi.MapProvider
getTileImage
-
-
-
-
构造器详细资料
-
ArcGISRestMapProvider
public ArcGISRestMapProvider(ArcGISRestMapProviderSetting setting)
带参构造函数
- 参数:
setting
- ArcGIS Rest服务提供者配置
-
ArcGISRestMapProvider
public ArcGISRestMapProvider()
默认构造方法。
-
-
方法详细资料
-
initDefaultMapParameter
protected java.util.Map<java.lang.String,MapParameter> initDefaultMapParameter()
从类复制的说明:TiledMapProviderBase
初始化默认地图状态,返回值为一个映射,键为地图名,值为地图参数对象。
- 指定者:
initDefaultMapParameter
在类中TiledMapProviderBase
- 返回:
- 地图状态映射,键为地图名,值为地图参数对象。
-
getSupportResolutions
public double[] getSupportResolutions(java.lang.String mapName)
从类复制的说明:TiledMapProviderBase
返回当前服务支持的分辨率 。如果支持所有分辨率,则返回空。
- 指定者:
getSupportResolutions
在类中TiledMapProviderBase
- 参数:
mapName
- 地图名- 返回:
- 分辨率数组
-
getMapImage
public MapImage getMapImage(MapParameter mapParameter, ImageOutputOption outputOption)
从接口复制的说明:MapProvider
根据地图参数、图片输出设置获取地图图片。
- 指定者:
getMapImage
在接口中MapProvider
- 覆盖:
getMapImage
在类中TiledMapProviderBase
- 参数:
mapParameter
- 地图参数。outputOption
- 图片输出设置。- 返回:
- 地图图片对象。
-
getTileImageUrl
protected java.lang.String getTileImageUrl(TiledMapProviderBase.TileImageParameter parameter)
- 指定者:
getTileImageUrl
在类中RemoteTileProviderBase
-
getTileImage
protected byte[] getTileImage(TiledMapProviderBase.TileImageParameter parameter)
- 覆盖:
getTileImage
在类中RemoteTileProviderBase
-
queryByGeometry
public QueryResult queryByGeometry(java.lang.String mapName, Geometry geometry, SpatialQueryMode spatialQueryMode, QueryParameterSet queryParameterSet)
从接口复制的说明:MapProvider
在指定地图上,查询与指定的几何对象符合某种空间关系和查询条件的几何对象。
- 指定者:
queryByGeometry
在接口中MapProvider
- 覆盖:
queryByGeometry
在类中TiledMapProviderBase
- 参数:
mapName
- 地图名称。geometry
- 几何对象。该几何对象仅包含空间信息、形状信息等,并不包括属性信息。spatialQueryMode
- 空间几何对象间的查询模式。空间几何对象间的查询模式定义了一些几何对象之间的空间位置关系,根据这些空间关系来构建过滤条件执行查询。例如:查询可被包含在面对象中的空间对象,与面有相离或者相邻关系的空间对象等。queryParameterSet
- 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在queryParameterSet.queryParams[i]
中进行设置。- 返回:
- 查询结果对象。
-
findNearest
public QueryResult findNearest(java.lang.String mapName, Geometry geometry, double maxDistance, QueryParameterSet queryParameterSet)
从接口复制的说明:MapProvider
在指定地图上,查找距离指定几何对象一定容限内最近的几何对象。 当限制了返回几何对象个数(由
QueryParameterSet.expectCount
指定)时,查询结果为查询总记录中距离指定中心最近的expectCount个地物,这expectCount个地物按无序排列。- 指定者:
findNearest
在接口中MapProvider
- 覆盖:
findNearest
在类中TiledMapProviderBase
- 参数:
mapName
- 地图名称。geometry
- 几何对象。maxDistance
- 容限范围,单位与 mapName 地图的地图坐标单位相同。queryParameterSet
- 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在queryParameterSet.queryParams[i]
中进行设置。- 返回:
- 查询结果对象。
-
queryBySQL
public QueryResult queryBySQL(java.lang.String mapName, QueryParameterSet queryParameterSet)
从接口复制的说明:MapProvider
在指定地图上执行 SQL 查询。
- 指定者:
queryBySQL
在接口中MapProvider
- 覆盖:
queryBySQL
在类中TiledMapProviderBase
- 参数:
mapName
- 地图名称。queryParameterSet
- 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在queryParameterSet.queryParams[i]
中进行设置。- 返回:
- 查询结果对象。
-
queryByBounds
public QueryResult queryByBounds(java.lang.String mapName, Rectangle2D bounds, QueryParameterSet queryParameterSet)
从接口复制的说明:MapProvider
在指定的地图上,查询指定范围内的几何对象,以及外接矩形与指定范围相交的几何对象。
- 指定者:
queryByBounds
在接口中MapProvider
- 覆盖:
queryByBounds
在类中TiledMapProviderBase
- 参数:
mapName
- 地图名称。bounds
- 指定的查询范围。- 返回:
- 查询结果对象。
-
queryByDistance
public QueryResult queryByDistance(java.lang.String mapName, Geometry geometry, double distance, QueryParameterSet queryParameterSet)
从接口复制的说明:MapProvider
在指定地图上,查询距离指定的几何对象一定范围内的所有几何对象。
到指定几何对象的一定距离范围,实际是以指定几何对象为中心的一个圆,在这个圆内以及与圆相交的几何对象都能够被查询出来。
- 指定者:
queryByDistance
在接口中MapProvider
- 覆盖:
queryByDistance
在类中TiledMapProviderBase
- 参数:
mapName
- 地图名称 。geometry
- 几何对象。distance
- 查询的距离范围。queryParameterSet
- 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在queryParameterSet.queryParams[i]
中进行设置。- 返回:
- 查询结果对象。
-
identify
public QueryResult identify(java.lang.String mapName, Geometry geometry, double distance, QueryParameterSet queryParameterSet)
-
checkSetting
protected void checkSetting(MapProviderSetting setting)
从类复制的说明:TiledMapProviderBase
检查地图服务提供者配置。- 覆盖:
checkSetting
在类中TiledMapProviderBase
-
getOrigin
protected Point2D getOrigin(java.lang.String mapName)
从类复制的说明:TiledMapProviderBase
获取地图的左上角地理坐标。
- 指定者:
getOrigin
在类中TiledMapProviderBase
- 参数:
mapName
- 地图名- 返回:
- 地图的左上角地理坐标。
-
initSupportedMapNames
protected java.util.List<java.lang.String> initSupportedMapNames()
从类复制的说明:TiledMapProviderBase
初始化支持的地图列表。- 指定者:
initSupportedMapNames
在类中TiledMapProviderBase
- 返回:
- 地图名列表
-
getSupportImageFormat
public OutputFormat[] getSupportImageFormat(java.lang.String mapName)
从类复制的说明:TiledMapProviderBase
返回支持的图片格式。
- 指定者:
getSupportImageFormat
在类中TiledMapProviderBase
- 参数:
mapName
- 地图名- 返回:
- 支持的图片格式数组。
-
cacheEnabled
protected boolean cacheEnabled()
- 指定者:
cacheEnabled
在类中TiledMapProviderBase
-
tileCacheReadOnly
protected boolean tileCacheReadOnly()
-
support
public boolean support(java.lang.String mapName, MapCapability capability)
从接口复制的说明:MapProvider
判断地图是否支持相应功能。- 指定者:
support
在接口中MapProvider
- 覆盖:
support
在类中TiledMapProviderBase
- 参数:
mapName
- 地图名。capability
- 功能类型。- 返回:
- 返回true表示支持该功能;返回false表示不支持该功能。
-
getTileDataConverter
protected TiledMapProviderBase.TileDataConverter getTileDataConverter()
-
isResolutionEquals
protected boolean isResolutionEquals(double resolution1, double resolution2)
从类复制的说明:TiledMapProviderBase
判断两个分辨率是否在容差范围之内(1.0E-6)
- 覆盖:
isResolutionEquals
在类中TiledMapProviderBase
- 参数:
resolution1
- double值resolution2
- double值- 返回:
- 是否相等
-
getVectorStyle
public VectorStyle getVectorStyle(java.lang.String mapName, java.lang.String[] layerNames, VectorStyleType type)
从接口复制的说明:MapProvider
获取指定地图中,指定矢量图层的样式- 指定者:
getVectorStyle
在接口中MapProvider
- 覆盖:
getVectorStyle
在类中TiledMapProviderBase
- 参数:
mapName
- 地图名称layerNames
- 图层名称type
- 矢量样式类型- 返回:
- 矢量图层样式
-
getVectorStyle
public VectorStyle getVectorStyle(VectorStyleParameter vectorStyleParameter)
从接口复制的说明:MapProvider
获取指定地图中,指定矢量图层的样式- 指定者:
getVectorStyle
在接口中MapProvider
- 覆盖:
getVectorStyle
在类中TiledMapProviderBase
- 参数:
vectorStyleParameter
- 矢量风格参数。
-
getDynamicPrjCoordsyses
public java.util.List<PrjCoordSys> getDynamicPrjCoordsyses(java.lang.String mapName)
指定地图支持的动态投影列表,arcgis rest地图服务暂时只支持4326和3857- 指定者:
getDynamicPrjCoordsyses
在接口中DynamicProjectionable
- 参数:
mapName
- 地图名称- 返回:
- 支持的动态投影列表
-
measureDistance
public MeasureResult measureDistance(java.lang.String mapName, Point2D[] points, MeasureParameter measureParam)
从接口复制的说明:MapProvider
根据二维地理坐标点、量算参数,在指定地图上进行距离量算。
- 指定者:
measureDistance
在接口中MapProvider
- 覆盖:
measureDistance
在类中TiledMapProviderBase
- 参数:
mapName
- 地图名称。points
- 二维地理坐标点数组。measureParam
- 量算参数。- 返回:
- 量算结果对象。
-
getMapName
public java.lang.String getMapName()
-
getFieldsByLayerName
public java.util.List<FieldInfo> getFieldsByLayerName(java.lang.String mapName, LayerFieldsQueryParameter layerFieldsQueryParameter)
- 指定者:
getFieldsByLayerName
在接口中MapProvider
- 返回:
-
-