Здравствуйте господа разработчики !
Имеется обзорно-географическая карта в системе коодринат ПЗ90.02
ПО данной карте создаю пользовательскую карту по всем канонам 11-й версии.
Код:
[code]
FullPath:=Trim(ExtractFilePath(mapGetMapPath(FMap)))+'\'+SiteName+'.sit';
// подготовка карты
FillChar(MR, Sizeof(TMAPREGISTEREX),0);
FillChar(SH, Sizeof(TLISTREGISTER),0);
FillChar(FSiteEx, Sizeof(TCREATESITEEX),0);
FillChar(FEllips, Sizeof(TELLIPSOIDPARAM),0);
FillChar(FDatum, Sizeof(TDATUMPARAM),0);
// взял параметры с основной карты DEBUG:
//(Length:0; Name:('С', 'и', 'с', 'т', 'е', 'м', 'а', #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, #0, //#0, #0, #0, #0); Scale:25000; ProjectionFlag:1; EllipsoideKind:10; HeightSystem:1; MaterialProjection:17; CoordinateSystem:9; PlaneUnit:0; HeightUnit:0; FrameKind:2; MapType:15; DeviceCapability:1; DataProjection:1; OrderViewSheetFlag:0; FlagRealPlace:1; ZoneNumber:0; FirstMainParallel:0; SecondMainParallel:0; AxisMeridian:1.8221237391; MainPointParallel:0.90989831671; PoleLatitude:0; PoleLongitude:0; FalseEasting:500000; FalseNorthing:0; ScaleFactor:1; TurnAngle:0; Reserv2:(0, 0, 0, 0))
mapGetSiteInfoEx(FMap, FMap, MR, SH, 1);
// взял датум DEBUG: (DX:-0.36; DY:0.08; DZ:0.18; RX:0; RY:0; RZ:0; M:0; Count:7; Reserve:0)
mapGetSiteDatum(FMap, FMap, FDatum);
// взял параметры эллипсоида DEBUG: (SemiMajorAxis:6378136; InverseFlattening:0.0033528037431)
mapGetSiteEllipsoidParameters(FMap, FMap, FEllips);
with FSiteEx do
begin
Length := Sizeof(TCREATESITEEX);
MapType := MR.MapType;
MaterialProjection := MR.MaterialProjection;
EllipsoideKind := MR.EllipsoideKind; // переношу эллипсоид с карты (MR.EllipsoideKind:10;)
Scale := MR.Scale;
FirstMainParallel := MR.FirstMainParallel; // Первая главная параллель
SecondMainParallel := MR.SecondMainParallel; // Вторая главная параллель
AxisMeridian := MR.AxisMeridian; // Осевой меридиан
MainPointParallel := MR.MainPointParallel; // Параллель главной точки
PoleLatitude := MR.PoleLatitude; // Широта полюса проекции
PoleLongitude := MR.PoleLongitude; // Долгота полюса проекции
end;
// создание карты
StrPLCopy(FSiteEx.MapName, Trim(SiteName), 32);
FillChar(buff[0], 256, #0);
mapGetRscFileName(FRsc, @buff[0], 256);
result:= mapCreateSiteEx(PChar(FullPath),buff, FSiteEx);
if FDatum.count<>0 then mapSetSiteDatum(result,result,FDatum); //установил датум
mapSetSiteEllipsoidParameters(result,result,FEllips); // установил эллипосид
mapSaveSite(result,result,1); // сохранился
mapCloseData(result); // закрылсч
[/code]
где:
FMap - исходная карта "Система"
FRsc - классфикатор по которому создаётся карта
-------------
что получил:
ПАСПОРТ ИСХОДНОЙ КАРТЫ:
[img]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img009.JPG[/img]
ПАСПОРТ РЕЗУЛЬТИРУЮЩЕЙ КАРТЫ :
[img]http://delphi-gis.ucoz.ua/Images/ForForum/2014/img010.JPG[/img]
ВОПРОС: почему изменился эллипосид :?: