This page has been translated automatically.
Программирование
Fundamentals
Setting Up Development Environment
UnigineScript
High-Level Systems
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine and Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
Rendering-Related Classes
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Unigine::DatasetRasterPosResolver Class

Header:#include <UnigineDataset.h>

This class is used to perform conversion between raster(x, y) and geodetic (latitude, longitude) coordinates.

DatasetRasterPosResolver Class

Members


Ptr<DatasetRasterPosResolver> create(const double * geotransform, const char * projection, int size_x, int size_y)

Creates a DatasetRasterPosResolver with specified parameters.

Arguments

  • const double * geotransform - A GDAL geotransform array:
    • geotransform[0] - top left x
    • geotransform[1] - w-e pixel resolution
    • geotransform[2] - rotation, 0 if image is "north up"
    • geotransform[3] - top left y
    • geotransform[4] - rotation, 0 if image is "north up"
    • geotransform[5] - n-s pixel resolution
  • const char * projection - Projection reference string.
  • int size_x - Size along the X axis.
  • int size_y - Size along the Y axis.

Return value

DatasetRasterPosResolver smart pointer.

int isOwner()

Returns the owner flag. If the pointer is the owner, on its deletion the DatasetRasterPosResolver also will be deleted. Use grab() and release() functions to change ownership

Return value

Owner flag.

void grab()

Grabs the DatasetRasterPosResolver (sets the owner flag to 1). The DatasetRasterPosResolver should not be handled by the engine after this function is called.

void getGeodeticPosition(int x, int y, double & latitude, double & longitude)

Performs conversion of raster coordinates (x, y) of a given point to geodetic coordinates (latitude, longitude) and puts them to latitude and longitude respectively.

Arguments

  • int x - X coordinate.
  • int y - Y coordinate.
  • double & latitude - Latitude coordinate.
  • double & longitude - Longitude coordinate.

int getRasterPosition(double latitude, double longitude, int & x, int & y)

Performs conversion of geodetic coordinates (latitude, longitude) of a given point to raster coordinates (x, y) and puts them to x and y respectively.

Arguments

  • double latitude - Latitude coordinate.
  • double longitude - Longitude coordinate.
  • int & x - X coordinate.
  • int & y - Y coordinate.

Return value

1 if resulting X coordinate is in the range [0, RasterSize_X] and Y coordinate is in the range [0, RasterSize_Y]; otherwise 0

int getRasterPosition(double latitude, double longitude, float & x, float & y)

Performs conversion of geodetic coordinates (latitude, longitude) of a given point to raster coordinates (x, y) and puts them to x and y respectively.

Arguments

  • double latitude - Latitude coordinate.
  • double longitude - Longitude coordinate.
  • float & x - X coordinate.
  • float & y - Y coordinate.

Return value

1 if resulting X and Y coordinates are in the range [0.0f, 1.0f]; otherwise 0

void getRasterPositions(double * latitudes, double * longitude, int size, int * ret_x, int * ret_y, bool * ret_pixels)

Performs conversion of geodetic coordinates (latitude, longitude) of given points specified in corresponding arrays to raster coordinates (x, y) and puts them to corresponding return arrays.

Arguments

  • double * latitudes - Array with latitude coordinates.
  • double * longitude - Array with longitude coordinates.
  • int size - Number of elements in coordinate arrays.
  • int * ret_x - Return array with X coordinates.
  • int * ret_y - Return array with Y coordinates.
  • bool * ret_pixels - Array of conversion results, where each element corresponding to a certain point is determined as follows: 1 if resulting X coordinate is in the range [0, RasterSize_X] and Y coordinate is in the range [0, RasterSize_Y]; otherwise 0

void getRasterPositions(double * latitudes, double * longitude, int size, float * ret_x, float * ret_y, bool * ret_pixels)

Performs conversion of geodetic coordinates (latitude, longitude) of given points specified in corresponding arrays to raster coordinates (x, y) and puts them to corresponding return arrays.

Arguments

  • double * latitudes - Array with latitude coordinates.
  • double * longitude - Array with longitude coordinates.
  • int size - Number of elements in coordinate arrays.
  • float * ret_x - Return array with X coordinates.
  • float * ret_y - Return array with Y coordinates.
  • bool * ret_pixels - Array of conversion results, where each element corresponding to a certain point is determined as follows: 1 if resulting X and Y coordinates are in the range [0.0f, 1.0f]; otherwise 0

int getRasterSizeX()

Returns raster size along the X axis.

Return value

Raster size along the X axis.

int getRasterSizeY()

Returns raster size along the Y axis.

Return value

Raster size along the Y axis.

double getOriginX()

Returns the X coordinate of the origin.

Return value

X coordinate of the origin.

double getOriginY()

Returns the Y coordinate of the origin.

Return value

Y coordinate of the origin.

double getResolutionX()

Returns resolution along the X axis.

Return value

Resolution along the X axis.

double getResolutionY()

Returns resolution along the Y axis.

Return value

Resolution along the Y axis.

const char * getProjection()

Returns current projection reference string.

Return value

Projection reference string.

void release()

Releases the dataset (sets the owner flag to 0). The dataset should be handled by the engine after this function is called.
Last update: 03.07.2017
Build: ()