public class ArcGISRestMapProvider extends RemoteTileProviderBase implements DynamicProjectionable
ArcGIS Rest地图服务提供者。
ArcGISRestMapProvider支持出图操作及地图查询。其中地图查询功能由ArcGIS REST地图服务的Query资源提供,支持sql查询、空间查询、范围查询; 不支持距离查询、最近地物查询; 不支持的查询参数有:查询起始记录位置、期望返回记录数目、只返回地物信息。
| 限定符和类型 | 类和说明 |
|---|---|
protected static class |
ArcGISRestMapProvider.DefaultTileDataConverter |
RemoteTileProviderBase.GetDefaultImageWhenExceptionTiledMapProviderBase.AcceptOnePicDrawer, TiledMapProviderBase.DefaultTileImageDrawer, TiledMapProviderBase.TileDataConverter, TiledMapProviderBase.TileImageDrawer, TiledMapProviderBase.TileImageParameterlogger, message, SEND_REQUEST_COUNTCACHE_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)
在指定地图上,查找距离指定几何对象一定容限内最近的几何对象。
|
protected double |
getAccurateResolution(double[] resolutions, double currentResolution)
根本问题是ArcGISRestMap 不是瓦片,不该继承 TileProviderBase。
|
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) |
protected java.lang.String |
getToken(java.lang.Runnable initTokenFunction) |
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 查询。
|
protected void |
setToken(java.lang.String token) |
protected void |
setTokenCreateTime(long tokenCreateTime) |
boolean |
support(java.lang.String mapName, MapCapability capability)
判断地图是否支持相应功能。
|
protected boolean |
tileCacheReadOnly() |
checkLicense, dispose, generateBigImage, getContent, getContent, getContent, getFinalConnectionURL, getImageBySendURL, getImageBySendURL, init, isIserverUrl, sendRequestByHttpURLConnection, sendRequestByHttpURLConnection, viewEntireclearAllCache, clearCache, fillWatermark, 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, setNames, setProviderContext, updateMapclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetTileImagepublic ArcGISRestMapProvider(ArcGISRestMapProviderSetting setting)
带参构造函数
setting - ArcGIS Rest服务提供者配置public ArcGISRestMapProvider()
protected java.util.Map<java.lang.String,MapParameter> initDefaultMapParameter()
TiledMapProviderBase初始化默认地图状态,返回值为一个映射,键为地图名,值为地图参数对象。
initDefaultMapParameter 在类中 TiledMapProviderBasepublic double[] getSupportResolutions(java.lang.String mapName)
TiledMapProviderBase返回当前服务支持的分辨率 。如果支持所有分辨率,则返回空。
getSupportResolutions 在类中 TiledMapProviderBasemapName - 地图名public MapImage getMapImage(MapParameter mapParameter, ImageOutputOption outputOption)
MapProvider根据地图参数、图片输出设置获取地图图片。
getMapImage 在接口中 MapProvidergetMapImage 在类中 TiledMapProviderBasemapParameter - 地图参数。outputOption - 图片输出设置。protected java.lang.String getTileImageUrl(TiledMapProviderBase.TileImageParameter parameter)
getTileImageUrl 在类中 RemoteTileProviderBaseprotected byte[] getTileImage(TiledMapProviderBase.TileImageParameter parameter)
getTileImage 在类中 RemoteTileProviderBasepublic QueryResult queryByGeometry(java.lang.String mapName, Geometry geometry, SpatialQueryMode spatialQueryMode, QueryParameterSet queryParameterSet)
MapProvider在指定地图上,查询与指定的几何对象符合某种空间关系和查询条件的几何对象。
queryByGeometry 在接口中 MapProviderqueryByGeometry 在类中 TiledMapProviderBasemapName - 地图名称。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 在接口中 MapProviderfindNearest 在类中 TiledMapProviderBasemapName - 地图名称。geometry - 几何对象。maxDistance - 容限范围,单位与 mapName 地图的地图坐标单位相同。queryParameterSet - 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在 queryParameterSet.queryParams[i] 中进行设置。public QueryResult queryBySQL(java.lang.String mapName, QueryParameterSet queryParameterSet)
MapProvider在指定地图上执行 SQL 查询。
queryBySQL 在接口中 MapProviderqueryBySQL 在类中 TiledMapProviderBasemapName - 地图名称。queryParameterSet - 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在 queryParameterSet.queryParams[i] 中进行设置。public QueryResult queryByBounds(java.lang.String mapName, Rectangle2D bounds, QueryParameterSet queryParameterSet)
MapProvider在指定的地图上,查询指定范围内的几何对象,以及外接矩形与指定范围相交的几何对象。
queryByBounds 在接口中 MapProviderqueryByBounds 在类中 TiledMapProviderBasemapName - 地图名称。bounds - 指定的查询范围。queryParameterSet - 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在 queryParameters.queryParams[i] 中进行设置。public QueryResult queryByDistance(java.lang.String mapName, Geometry geometry, double distance, QueryParameterSet queryParameterSet)
MapProvider在指定地图上,查询距离指定的几何对象一定范围内的所有几何对象。
到指定几何对象的一定距离范围,实际是以指定几何对象为中心的一个圆,在这个圆内以及与圆相交的几何对象都能够被查询出来。
queryByDistance 在接口中 MapProviderqueryByDistance 在类中 TiledMapProviderBasemapName - 地图名称 。geometry - 几何对象。distance - 查询的距离范围。queryParameterSet - 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在 queryParameterSet.queryParams[i] 中进行设置。public QueryResult identify(java.lang.String mapName, Geometry geometry, double distance, QueryParameterSet queryParameterSet)
protected void checkSetting(MapProviderSetting setting)
TiledMapProviderBasecheckSetting 在类中 TiledMapProviderBaseprotected Point2D getOrigin(java.lang.String mapName)
TiledMapProviderBase获取地图的左上角地理坐标。
getOrigin 在类中 TiledMapProviderBasemapName - 地图名protected java.util.List<java.lang.String> initSupportedMapNames()
TiledMapProviderBaseinitSupportedMapNames 在类中 TiledMapProviderBasepublic OutputFormat[] getSupportImageFormat(java.lang.String mapName)
TiledMapProviderBase返回支持的图片格式。
getSupportImageFormat 在类中 TiledMapProviderBasemapName - 地图名protected boolean cacheEnabled()
cacheEnabled 在类中 TiledMapProviderBaseprotected boolean tileCacheReadOnly()
public boolean support(java.lang.String mapName,
MapCapability capability)
MapProvidersupport 在接口中 MapProvidersupport 在类中 TiledMapProviderBasemapName - 地图名。capability - 功能类型。protected TiledMapProviderBase.TileDataConverter getTileDataConverter()
protected boolean isResolutionEquals(double resolution1,
double resolution2)
TiledMapProviderBase判断两个分辨率是否在容差范围之内(1.0E-6)
isResolutionEquals 在类中 TiledMapProviderBaseresolution1 - double值resolution2 - double值public VectorStyle getVectorStyle(java.lang.String mapName, java.lang.String[] layerNames, VectorStyleType type)
StyleAvailablegetVectorStyle 在接口中 StyleAvailablegetVectorStyle 在类中 TiledMapProviderBasemapName - 地图名称。layerNames - 图层名称。type - 矢量样式类型。public VectorStyle getVectorStyle(VectorStyleParameter vectorStyleParameter)
StyleAvailablegetVectorStyle 在接口中 StyleAvailablegetVectorStyle 在类中 TiledMapProviderBasevectorStyleParameter - 矢量风格参数。public java.util.List<PrjCoordSys> getDynamicPrjCoordsyses(java.lang.String mapName)
getDynamicPrjCoordsyses 在接口中 DynamicProjectionablemapName - 地图名称protected java.lang.String getToken(java.lang.Runnable initTokenFunction)
public MeasureResult measureDistance(java.lang.String mapName, Point2D[] points, MeasureParameter measureParam)
MapProvider根据二维地理坐标点、量算参数,在指定地图上进行距离量算。
measureDistance 在接口中 MapProvidermeasureDistance 在类中 TiledMapProviderBasemapName - 地图名称。points - 二维地理坐标点数组。measureParam - 量算参数。public java.lang.String getMapName()
public java.util.List<FieldInfo> getFieldsByLayerName(java.lang.String mapName, LayerFieldsQueryParameter layerFieldsQueryParameter)
getFieldsByLayerName 在接口中 MapProvider
protected double getAccurateResolution(double[] resolutions,
double currentResolution)
getAccurateResolution 在类中 TiledMapProviderBaseresolutions -currentResolution -protected void setToken(java.lang.String token)
protected void setTokenCreateTime(long tokenCreateTime)