Цитата |
---|
// Установить общие параметры проекции документа для отображения, // печати и расчета координат // hmap - идентификатор открытых данных (документа) // Структуры MAPREGISTER, DATUMPARAM и ELLIPSOIDPARAM описаны в mapcreat.h // type - тип локального преобразования координат (см. TRANSFORMTYPE в mapcreat.h) или 0 // parm - параметры локального преобразования координат (см. mapcreat.h) // Устанавливать общие параметры проекции можно для документа // поддерживающего пересчет геодезических координат (mapIsGeoSupported() != 0) // После установки общих параметров проекции изображение карты формируется // в заданной проекции. Векторные карты, матрицы и растры, имеющие другие параметры // трансформируются в процессе отображения. // Все операции с координатами (mapPlaneToGeo, mapGeoToPlane, // mapPlaneToGeoWGS84, mapAppendPointPlane, mapInsertPointPlane, // mapUpdatePointPlane, mapAppendPointGeo и другие) выполняются // в системе координат документа, определяемой общими параметрами проекции // При чтении\записи координат в конкретной карте выполняется пересчет // из системы координат документа // Например, при записи координат из WGS84 на карту в СК-42 можно // установить общие параметры документа, как "Широта/Долгота на WGS84" // и выполнить запись координат функцией mapAppendPointGeo, не заботясь // о дополнительном пересчете координат, или считать координаты функцией // mapGetGeoPoint (или функцией mapGetGeoPointWGS84, игнорирующей параметры // документа). // Чтобы установить текущие параметры проекции и системы координат, как у первой // карты в документе можно передать в качестве параметров (кроме hMap) нули, // или вызвать mapClearDocProjection. // При ошибке возвращает ноль
_MAPIMP long int _MAPAPI mapSetDocProjectionPro(HMAP hMap, MAPREGISTEREX * mapreg, DATUMPARAM * datum, ELLIPSOIDPARAM * ellparm, long int ttype, LOCALTRANSFORM * tparm);
_MAPIMP long int _MAPAPI mapSetDocProjection(HMAP hMap, MAPREGISTEREX * map, DATUMPARAM * datum, ELLIPSOIDPARAM * ellparm);
// Сбросить параметры проекции документа _MAPIMP long int _MAPAPI mapClearDocProjection(HMAP hMap);
|
Заполнить структуры параметров проекции по коду EPSG (для WGS-84 = 4326):
Цитата |
---|
// Запросить параметры проекции и системы координат по коду EPSG // Если код EPSG задает геодезическую или геоцентрическую систему координат, // то устанавливается проекция Широта\Долгота и соответствующие // параметры эллипсоида и датум // Если код EPSG задает плоскую прямоугольную систему координат, // то все параметры устанавливаются из базы EPSG // epsgcode - код EPSG, для СК-42 зоны 2-32 : 28402-28432, для СК-95 зоны 4-32: 20004-20032 // mapreg - параметры системы координат и проекции // datum - параметры пересчета с эллипсоида рабочей системы координат к WGS84 // ellipsoid - параметры пользовательского эллипсоида для рабочей системы координат // Для геодезических систем координат возвращает 2, для геоцентрических - 3, // для плоских прямоугольных - 1 // При ошибке возвращает ноль
_MAPIMP long int _MAPAPI mapGetParametersForEPSG(long int epsgcode, MAPREGISTEREX * mapreg,DATUMPARAM * datum, ELLIPSOIDPARAM * ellipsoid);
|