public class DefaultRasterUtils extends Object implements RasterUtils
| Modifier and Type | Field and Description |
|---|---|
static int |
MAX_BYTE_BIT_VALUE |
static int |
MAX_SHORT_BIT_VALUE |
| Constructor and Description |
|---|
DefaultRasterUtils() |
| Modifier and Type | Method and Description |
|---|---|
void |
adjustToPixelSize(Point2D[] points,
Point2D dim)
Ajusta el valor del array de puntos pasado como primer parámetro a las
dimensiones de la imagen.
|
Extent |
calculateAdjustedView(Extent extToAdj,
AffineTransform at,
double w,
double h)
Ajusta la extensión pasada por parámetro a los valores máximos y mínimos de
la imagen.
|
Extent |
calculateAdjustedView(Extent extToAdj,
Extent imgExt)
Ajusta la extensión pasada por parámetro a los valores máximos y mínimos de
la imagen.
|
boolean |
compareExtents(Extent e1,
Extent e2)
Compara dos extents y devuelve true si son iguales
|
BufferHistogram |
convertHistogramToRGB(BufferHistogram histogram)
Convierte un histograma al rango de valores de RGB, en pocas palabras
aplica una operacion 0xff a cada pixel para quitar los numeros negativos
y desplazarlos a su rango visual.
|
void |
copyToBuffer(Buffer bufResult,
Extent tileExtent,
Buffer buf,
Extent ex,
double rel,
boolean hasAlphaBand)
Copies a piece of image into another taking into account the different size and proportion
|
double[] |
cornersToWorldFile(Point2D[] esq,
Dimension size)
Calcula los parámetros de un worl file a partir de las esquinas del raster.
1.
|
String |
formatTime(long time)
Formatea el tiempo en milisegundos devolviendo un String en formato . dias,
horas, minutos y segundos.
|
long |
getBytesFromRaster(int width,
int height,
int rasterType,
int nBands)
Devuelve el tamaño en bytes de una región de un raster en función de su
dimensión, número de bandas y tipo de dato.
|
int |
getBytesFromRasterBufType(int rasterBufType)
Obtiene el número de bytes que ocupa un tipo de dato concreto.
|
String[] |
getCoord(double minx,
double miny,
double maxx,
double maxy,
int dec)
Obtiene un texto con las coordenadas a partir de números en coma flotante.
|
Rectangle2D |
getMapRectFromPxRect(Rectangle2D extent,
double widthPx,
double heightPx,
Rectangle2D pxWindow)
Convierte una ventana en coordenadas del mundo real a sus coordenadas
relativas en pixels teniendo en cuenta que la coordenada superior izquierda
es 0,0 y la inferior derecha es maxX y maY
|
Rectangle2D |
getPxRectFromMapRect(Rectangle2D extent,
double widthPx,
double heightPx,
Rectangle2D window)
Convierte una ventana en coordenadas del mundo real a sus coordenadas
relativas en pixels teniendo en cuenta que la coordenada superior izquierda
es 0,0 y la inferior derecha es maxX y maY
|
int |
getRasterBufTypeFromMrSIDType(int mrsidType)
Conversión de los tipos de datos de MrSID a los tipos de datos de RasterBuf
|
Extent |
getROIsMaximunExtent(List<ROI> rois)
Obtiene el extent máximo de todas las ROIs pasadas por parámetro.
|
String |
getTrace(Exception e)
Gets the exception trace
|
Extent |
intersection(Extent e1,
Extent e2)
Computes the extent which intersects both selecteds
|
boolean |
intersects(Extent e1,
Extent e2,
AffineTransform at)
Comprueba si un Extent tiene alguna parte en común con otro Extent dado, es
decir, si ambos extents intersectan en alguna zona.
|
boolean |
isBufferTooBig(double[] coords,
double resolution,
int bands)
Dadas unas coordenadas pixel y un número de bandas, esta función comprueba si
el tamaño de ventana que va a generarse supera el tamaño de la caché
|
boolean |
isBufferTooBig(double[] coords,
int bands)
Dadas unas coordenadas pixel y un número de bandas, esta función comprueba si
el tamaño de ventana que va a generarse supera el tamaño de la caché
|
boolean |
isInside(Extent e1,
Extent e2)
Comprueba si un extent está contenido dentro de otro y devuelve true en
este caso.
|
boolean |
isInside(Point2D p1,
Extent e1)
Comprueba si un punto está contenido dentro de un extend y devuelve true en
este caso.
|
boolean |
isInside(Point2D p1,
Extent e1,
AffineTransform at)
Comprueba si un punto está contenido dentro de un extend y devuelve true en
este caso.
|
boolean |
isOutside(Extent e1,
Extent ref)
Comprueba si un extent está fuera de otro extent que tenemos como
referencia.
|
boolean |
loadInMemory(RasterDataStore datasource)
Devuelve true si el tamaño del dataset es menor que el de la caché y false
si no lo es.
|
String |
parserGdalProj(String proj)
Parseo de las proyecciones que genera gdal para meter espaciados y saltos
de línea HTML
|
void |
saveGeoInfo(String outRmf,
AffineTransform at,
Point2D dim)
Guarda la información de georreferenciación de un raster en su fichero rmf
adjunto.
|
String |
typesToString(int type)
Convierte un tipo de dato a cadena
|
Point2D |
worldPointToRaster(Point2D p,
Extent ext,
int pxWidth,
int pxHeight)
Convierte un punto en coordenadas del mundo a coordenadas pixel
|
public static final int MAX_BYTE_BIT_VALUE
public static final int MAX_SHORT_BIT_VALUE
public boolean loadInMemory(RasterDataStore datasource)
RasterUtilsloadInMemory in interface RasterUtilsdatasource - Fuente de datospublic boolean isBufferTooBig(double[] coords,
int bands)
RasterUtilsisBufferTooBig in interface RasterUtilscoords - Coordenadas pixel del rasterbands - Número de bandaspublic boolean isBufferTooBig(double[] coords,
double resolution,
int bands)
RasterUtilsisBufferTooBig in interface RasterUtilscoords - Coordenadas pixel del rasterbands - Número de bandaspublic int getRasterBufTypeFromMrSIDType(int mrsidType)
RasterUtilsgetRasterBufTypeFromMrSIDType in interface RasterUtilsmrsidType - Tipo de dato de MrSIDpublic int getBytesFromRasterBufType(int rasterBufType)
RasterUtilsgetBytesFromRasterBufType in interface RasterUtilsrasterBufType - Tipo de dato del que se solicita el número de bytes ocupadospublic long getBytesFromRaster(int width,
int height,
int rasterType,
int nBands)
RasterUtilsgetBytesFromRaster in interface RasterUtilspublic String typesToString(int type)
RasterUtilstypesToString in interface RasterUtilstype - Tipo de datopublic String parserGdalProj(String proj)
RasterUtilsparserGdalProj in interface RasterUtilsproj - Proyecciónpublic Rectangle2D getPxRectFromMapRect(Rectangle2D extent, double widthPx, double heightPx, Rectangle2D window)
RasterUtilsgetPxRectFromMapRect in interface RasterUtilsextent - Extent de la imagen originalwidthPx - Ancho en pixeles de la imagen originalheightPx - Alto en pixeles de la imagen originalwindow - Ventana en coordenadas reales a transportar a coordenadas pixelpublic Rectangle2D getMapRectFromPxRect(Rectangle2D extent, double widthPx, double heightPx, Rectangle2D pxWindow)
RasterUtilsgetMapRectFromPxRect in interface RasterUtilsextent - Extent de la imagen originalwidthPx - Ancho en pixeles de la imagen originalheightPx - Alto en pixeles de la imagen originalpublic Point2D worldPointToRaster(Point2D p, Extent ext, int pxWidth, int pxHeight)
RasterUtilsworldPointToRaster in interface RasterUtilsp - Punto a convertirext - Extent completo de la imagenpublic boolean intersects(Extent e1, Extent e2, AffineTransform at) throws NoninvertibleTransformException
RasterUtilsintersects in interface RasterUtilsNoninvertibleTransformExceptionpublic Extent intersection(Extent e1, Extent e2)
RasterUtilsintersection in interface RasterUtilspublic boolean isInside(Point2D p1, Extent e1, AffineTransform at)
RasterUtilsisInside in interface RasterUtilsp1 - Punto a comprobar si está contenido en e1e1 - Extent sobre el que se comprueba si e1 está dentro el puntopublic boolean isInside(Extent e1, Extent e2)
RasterUtilsisInside in interface RasterUtilse1 - Extent a comprobar si está contenido en e2e2 - Extent sobre el que se comprueba si e1 está dentropublic boolean isInside(Point2D p1, Extent e1)
RasterUtilsisInside in interface RasterUtilsp1 - Punto a comprobar si está contenido en e1e1 - Extent sobre el que se comprueba si e1 está dentro el puntopublic boolean isOutside(Extent e1, Extent ref)
RasterUtilsisOutside in interface RasterUtilse1 - Extent a comprobar si está fueraref - Extent de referenciapublic boolean compareExtents(Extent e1, Extent e2)
RasterUtilscompareExtents in interface RasterUtilse1 - Extent a comparare2 - Extent a compararpublic double[] cornersToWorldFile(Point2D[] esq, Dimension size)
RasterUtilscornersToWorldFile in interface RasterUtilspublic void adjustToPixelSize(Point2D[] points, Point2D dim)
RasterUtilsadjustToPixelSize in interface RasterUtilspoints - Lista de puntos a ajustardim - Dimensionpublic String getTrace(Exception e)
getTrace in interface RasterUtilse - public String formatTime(long time)
RasterUtilsformatTime in interface RasterUtilstime - Tiempo en milisegundospublic String[] getCoord(double minx, double miny, double maxx, double maxy, int dec)
RasterUtilsgetCoord in interface RasterUtilsminx - coordenada mínima de Xminy - coordenada mínima de Ymaxx - coordenada máxima de Xmaxy - coordenada máxima de Ydec - Número de decimales a mostrar en la caja de textopublic Extent calculateAdjustedView(Extent extToAdj, Extent imgExt)
RasterUtilscalculateAdjustedView in interface RasterUtilsextToAdj - Extent a ajustar.imgExt - Extent completo de la vista donde se va a dibujar.public Extent calculateAdjustedView(Extent extToAdj, AffineTransform at, double w, double h)
RasterUtilscalculateAdjustedView in interface RasterUtilspublic void saveGeoInfo(String outRmf, AffineTransform at, Point2D dim) throws IOException
RasterUtilssaveGeoInfo in interface RasterUtilsIOExceptionpublic Extent getROIsMaximunExtent(List<ROI> rois)
getROIsMaximunExtent in interface RasterUtilsrois - Lista de ROIs para calcular la extensión máxima que ocupanpublic BufferHistogram convertHistogramToRGB(BufferHistogram histogram)
convertHistogramToRGB in interface RasterUtilshistogram - public void copyToBuffer(Buffer bufResult, Extent tileExtent, Buffer buf, Extent ex, double rel, boolean hasAlphaBand)
RasterUtilscopyToBuffer in interface RasterUtilsbufResult - output buffertileExtent - bounding box of the output bufferbuf - input bufferex - bounding box of the input bufferrel - ratio between both pixel sizeshasAlphaBand - true if the last band is a alpha band