gis_helper_convert_point_meters_2_degrees_array()

Преобразование координат массива точек в метрах (проекции) в координаты градусной меры.

Прототип:

#include <gis/gis_math.h>
int gis_helper_convert_point_meters_2_degrees_array( gis_helper_math_ctx_t math_ctx, double_point_t *out_degrees, uint32_t n_points );

Аргументы:

math_ctx
Указатель на математический контекст.
out_degrees
Указатель на исходный массив, в который будет записан результат преобразования, тип double_point_t
n_points
Количество точек

Библиотека:

gishelper

Описание:

Функция используется для преобразования координат из метров в градусы.

Возвращаемое значение:

EOK
Успешное выполнение
EFAULT
Преобразование завершилось с ошибкой
EINVAL
Некорректный указатель

Примеры использования:

gis_helper_math_ctx_t math_ctx;
gis_helper_math_init_ctx( &math_ctx );
gis_map_projection_t projection;
gis_map_projection_init( &projection );
projection.EPSG = 3857;
gis_helper_math_generate_meters_projection( math_ctx, &projection );
double_point_t points[3];
points[0].x = 3000;
points[0].y = 3000;
points[1].x = 4000;
points[1].y = 4000;
points[2].x = 5000;
points[2].y = 5000;
if ( gis_helper_convert_point_meters_2_degrees_array( math_ctx, &points[0], 3 ) != EOK ) {
printf( "Conversion failed" );
return 1;
}
if (( fabs( points[0].x - 0.026949 ) < 0.0001 && fabs( points[0].y - 0.026949 ) < 0.0001 ) &&
( fabs( points[1].x - 0.035933 ) < 0.0001 && fabs( points[1].y - 0.035933 ) < 0.0001 ) &&
( fabs( points[2].x - 0.044916 ) < 0.0001 && fabs( points[2].y - 0.044916 ) < 0.0001 ))
{
printf( "Correct" );
}
else
{
printf( "Incorrect degree coordinates: %lf %lf", points[0].x, points[0].y );
printf( "Incorrect degree coordinates: %lf %lf", points[1].x, points[1].y );
printf( "Incorrect degree coordinates: %lf %lf", points[2].x, points[2].y );
return 1;
}

Классификация:

ПК ЦКИ для ЗОСРВ «Нейтрино»

Безопасность использования
Обработчик прерываний
Нет
Обработчик сигналов
Нет
В потоке
Да

Тематические ссылки:

gis_helper_math_ctx_t, gis_helper_convert_point_degrees_2_meters()




Предыдущий раздел: Описание API картографического фреймворка