Package cn.mapway.common.geo.tools
Class TileTools
java.lang.Object
cn.mapway.common.geo.tools.TileTools
TileTools
瓦片工具,主要用于将GeoTiff切图存储在.S文件中
将一个文件切片的主要过程分为四部
打开输入
生产元数据
生成基本title
生成索引title
TODO 解决连接池数量和关闭的问题
- Author:
- zhangjianshe <zhangjianshe@gmail.com>
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()清空.S数据文件void拷贝瓦片到目标数据库中void删除数据库的一条记录booleantile是否存在getDbFile(long xIndex, long yIndex, int zoom) guessFileFormat(byte[] data) static BufferedImagerasterMask(long tileX, long tileY, int z, org.gdal.ogr.Geometry intersection) raster Geometry intersects box in tile tile (x,y,z)byte[]read(long xIndex, long yIndex, int zoom) S数据库中瓦片坐标 是左上角为原点 向上 向下生长 leaflet 采用这种坐标系统 注意 读取墨卡托 瓦片数据 瓦片坐标原点定位左上角 向下 向右生长voidread(Integer x, Integer y, Integer level, OutputStream outputStream) readImage(long xIndex, long yIndex, int zoom) 读取指定位置的图像cn.mapway.biz.core.BizResult<SFileExtend>搜索数据库找出该SFile的经纬度范围 此值是一个估计值,不是精确值 S文件中 tile编号是 左上角为原点 向右 向下生长 找到一个有值就返回booleansureTable(Connection connection, String tableName, boolean create) static cn.mapway.geo.geometry.GeoObjecttoPolygon(cn.mapway.geo.shared.vector.Box box) voidwrite(long xIndex, long yIndex, int zoom, InputStream data) 写入指定位置图像 只有一个线程支持写操作voidwriteBytes(long xIndex, long yIndex, int zoom, byte[] data) 写入数据voidwriteMetaFile(cn.mapway.geo.client.raster.ImageInfo info) 当前目录下写入元数据信息
-
Field Details
-
TILE_SIZE
public static final int TILE_SIZE- See Also:
-
MEMORY_DB_PATH
- See Also:
-
emptyImage
-
-
Constructor Details
-
TileTools
-
-
Method Details
-
rasterMask
public static BufferedImage rasterMask(long tileX, long tileY, int z, org.gdal.ogr.Geometry intersection) raster Geometry intersects box in tile tile (x,y,z)- Parameters:
tileX-tileY-z-intersection- webmercator cords' polygon- Returns:
-
writeMetaFile
public void writeMetaFile(cn.mapway.geo.client.raster.ImageInfo info) 当前目录下写入元数据信息- Parameters:
info-
-
copyTo
拷贝瓦片到目标数据库中- Parameters:
target-xIndex-yIndex-zoom-
-
write
写入指定位置图像 只有一个线程支持写操作- Parameters:
xIndex- tileX 坐标yIndex- tile Y坐标zoom- 图像Leveldata- 图像数据
-
writeBytes
public void writeBytes(long xIndex, long yIndex, int zoom, byte[] data) 写入数据- Parameters:
xIndex-yIndex-zoom-data-
-
read
public byte[] read(long xIndex, long yIndex, int zoom) S数据库中瓦片坐标 是左上角为原点 向上 向下生长 leaflet 采用这种坐标系统 注意 读取墨卡托 瓦片数据 瓦片坐标原点定位左上角 向下 向右生长- Parameters:
xIndex- 瓦片X方向的索引yIndex- 瓦片Y方向的索引zoom- 瓦片级别- Returns:
-
read
-
readImage
读取指定位置的图像- Parameters:
xIndex-yIndex-zoom-- Returns:
-
getDbFile
-
sureTable
-
guessFileFormat
-
clear
public void clear()清空.S数据文件 -
searchExtend
搜索数据库找出该SFile的经纬度范围 此值是一个估计值,不是精确值 S文件中 tile编号是 左上角为原点 向右 向下生长 找到一个有值就返回- Returns:
-
exists
tile是否存在- Parameters:
x-y-level-- Returns:
-
delete
删除数据库的一条记录- Parameters:
x-y-level-