public class ArcGISRestMapProvider extends RemoteTileProviderBase implements DynamicProjectionable
ArcGIS Rest地图服务提供者。
ArcGISRestMapProvider支持出图操作及地图查询。其中地图查询功能由ArcGIS REST地图服务的Query资源提供,支持sql查询、空间查询、范围查询; 不支持距离查询、最近地物查询; 不支持的查询参数有:查询起始记录位置、期望返回记录数目、只返回地物信息。
限定符和类型 | 类和说明 |
---|---|
protected static class |
ArcGISRestMapProvider.DefaultTileDataConverter |
RemoteTileProviderBase.GetDefaultImageWhenException
TiledMapProviderBase.AcceptOnePicDrawer, TiledMapProviderBase.DefaultTileImageDrawer, TiledMapProviderBase.TileDataConverter, TiledMapProviderBase.TileImageDrawer, TiledMapProviderBase.TileImageParameter
logger, message, SEND_REQUEST_COUNT
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和3857
|
java.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() |
checkLicense, dispose, generateBigImage, getContent, getContent, getContent, getFinalConnectionURL, getImageBySendURL, getImageBySendURL, init, sendRequestByHttpURLConnection, sendRequestByHttpURLConnection, viewEntire
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
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getTileImage
public ArcGISRestMapProvider(ArcGISRestMapProviderSetting setting)
带参构造函数
setting
- ArcGIS Rest服务提供者配置public ArcGISRestMapProvider()
protected java.util.Map<java.lang.String,MapParameter> initDefaultMapParameter()
TiledMapProviderBase
初始化默认地图状态,返回值为一个映射,键为地图名,值为地图参数对象。
initDefaultMapParameter
在类中 TiledMapProviderBase
public double[] getSupportResolutions(java.lang.String mapName)
TiledMapProviderBase
返回当前服务支持的分辨率 。如果支持所有分辨率,则返回空。
getSupportResolutions
在类中 TiledMapProviderBase
mapName
- 地图名public MapImage getMapImage(MapParameter mapParameter, ImageOutputOption outputOption)
MapProvider
根据地图参数、图片输出设置获取地图图片。
getMapImage
在接口中 MapProvider
getMapImage
在类中 TiledMapProviderBase
mapParameter
- 地图参数。outputOption
- 图片输出设置。protected java.lang.String getTileImageUrl(TiledMapProviderBase.TileImageParameter parameter)
getTileImageUrl
在类中 RemoteTileProviderBase
protected byte[] getTileImage(TiledMapProviderBase.TileImageParameter parameter)
getTileImage
在类中 RemoteTileProviderBase
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]
中进行设置。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]
中进行设置。public QueryResult queryBySQL(java.lang.String mapName, QueryParameterSet queryParameterSet)
MapProvider
在指定地图上执行 SQL 查询。
queryBySQL
在接口中 MapProvider
queryBySQL
在类中 TiledMapProviderBase
mapName
- 地图名称。queryParameterSet
- 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在 queryParameterSet.queryParams[i]
中进行设置。public QueryResult queryByBounds(java.lang.String mapName, Rectangle2D bounds, QueryParameterSet queryParameterSet)
MapProvider
在指定的地图上,查询指定范围内的几何对象,以及外接矩形与指定范围相交的几何对象。
queryByBounds
在接口中 MapProvider
queryByBounds
在类中 TiledMapProviderBase
mapName
- 地图名称。bounds
- 指定的查询范围。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]
中进行设置。public QueryResult identify(java.lang.String mapName, Geometry geometry, double distance, QueryParameterSet queryParameterSet)
protected void checkSetting(MapProviderSetting setting)
TiledMapProviderBase
checkSetting
在类中 TiledMapProviderBase
protected Point2D getOrigin(java.lang.String mapName)
TiledMapProviderBase
获取地图的左上角地理坐标。
getOrigin
在类中 TiledMapProviderBase
mapName
- 地图名protected java.util.List<java.lang.String> initSupportedMapNames()
TiledMapProviderBase
initSupportedMapNames
在类中 TiledMapProviderBase
public OutputFormat[] getSupportImageFormat(java.lang.String mapName)
TiledMapProviderBase
返回支持的图片格式。
getSupportImageFormat
在类中 TiledMapProviderBase
mapName
- 地图名protected boolean cacheEnabled()
cacheEnabled
在类中 TiledMapProviderBase
protected boolean tileCacheReadOnly()
public boolean support(java.lang.String mapName, MapCapability capability)
MapProvider
support
在接口中 MapProvider
support
在类中 TiledMapProviderBase
mapName
- 地图名。capability
- 功能类型。protected TiledMapProviderBase.TileDataConverter getTileDataConverter()
protected boolean isResolutionEquals(double resolution1, double resolution2)
TiledMapProviderBase
判断两个分辨率是否在容差范围之内(1.0E-6)
isResolutionEquals
在类中 TiledMapProviderBase
resolution1
- double值resolution2
- double值public VectorStyle getVectorStyle(java.lang.String mapName, java.lang.String[] layerNames, VectorStyleType type)
MapProvider
getVectorStyle
在接口中 MapProvider
getVectorStyle
在类中 TiledMapProviderBase
mapName
- 地图名称layerNames
- 图层名称type
- 矢量样式类型public VectorStyle getVectorStyle(VectorStyleParameter vectorStyleParameter)
MapProvider
getVectorStyle
在接口中 MapProvider
getVectorStyle
在类中 TiledMapProviderBase
vectorStyleParameter
- 矢量风格参数。public java.util.List<PrjCoordSys> getDynamicPrjCoordsyses(java.lang.String mapName)
getDynamicPrjCoordsyses
在接口中 DynamicProjectionable
mapName
- 地图名称public MeasureResult measureDistance(java.lang.String mapName, Point2D[] points, MeasureParameter measureParam)
MapProvider
根据二维地理坐标点、量算参数,在指定地图上进行距离量算。
measureDistance
在接口中 MapProvider
measureDistance
在类中 TiledMapProviderBase
mapName
- 地图名称。points
- 二维地理坐标点数组。measureParam
- 量算参数。public java.lang.String getMapName()
public java.util.List<FieldInfo> getFieldsByLayerName(java.lang.String mapName, LayerFieldsQueryParameter layerFieldsQueryParameter)
getFieldsByLayerName
在接口中 MapProvider