com.supermap.services.components.spi

类 AbstractRestMapProvider

  • java.lang.Object
    • com.supermap.services.components.spi.AbstractRestMapProvider
    • 字段详细资料

      • QUESTION_MARK

        public static final java.lang.String QUESTION_MARK
        
      • LINK_MARK

        public static final java.lang.String LINK_MARK
        
      • URL_ENCODE

        public static final java.lang.String URL_ENCODE
        

        URI 的编码格式。

      • RESOLUTION_PRECESION

        public static final double RESOLUTION_PRECESION
        

        分辨率精度,在该精度范围内,认为两个分辨率相等。

      • logger

        protected static final LocLogger logger
        
      • CACHEKEY

        protected static final java.lang.String CACHEKEY
        
      • tileCols

        public int tileCols
        

        瓦片宽度,单位是像素,默认为256像素。

      • tileRows

        public int tileRows
        

        瓦片高度,单位是像素,默认为256像素。

      • defaultDPI

        protected int defaultDPI
        

        图片的 DPI。

    • 构造器详细资料

      • AbstractRestMapProvider

        public AbstractRestMapProvider()
        
    • 方法详细资料

      • loadMetaData

        protected abstract boolean loadMetaData()
        
        加载Rest 服务的元信息。
        返回:
      • initSupportedMapNames

        protected abstract java.util.List<java.lang.String> initSupportedMapNames()
        
        初始化支持的地图列表。
        返回:
      • checkSetting

        protected abstract void checkSetting(MapProviderSetting setting)
        
        初始化默认地图状态。
        参数:
        setting -
      • getDefaultMapParameter

        public MapParameter getDefaultMapParameter(java.lang.String mapName)
        

        返回默认地图状态。

        以地图范围的中心点作为默认中心点, 以一个瓦片的像素大小作为默认图片大小,以一个瓦片的像素大小作为默认图片大小,

        指定者:
        getDefaultMapParameter 在接口中 MapProvider
        参数:
        mapName - 地图名称。
        返回:
        默认的地图状态。
      • initDefaultMapParameter

        protected abstract java.util.Map<java.lang.String,MapParameter> initDefaultMapParameter()
        

        初始化默认地图状态,返回值为一个映射,键为地图名,值为地图参数对象。

        返回:
        地图状态映射,键为地图名,值为地图参数对象。
      • rectifyViewBoundsAndViewer

        protected boolean rectifyViewBoundsAndViewer(MapParameter defaultMapParameter)
        
        矫正地图状态,使地图宽度和高度之比等于出图宽度和出图高度之比
      • getMapImage

        public MapImage getMapImage(MapParameter mapParameter,
                           ImageOutputOption outputOption)
        

        根据地图参数、图片输出设置获取地图图片。

        指定者:
        getMapImage 在接口中 MapProvider
        参数:
        mapParameter - 地图参数。
        outputOption - 图片输出设置。
        返回:
        地图图片对象。
      • outputImage

        protected void outputImage(MapParameter param,
                       ImageOutputOption outputOption,
                       double currentResolution,
                       java.lang.String targetFileName)
        
        实时地出图 。根据地图参数,出图到指定路径。
        参数:
        param -
        outputOption -
        currentResolution -
        targetFileName -
      • isResolutionSupported

        protected boolean isResolutionSupported(double currentResolution)
        
      • getTileOrigin

        protected abstract Point2D getTileOrigin()
        

        获取地图的左上角地理坐标。

        返回:
        地图的左上角地理坐标。
      • outputImageToFile

        protected void outputImageToFile(java.lang.String targetFileName,
                             java.awt.image.BufferedImage targetImage)
        

        将各个瓦片与给定范围重合的区域拼接成一个图片后,写到指定的文件中

        参数:
        targetFileName指定的文件名 -
        targetImage结果图片 -
      • outputStreamToFile

        protected boolean outputStreamToFile(java.io.InputStream resultStream,
                                 java.lang.String targetFileName)
        
        将字节流写入文件
        参数:
        resultStream -
        targetFileName -
      • getTileImageStream

        protected abstract java.io.InputStream getTileImageStream(MapParameter tileParam,
                                             ImageOutputOption outputOption,
                                             int colIndex,
                                             int rowIndex,
                                             double currentResolution)
        

        获取指定的瓦片的图片流。

        参数:
        tileParam -
        outputOption -
        colIndex -
        rowIndex -
        currentResolution -
        返回:
      • getTileBounds

        protected Rectangle2D getTileBounds(double currentResolution,
                                int colIndex,
                                int rowIndex,
                                Point2D tileOrigin)
        
        给定分辨率下,返回指定点所在的瓦片的范围。
        返回:
      • getMapImageData

        protected byte[] getMapImageData(java.lang.String imageFilePath)
        
      • getMapParameter

        public MapParameter getMapParameter(java.lang.String mapName)
        
        从接口复制的说明: MapProvider

        获取指定地图上次出图之后的状态(地图参数)。

        指定者:
        getMapParameter 在接口中 MapProvider
        参数:
        mapName - 指定地图名称。
        返回:
        地图参数。
      • viewEntire

        public MapImage viewEntire(java.lang.String layerName,
                          MapParameter mapParameter,
                          ImageOutputOption outputOption)
        

        根据地图图层名、地图参数以及图片输出设置进行全幅显示。

        参数中指定的图层名称是指以该图层内容的最小外接矩形作为全幅显示的地理范围。

        指定者:
        viewEntire 在接口中 MapProvider
        参数:
        layerName地图图层名,即以该图层的最小外接矩形作为全幅显示的地理范围。 -
        mapParameter地图参数。 -
        outputOption图片输出设置。 -
        返回:
        地图对象。
      • getNames

        public java.util.List<java.lang.String> getNames()
        
        返回地图名列表。
        指定者:
        getNames 在接口中 MapProvider
        返回:
        地图名称列表。
      • findNearest

        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] 中进行设置。
        返回:
        查询结果对象。
      • getResource

        public java.lang.String getResource(java.lang.String mapName,
                                   ResourceParameter resourceParameter)
        
        从接口复制的说明: MapProvider

        根据资源图片参数获取指定地图的资源图片。

        指定者:
        getResource 在接口中 MapProvider
        参数:
        mapName - 地图名称。
        resourceParameter - 资源图片参数。
        返回:
        资源图片地址。
      • measureArea

        public MeasureResult measureArea(java.lang.String mapName,
                                Point2D[] points,
                                MeasureParameter measureParam)
        
        从接口复制的说明: MapProvider

        根据二维地理坐标点、量算参数,在指定地图上进行面积量算。

        指定者:
        measureArea 在接口中 MapProvider
        参数:
        mapName - 地图名称。
        points - 二维地理坐标点数组。
        measureParam - 量算参数。
        返回:
        量算结果对象。
      • measureDistance

        public MeasureResult measureDistance(java.lang.String mapName,
                                    Point2D[] points,
                                    MeasureParameter measureParam)
        
        从接口复制的说明: MapProvider

        根据二维地理坐标点、量算参数,在指定地图上进行距离量算。

        指定者:
        measureDistance 在接口中 MapProvider
        参数:
        mapName - 地图名称。
        points - 二维地理坐标点数组。
        measureParam - 量算参数。
        返回:
        量算结果对象。
      • queryByDistance

        public QueryResult queryByDistance(java.lang.String mapName,
                                  Geometry geometry,
                                  double distance,
                                  QueryParameterSet queryParameterSet)
        
        从接口复制的说明: MapProvider

        在指定地图上,查询距离指定的几何对象一定范围内的所有几何对象。

        到指定几何对象的一定距离范围,实际是以指定几何对象为中心的一个圆,在这个圆内以及与圆相交的几何对象都能够被查询出来。

        指定者:
        queryByDistance 在接口中 MapProvider
        参数:
        mapName - 地图名称 。
        geometry - 几何对象。
        distance - 查询的距离范围。
        queryParameterSet - 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在 queryParameterSet.queryParams[i] 中进行设置。
        返回:
        查询结果对象。
      • checkParameterNull

        protected static void checkParameterNull(java.lang.Object obj,
                              java.lang.String parameterName)
        
      • dispose

        public void dispose()
        
        从接口复制的说明: Disposable

        释放资源对象。

        指定者:
        dispose 在接口中 Disposable
      • clearCache

        public void clearCache(java.lang.String mapName,
                      Rectangle2D bounds)
        

        清除地图对应范围的缓存图片。

        指定者:
        clearCache 在接口中 MapProvider
        参数:
        mapName地图名称。 -
        bounds地图范围。 -
      • queryByGeometry

        public QueryResult queryByGeometry(java.lang.String mapName,
                                  Geometry geometry,
                                  SpatialQueryMode spatialQueryMode,
                                  QueryParameterSet queryParameterSet)
        
        从接口复制的说明: MapProvider

        在指定地图上,查询与指定的几何对象符合某种空间关系和查询条件的几何对象。

        指定者:
        queryByGeometry 在接口中 MapProvider
        参数:
        mapName - 地图名称。
        geometry - 几何对象。该几何对象仅包含空间信息、形状信息等,并不包括属性信息。
        spatialQueryMode - 空间几何对象间的查询模式。空间几何对象间的查询模式定义了一些几何对象之间的空间位置关系,根据这些空间关系来构建过滤条件执行查询。例如:查询可被包含在面对象中的空间对象,与面有相离或者相邻关系的空间对象等。
        queryParameterSet - 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在 queryParameterSet.queryParams[i] 中进行设置。
        返回:
        查询结果对象。
      • queryBySQL

        public QueryResult queryBySQL(java.lang.String mapName,
                             QueryParameterSet queryParameterSet)
        
        从接口复制的说明: MapProvider

        在指定地图上执行 SQL 查询。

        指定者:
        queryBySQL 在接口中 MapProvider
        参数:
        mapName - 地图名称。
        queryParameterSet - 查询参数集。可对某个地图的多个图层进行查询,单个图层的查询参数在 queryParameterSet.queryParams[i] 中进行设置。
        返回:
        查询结果对象。
      • queryByBounds

        public QueryResult queryByBounds(java.lang.String mapName,
                                Rectangle2D bounds,
                                QueryParameterSet queryParameterSet)
        
        从接口复制的说明: MapProvider

        在指定的地图上,查询指定范围内的几何对象,以及外接矩形与指定范围相交的几何对象。

        指定者:
        queryByBounds 在接口中 MapProvider
        参数:
        mapName - 地图名称。
        bounds - 指定的查询范围。
        返回:
        查询结果对象。
      • getContent

        public java.lang.String getContent(java.lang.String url,
                                  java.lang.String method)
                                    throws java.io.IOException
        

        对指定 URL 执行 HTTP 请求, 获取响应内容。

        参数:
        url - 指定的URI。
        method - 对 URI 执行的 HTTP 方法,如“GET”。
        返回:
        转化为文本格式的 HTTP 响应内容。
        抛出:
        java.io.IOException
      • isResolutionEquals

        protected boolean isResolutionEquals(double resolution1,
                                 double resolution2)
        
      • sendRequestByHttpURLConnection

        protected java.util.Map<java.lang.String,java.lang.Object> sendRequestByHttpURLConnection(java.lang.String urlStr,
                                                                                      java.lang.String method,
                                                                                      java.io.InputStream requestStream)
                                                                                           throws java.io.IOException
        

        通过 HttpURLConnection 发送HTTP请求。

        参数:
        urlStr - 请求 URI。
        method - HTTP 方法,如“GET”。
        requestStream - 请求体流。
        返回:
        响应结果映射,键为 项目名,如status、entity,值为项目值。
        抛出:
        java.io.IOException
      • resolutionToScale

        protected double resolutionToScale(double resolution,
                               int dpi,
                               Unit mapUnit)
        

        根据分辨率、DPI、地图单位,计算比例尺。

        参数:
        resolution - 指定的分辨率,单位为“像素/地图单位”。
        dpi - 指定的 DPI。
        mapUnit - 地图单位,跟 resolution 的单位相对应。
        返回:
        比例尺。
      • getJsonConverter

        public JsonConverter getJsonConverter()
        

        获取JSON 转换器。

        JSON 转换器可以将一个 JSON 字符串转换为一个 Java 对象。

        返回:
      • setJsonConverter

        protected void setJsonConverter(JsonConverter jsonConverter)
        

        设置 JSON 转换器,JSON 转换器可以将一个 JSON 字符串转换为一个 Java 对象。

        参数:
        jsonConverter - JSON 转换器。
      • getDefaultMapParameters

        protected java.util.Map<java.lang.String,MapParameter> getDefaultMapParameters()
        
      • setDefaultMapParameters

        protected void setDefaultMapParameters(java.util.Map<java.lang.String,MapParameter> defaultMapParameters)
        

        设置默认地图状态。

        参数:
        defaultMapParameters - 地图状态映射,键为地图名,值为地图参数对象。
      • setMapProviderSetting

        public void setMapProviderSetting(MapProviderSetting mapProviderSetting)
        
      • getSupportResolutions

        public abstract double[] getSupportResolutions()
        
        返回当前服务支持的分辨率。如果支持所有分辨率,则返回空。
        返回: