Package cn.mapway.common.geo.tools
Class TiffTools
java.lang.Object
cn.mapway.common.geo.tools.TiffTools
TiffTools
tiff格式影像处理工具
每一次从影像中切片 都会进行计算,为了简化这种操作,我们每次计算完成后 就将结果存入 mongoDB中,下次再查找 就不用每次都去计算图像信息了
怎么标识一个图像? 我们是计算这副图像的md5值进行唯一索引
- Author:
- zhangjianshe <zhangjianshe@gmail.com>
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic int[]calRasterHistogram(String location, cn.mapway.geo.client.raster.BandInfo bandInfo, int bucketSize, org.gdal.gdal.ProgressCallback callback) 计算图像的直方图static StringcalRasterOverview(String location, org.gdal.gdal.ProgressCallback callback) 计算图像的金字塔static voidcalRasterPreview(String sourceFileName, String targetFileName, int targetWidth, List<cn.mapway.geo.client.raster.BandInfo> bandInfos, cn.mapway.geo.client.raster.ChanelData chanelData, cn.mapway.geo.shared.color.ColorTable colorTable, org.gdal.gdal.ProgressCallback callback) 计算影像的预览图static String[]extractBandOverview(org.gdal.gdal.Band band) byte[]extractFromSource(cn.mapway.geo.client.raster.ImageInfo imageInfo, long tileX, long tileY, int zoom, cn.mapway.geo.shared.color.ColorTable colorTable) 从原始影像中输出瓦片cn.mapway.geo.client.raster.ImageInfoextractImageInformation(String sha256, String imageAbsoluteFilename, IImagePreviewProvider previewProvider) 读取影像的信息 有sha256值 就去数据库中查找 没找到 计算 找到 返回 无Msha256值 计算static cn.mapway.geo.client.raster.ImageInfoextractImageInformation(org.gdal.gdal.Dataset dataset) 解析一个影像的坐标和影像信息static cn.mapway.geo.shared.vector.BoxfromGeometry(org.gdal.ogr.Geometry pt1) static byte[]generateImagePreview(cn.mapway.geo.client.raster.ImageInfo imageInfo, int targetWidth, cn.mapway.geo.shared.color.ColorTable colorTable) static org.gdal.gdal.DriverPNG Driverstatic org.gdal.gdal.DriverPNG Driverstatic org.gdal.osr.SpatialReferencestatic org.gdal.osr.SpatialReferenceimageSha256(File file, Long userId, IProgressNotify notify) imageSha256(String imageAbsoluteFilename) 计算影像的 SHA256static voidstatic cn.mapway.geo.shared.vector.PointpixelToLocation(double[] adfGeoTransform, long pixelX, long pixelY) 像素坐标 转化为 坐标参考系下的坐标 进行仿射变换 * Xp = padfTransform[0] + P*padfTransform[1] + L*padfTransform[2]; * Yp = padfTransform[3] + P*padfTransform[4] + L*padfTransform[5];byte[]previewImage(org.gdal.gdal.Dataset sourceDataset, cn.mapway.geo.client.raster.ImageInfo imageInfo, IImagePreviewProvider previewProvider) 构建图像的预览信息readPixelValues(String filePath, double lat, double lng) 根据经纬度坐标 查询映像中的数值static cn.mapway.geo.shared.vector.Pointresolution(double[] adfGeoTransform) 目标单位 像素分辨率 WGS84 度 WEB MOCATOR mitempFile()临时的png文件static org.gdal.ogr.GeometrytoGeometry(cn.mapway.geo.shared.vector.Box box, org.gdal.osr.SpatialReference spatialReference) static org.gdal.ogr.GeometrytoTargetGeometry(org.gdal.ogr.Geometry pt0, org.gdal.osr.SpatialReference targetSpatialReference) static org.gdal.ogr.GeometrytoWgs84(org.gdal.ogr.Geometry geometry) static cn.mapway.geo.shared.vector.Pointwgs84Resolution(cn.mapway.geo.shared.vector.Point location, cn.mapway.geo.shared.vector.Point resolution)
-
Constructor Details
-
TiffTools
public TiffTools()
-
-
Method Details
-
getPngDriver
public static org.gdal.gdal.Driver getPngDriver()PNG Driver- Returns:
-
getMemoryDriver
public static org.gdal.gdal.Driver getMemoryDriver()PNG Driver- Returns:
-
main
-
getWgs84Reference
public static org.gdal.osr.SpatialReference getWgs84Reference() -
getWebMercatorReference
public static org.gdal.osr.SpatialReference getWebMercatorReference() -
toTargetGeometry
public static org.gdal.ogr.Geometry toTargetGeometry(org.gdal.ogr.Geometry pt0, org.gdal.osr.SpatialReference targetSpatialReference) -
fromGeometry
public static cn.mapway.geo.shared.vector.Box fromGeometry(org.gdal.ogr.Geometry pt1) -
toWgs84
public static org.gdal.ogr.Geometry toWgs84(org.gdal.ogr.Geometry geometry) -
readPixelValues
public static cn.mapway.biz.core.BizResult<List<Double>> readPixelValues(String filePath, double lat, double lng) 根据经纬度坐标 查询映像中的数值- Parameters:
filePath-lat-lng-- Returns:
-
calRasterHistogram
public static int[] calRasterHistogram(String location, cn.mapway.geo.client.raster.BandInfo bandInfo, int bucketSize, org.gdal.gdal.ProgressCallback callback) 计算图像的直方图- Parameters:
location-bandInfo-bucketSize- please input 256callback- progress report
-
calRasterOverview
计算图像的金字塔- Parameters:
location-callback- progress report
-
extractBandOverview
-
extractImageInformation
public static cn.mapway.geo.client.raster.ImageInfo extractImageInformation(org.gdal.gdal.Dataset dataset) 解析一个影像的坐标和影像信息- Parameters:
dataset-- Returns:
-
pixelToLocation
public static cn.mapway.geo.shared.vector.Point pixelToLocation(double[] adfGeoTransform, long pixelX, long pixelY) 像素坐标 转化为 坐标参考系下的坐标 进行仿射变换 * Xp = padfTransform[0] + P*padfTransform[1] + L*padfTransform[2]; * Yp = padfTransform[3] + P*padfTransform[4] + L*padfTransform[5];- Parameters:
adfGeoTransform-pixelX-pixelY-- Returns:
-
resolution
public static cn.mapway.geo.shared.vector.Point resolution(double[] adfGeoTransform) 目标单位 像素分辨率 WGS84 度 WEB MOCATOR mi- Parameters:
adfGeoTransform-- Returns:
-
tempFile
临时的png文件- Returns:
-
imageSha256
-
imageSha256
计算影像的 SHA256- Parameters:
imageAbsoluteFilename-- Returns:
-
extractImageInformation
public cn.mapway.geo.client.raster.ImageInfo extractImageInformation(String sha256, String imageAbsoluteFilename, IImagePreviewProvider previewProvider) 读取影像的信息 有sha256值 就去数据库中查找 没找到 计算 找到 返回 无Msha256值 计算- Parameters:
imageAbsoluteFilename-- Returns:
-
previewImage
public byte[] previewImage(org.gdal.gdal.Dataset sourceDataset, cn.mapway.geo.client.raster.ImageInfo imageInfo, IImagePreviewProvider previewProvider) 构建图像的预览信息- Parameters:
sourceDataset-imageInfo-previewProvider-
-