关键词不能为空

当前您在: 主页 > 英语 >

YimaEncSDK 3.3 开发文档_3.3.1.1_dll_embedded version

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-08 04:54
tags:

-

2021年2月8日发(作者:pottery)


































































上海意玛软件






YIMAENC SDK



开发文档







产品版本:


3.3



文档版本:


3.3.1.0


更新日期:


2008-09-10


版权所有


YIMASOFT


































































上海意玛软件




YimaEnc


文件结构



YimaEnc


组件包括



YimaEnc


核心控件







S57Lib”

< br>目录下的


7


个库文件



S57ObjectClasses



S57A ttributes



S57Colours

< br>,


S57Symbols



S5 7ComplexLineStyles



S57Patter ns



S57LookupTable


组成。


这些库文件一般情况下您不需要也不建议改动,


但如果有 特别的需求,


在熟悉库文件的定义规则和结构的情况下,可以做一些扩展或改动。




?


< p>
S57ObjectClasses


中是所有


S5 7


所有的物标类


(Object


Class,



YimaEnc


中也称为图层


--Layer)


的定义, 包括每个类别的名称,缩略语,和所包含的特征属性列表。您可以自


行更改名称项,如在 开发中文系统时将每项名称翻译成中文。您也可增加自己的物标类


定义。




?



S57Attributes


中是所有


S57


的物标特征属性


(feature

< br>attribute)


的定义,包括每个属性的名


称,< /p>


缩略语,


数据类型和枚举


(enmu)< /p>


或列表


(list)


类型的各项枚举值。


您可以自行更改名称


项,如在开发中文系统时将每项名称翻译成 中文。您也可增加自己的物标特征属性定义。




?



S57Colours


中是所有


S52


定义的


5


种颜色模式


(Color


Mode l)


下的颜色列表。包括


DAY_BRIGHT



DAY_WHITEBACK


DAY_BLACKBACK



DUSK

< br>,


NIGHT


五种模式


下的所 有颜色的缩略语,视觉颜色,


CIE 3


分量,


RGB 3


分量值。




?



S57Symbols

< p>
中是所有


S52


的点物标符号定义。


您可以在熟悉


S52


符号定义规则的前提下,


增加定义自己的点物标符号。




?



S57ComplexLineS tyles


中是所有


S52


的线物标循 环符号定义。您可以在熟悉


S52


符号定


义规则的前提下,增加定义自己的线物标符号。




?



S57Patterns


中是所有


S52


的面物标填充符号定义。您可以 在熟悉


S52


符号定义规则的前


提下, 增加定义自己的面物标符号。



































































上海意玛软件




?



S57LookupTable< /p>


中是所有


S52


的物标对象显示风格规则 定义。





说明,



YimaEnc


中,


您对


S57


定义的物标类及其显示规则的扩展可 以通过两种方式实现:



1





按照


S57


每个库文件的规则扩展


S57


库文件本身,


这样每一个


YimaEnc


的海图


(cell)

< br>本身的结构都会相应扩展。如增加了一个物标类即图层


,


并定义了其显示风格,则所



YimaEnc


打开的海图结构中都多了该图层,您可以向在图层中添加和编辑物标对


象。










但这种方式要求您对


S57



S52


标准有较深的理解并且严谨遵守


S57


库文件的定义


规则,由于


S57



S52


标准的定义规则较复杂,如果更改不当,很 容易破坏


S57


的文件结


构。所以该方 式的实行一般是客户提出扩展需求,由


Yimasoft


来帮助 客户实现库文件扩展


定义,然后客户再利用


YimaEnc SDK


提供的编辑接口进行数据编辑。




2





使用


YimaEnc


提供的航行图


MarineMap


接口来自定义图层 和图符进行用户海图扩


展,如自定义航线层,停泊港层等。扩展文件的结构定义相对简单 易掌握,只包括




MarineMap ”


下的



“Layers”






两个文件。其中



“Layers”



文件用于定义所有 自定


义图层,包括它们的层名,地理类型,属性列表,画图风格。






































































上海意玛软件



YimaEnc


软件内部结构及功能概要



海图管家


*.001


*.002


...

< br>*.000


*.ymc


海图绘制器



海图库


海图 储存室



Map Files


Ca che)



Ma[




,



海图信息表


Maps Info Table


Map 0 Info


Map 1 Info


Map 2 Info


Map 3 Info


Map 4 Info


Mem Map m


Map n Info


内存海图序列


Mem Map 0


Mem Map 1


Screen A


Scale


Mem Map 2


Mem Mapl 3


Screen B



一个组件对象内有一个海图管家,它负责所有的海图管理和 显示任务,而海图管家管理


和维护着一个海图库,一个内存海图序列,一个海图绘制器及 多个海图屏幕窗口。通过调用


海图管家的操作接口函数,您可以实现以下所有功能:




1.


海图库管理和内存海图序列的管理功能


(ENC maps operations)


2.


海图绘制器的管理


(MapDrawer operations)


3.


海图显示控制


(Display operations)


4.


坐标转换与地理计算


(Coordinate Conversion)


5. S52


显示全局参数控制


(Global S52 options control)


6.


海图物标查询和高亮功能


(Query and Hightlight operations)







内存海 图序列是加载到内存中的海图单元


(Map)


数组。

< p>


海图管家负责从海图库的海图储


存室中加载海图 文件到内存海图序列,并负责根据内存海图序列中的索引信息选出需要在海


图屏幕绘制的 海图物标对象来绘制。并在内存海图序列的海图数量超出内存限制时卸载暂时


不需要绘制 的海图单元。




































































上海意玛软件



海图库由一个称为海图储存室


(Map


Files


Cache)


的文件目录


< p>



mapLib”



和一个海图信息


表组成


(Maps Info Table)


组成。




海图储存室中存储着海图库中每个海图单元



(Map)


对应的最新版本的


Yimap


File


海图


文件,


而这些



*.ymc


文件即 是内存海图序列的动态加载文件对象。


存为


Yimap File


文件的目


的是为了加快加载速度。




海图管家每打开一个海图文件


(


可以是


Base Map, Update Map



Yimap File


三种格 式


)




会自 动转换成对应的


*.ymc


文件并覆盖海图储存室对应的海图单 元的


ymc


文件,并同时更新


海图信息 表的对应记录。




海图管家可以自动进行内存海图序列的管理:




1




自动加载海图



在每一次刷新显示前,


根据当前屏幕区域,


比例尺和屏幕偏移量及海图信息表中


的信息判断海图库哪些海图单元需要加载,


如果某个单元需要加载且当 前不在内存海


图序列中,


则海图管家自动从海图储存室中将该单 元的


*.ymc


文件加载到内存海图序


列中。


其加载方式可分为全部加载和部分加载两种。


其中部分加 载有按图层加载,



域加载和最小比例尺加载和综合过滤加载几 种方式。




2




自动卸载海图



在每一次进行自动加载 海图单元或批量加载前,


海图管家会判断当前系统内存余


量是否 足够加载新的单元,


如果余量不足,


则会从内存海图序列中自动 卸载海图管家


认为近期使用可能性最小的一个或多个海图单元。




您亦可自行管理内存海图序列,如可执行以下操作:加载海图 ,卸载海图,内存海图序


列元素位置控制


(

从而控制重叠海图的显示顺序


)




































































上海意玛软件



多窗口应用支持



YimaEnc < /p>


可支持多窗口海图屏幕的应用,该性能可用于多级鸟瞰图应用或多点监控的应


用。一个海图绘制器可以为多个海图屏幕绘制海图,但您需自行维护每个窗口的初始参数和

< p>
当前参数。每个海图屏幕窗口的参数包括:



1.



窗口大小



(Window size)


2.



零点偏移量


(original offset point),


即海图区域相对于海图屏幕窗口的零点偏移量。



3.



当前比例尺和当前屏幕偏移量。



一般而言,您需为每个海图屏幕窗口保存一组上述参数:



1)



在本窗口的所有改变大小,零点 偏移量,比例尺和当前屏幕偏移量的操作后,


将更改后的参数保存



2)








绘< /p>









< p>













使



RefreshDrawer,


SetCurrentScale,




SetMapOffset


三个函数来恢复前面存储的


本窗口的屏幕窗口参数







开发要点





1.


经纬度坐标参数说明


:








经纬度坐标值为



4


字节整型数


,

< br>其数值为以度为单位的小数经纬度坐标值乘以一个固


定的乘积因子


(multiFactor = 10000000);








西经为负数;南纬为负数;






2.



in



型参 数用于向函数传入处理信息,


一般应传入该参数所需类型的值类型;


(out)



参数用于函数返 回处理结果,要求传入为该参数所需类型的引用类型


,




VB


中直 接传入相


应类型的变量,在



C# < /p>


中注意需加前缀








3.


几个


Pos

的概念:











YimaEnc


中对象的索引为该对象在其序列中的位置


,

< br>是起始值为


0


的整型数


,





作为后缀


,


这包括:



































































上海意玛软件



?



几个一维


Pos
















#



libMapPos



:海图在图库中的索引















#



memMapPos



:内存海图序列中某幅海图的索引
















#



layerPos



:图层索引















#



innerLayerObjectPos



:物标在图层内部的索引















#



attrPos



:属性索引




?



两个多维


Pos












#



MEM_GEO_OBJ_POS




用于在整个内存海图序列中唯一标识一个物标,


包括

< p>
3


个子索引,即


memMapPos, layerPos, innerLayerObjPos













如在



VB


中定义如下:











Private Type MEM_GEO_OBJ_POS












memMapPos








As Long








'


物标所 在海图在内存海图序列中的索引













layerPos












As Long








'


物标所在图层













innerLayerObjPos




As Long








'


物标在图层内部的索引











End Type









#



M_GEO_OBJ_POS



< /p>


用于在某一确定的海图内唯一标识一个物标,包括


2



子索引,即



layerPos, innerLayerObjPos









4.



YIMAENC


常用基本数据类型


:


#



M_POINT





typedef struct M_POINT


{



int x;



int y;


} M_POINT;



定义


:


坐标点,


可以是屏幕坐标点或地理坐标


. < /p>


屏幕坐标一般以像素为单位,


地理


坐标的


x,


y


值分别为以度为单位的小数经 纬度坐标值乘以一个固定的乘积因子


(multiFactor


=


10000000);



#



M_COLOR





typedef struct M_COLOR


{



unsigned char r;



unsigned char g;



unsigned char b;




unsigned char reserve;


































































上海意玛软件



}


定义


:


颜色结构体,


r, g, b 3


个属 性分别代表


3


个颜色基本分量,


res erve


为保留属



;





































































































上海意玛软件



方法列表:



1.



bool



Init


()


海图管家基本操作


(Basic Operations)


功能描述


:



初始化海图管家,包括读入所有海图配置文件及其它初始化工作。




2.


?



海图库管理和内存海图序列的管理功能


(ENC maps operations)


图库管理



bool



OpenMap


(


const char*



pStrMapPath


)



功能描述


:


打开一幅海图到海图库。




void


CloseMap


(


int



libMapPos


)


功能描述


:



从海图库中删除某幅海图。




int



GetLibMapCount


( )


功能描述


:



得到海图库中海图总数。




bool


GetLibMapInfo


(


int



iLibMapPos


,


char*



pStrMapName


,


float*



pOriginalScale


,


int*



pLeftMost


,


int*



pRightMost



,


int*



pUpMost



,


int*



pDownMost



,


int*



pEditionNum



,


int



*


pUpdateNum




,



int*



pScaleMin


)


功能描述


:



得到海图库中某幅海图的信息。




bool



IsMapInCurrentScrn


(


int



libMapPos


)


功能描述


:



判断海图库中某幅海图是否在当前显示屏幕中。此函数一般用于决定是否将海图


库中某 幅海图调入内存海图序列中。




?



内存海图序列管理



(注意



YIMAENC


支持内存海图序列自动调度管理


,


所 以除非有特殊需求一般


该功能块函数不必使用)



int



GetMemMapCount


( )


功能描述


:



得到内存海图序列海图总数。



































































上海意玛软件




int



GetMemMapPosInLib


(


int



memMapPos


)


功能描述


:



得到内存海图序列某一海图在海图库中的位置。




bool



InterChangeTwoMapPos


(


int



firstMemMapPos


,


int



secondMemMapPos


)


功能描述


:



交换内存海图序列中两幅海图的位置,从而让大比例尺海图在小比例尺海图之上


显示。




bool



LoadMapToMemory


(


int



libMapPos


)


功能描述


:



将海图库中某幅海图加载到内存海图序列中。




bool



UnloadMapFromMemory


(


Int16



memMapPos


)


功能描述


:



卸载内存海图序列的某一幅海图。




bool



MoveMapPos


(


int



oldMemMapPos


,


int



newMemMapPos


)


功能描述


:



将内存海图序列中的某幅海图移动到一个新的位置。




3.


海图绘制器的管理


(MapDrawer operations)


bool



RefreshDrawer



(


HWND


hwnd



,


int



scrnWidth



,


int



scrnHeight



,


int



scrnOrgOffsetPoX



,


int



scrnOrgOffsetPoY


)


功能描述


:



为一个新的屏幕窗口或改变了大小的屏幕窗口刷新或称重新初始化海图绘画器。


海图管 家有一个海图绘制器,该海图绘制器由一个主屏幕窗口初始化,但可绘制多个辅屏幕


窗口 ,一般情况下要求这些窗口的屏幕大小和主屏幕窗口一致。




HDC



GetDrawerHDC


(



)


功能描述


:



得到海图绘画器的窗口环境句柄。




HWND



GetDrawerHWnd


(



)


功能描述


:



得到海图绘画器的窗口句柄。




int



GetDrawerScreenHeight


(



)


功能描述


:



得到海图绘画器的窗口高度。



































































上海意玛软件




int



GetDrawerScreenWidth


(



)


功能描述


:



得到海图绘画器的窗口宽度。



4.


海图显示操作


(Display operations)


bool



DrawMapsInScreen


(


HDC



hdc


)


功能描述


:



在屏幕中绘制海图。




bool



DrawDragingMap


(


HDC


destHDc


,


M_POINT



curDragMousePo


,


M_POINT



dragStartPoX


)


功能描述


:



在屏幕中


拖动海图,一般用于使用鼠标拖动的手动漫游功能。




float



GetCurrentScale


( )


功能描述


:



得到当前比例尺。




void


SetCurrentScale


(


float



scale


)


功能描述


:



设置海图绘制器当前比例尺。




void


SetMapOffset


(


int



scrnOffsetX


,


int



scrnOffsetY


)


功能描述


:



设置海图绘制器的屏幕偏移量。




void


SetMapMoreOffset


(


int



scrnMoreOffsetX


,


int



scrnMoreOffsetY


)


功能描述


:



设置海图绘制器更多的屏幕偏移量。




void


CenterMap


(


M_POINT



centerPoGeoCoor


)


功能描述


:



使海图的某一点移到屏幕中心,或称将屏幕中心对准某一经纬度坐标。




void


RotateMapByScrnCenter


(


float



fRotateAngleByDegree


)


功能描述


:



旋转海图屏幕,注意是以屏幕中心点为中心点进行旋转。该函数一般用于船首向


上的显 示模式中,注意应结合



CenterMap



使用,先使用



CenterMap


将本船位置居中,然


后再调用本函数将屏幕旋转。


注意


!!



两个函数调用的顺序不可颠倒!




float



GetMapRoatedAngle


( )


功能描述


:



得到当前海图屏幕旋转角度。




bool



OverViewLibMap


(


int



libMapPos


)


功能描述


:



准备概览海图库中某副海图,


如果该海图不在内存海图序列中,


则会被自动加载。




bool



HighLightSelectedObject


(


MEM_GEO_OBJ_POS



objPos


,


M_COLOR



pointHighlightColor


,


M_COLOR


lineHighlightColor


,


int



lineHighlightWidth


,


M_COLOR


areaHighlightColor


,


bool



ifCenterTheObject


)


功能描述


:



高亮显示某个选中的物标。



































































上海意玛软件



5.


坐标转换与地理计算


(Coordinate Conversion)


int



GetGeoCoorMultiFactor


( )


功能描述


:



得到经纬度坐标乘积因子。




float



GetGeoLenFromScrnLen


(


int



scrnLen


,


bool



bScrCorrByPixelUnits


)




功能描述


:



得到屏幕长度对应的实际地理长度。




float



GetScrnLenFromGeoLen


(


float



geoLenByMm


,


bool



bScrCorrByPixelUnits


)


功能描述


:



得到某一地理长度对应的屏幕长度。




M_POINT


GetSpherePoFromMyScrnPo


(


M_POINT



scrnPoint


)


功能描述


:



得到屏幕坐标对应的地理坐标值。




M_POINT


GetMyScrnPoFromSpherePo


(


M_POINT



geoPoint


)


功能描述


:



得到某一地理坐标位置对应的屏幕坐标。




double



GetDistBetwTwoPoint


(


M_POINT


geoStartPo


,


M_POINT


geoEndPo


)


功能描述


:



得到两个地理坐标点之间的距离。




double



GetBearingBetwTwoPoint


(


M_POINT


geoStartPo


,


M_POINT


geoEndPo


)


功能描述


:



得到两个地理坐标点连线的角度方位。




M_POINT


GetDesPointOfCrsAndDist


(


M_POINT


startGeoPo


,


double



distance


,


double



course


)


功能描述


:



得到以起始点为中心相距某一距离值和某一方位的目标点。




6.


S52


显示全局参数控制


(Global S52 options control)


ENC_COLOR_GROUP



GetColorModel


( )


功能描述


:



得到当前海图颜色模式。




void


SetColorModel


(


ENC_COLOR_GROUP



colorGroupNum


)


功能描述


:



设置海图颜色模式。




DISPLAY_CATEGORY_NUM



GetDisplayCategory


( )


功能描述


:



得到当前显示类别。




void


SetDisplayCategory


(


DISPLAY_CATEGORY_NUM



dspCtgry


)


功能描述


:



设置海图显示类别,包括底层显示,标准显示和全部显示三种。



typedef enum DISPLAY_CA


TEGORY_NUM




{


































































上海意玛软件




DISPLAYBASE = 0,



STANDARD = 1,



OTHER = 2,





}DISPLAY_CA


TEGORY_NUM;




bool



GetLanguage


( )


功能描述


:



得到当前显示语言是否英语。




void


SetLanguage


(


bool



bEnglishOrNational


)


功能描述


:



设置海图显示语言。




float



GetSafetyDepth


( )


功能描述


:



得到当前安全深度。




void


SetSafetyDepth


(


float



depth


)


功能描述


:



设置安全深度。




bool



GetUsingTraditionOrSimpleSymbol


( )


功能描述


:



得到当前使用简单海图符号模式还是传统符号模式。




void


SetUsingTraditionOrSimpleSymbol


(


bool



bUseTradSymbol


)


功能描述


:



设置使用传统海图符号还是简单海图符号。




bool



GetUsingPlainOrSymbolBndry


( )



功能描述


:



得到当前使用平滑边界模式还是符号边界模式。




void


SetUsingPlainOrSymbolBndry


(


bool



bUsePlainOrNot


)


功能描述


:



设置使用平滑边界还是符号边界。




7.



海图物标查询功能


(Query operations)


?



物标地理类型及坐标查询



int



GetObjectGeoType


(


MEM_GEO_OBJ_POS



objectPos


)


功能描述


:



得到某一物标的几何类型。



typedef enum M_GEO_TYPE




{




TYPE_NULL = -1,



TYPE_POINT = 0,



TYPE_LINE = 2,













TYPE_FACE = 3,













TYPE_COMBINED_OBJECT = 10


}M_GEO_TYPE;


































































上海意玛软件




bool



GetPointObjectCoor


(


MEM_GEO_OBJ_POS



objectPos


,


int



pPointCoorX


,


int



pPointCoorY


)


功能描述


:



得到点


(POINT)


对象的点坐标


,


注意是地理坐标而非屏幕坐标。




int



GetLineObjectCoorCount


(


MEM_GEO_OBJ_POS



objectPos


)


功能描述


:



得到线


(LINE)


对象的外边的所有点坐标个数。




int



GetLineObjectCoors


(


MEM_GEO_OBJ_POS



objectPos


,


M_POINT*



retGeoPoints


)


功能描述


:



得到线


(LINE)


对象的外边的所有点坐标


,


注意是地理坐标而非屏幕坐标。




int



GetFaceInnerBndryCoorCount


(


MEM_GEO_OBJ_POS



objectPos


,


int



innerBoundryPos


)


功能描述


:



得到含有内边的面


(FACE)


对象的某条内边


(Inner Boundary)


的所有点坐标个数。




int



GetFaceInnerBndryCoors



(


MEM_GEO_OBJ_POS



objectPos



,


int



innerBndryPos



,


M_POINT*




retGeoPoints


)


功能描述


:



得到含有内边的面


(FACE)


对象的某条内边的所有点坐标


,


注意是地理坐标而非屏


幕坐标。




int



GetFaceInnerBndryCount


(


MEM_GEO_OBJ_POS



objectPos


)


功能描述


:



得到面


(FACE)


对象的所含内边


(Inner Boundary)


个数。




int



GetFaceOutBndryCoorCount


(


MEM_GEO_OBJ_POS



objectPos


)


功能描述


:



得到面


(FACE)


对象的外边的所有点坐标个数。




int



GetFaceOutBndryCoors


(


MEM_GEO_OBJ_POS



objectPos


,


M_POINT*



retGeoPoints


)


功能描述


:



得到面


(FACE)


对象的外边的所有点坐标,注意是地理坐 标而非屏幕坐标。




?



统一图层查询与管理



int



GetLayerCount


( )


功能描述


:



得到图层


(


或称物标类别


(Obje ct Class))


总数。




void


SetLayerDrawOrNot


(


int



layerPos


,


bool



bDrawOrNot


)


功能描述


:



设置某一图层显示与否。




bool



GetLayerDrawOrNot


(


int



layerPos


)


功能描述


:



得到某一图层当前是否显示。




void


SetAllLayerDrawOrNot


(


bool



bDrawOrNot


)


功能描述


:



将所有图层都设为显示或隐藏。




bool



GetLayerInfo


(


int



layerPos


,


char*



retLayerName


,


char *



retLayerNameToken


,


int



retAttrCount


)


































































上海意玛软件



功能描述


:



得到某一图层的信息


,


包括图层名称


,


缩略名


,


属性总数。




bool



GetLayerObjectAttrInfo


(


int



layerPos


,


int



attrPos


,


int



retDataTypeID


,


char *



retAttrName


,


char *



retAttrToken


)


功能描述


:



得到图层某一物标特征属性的信息。




int



GetLayerObjectCountOfMap


(


int



memMapPos


,


int



layerPos


)




功能描述


:



得到内存中某幅海图的某一图层中所有地理物标总数。




int



GetLayerPosByToken


(


char *



strLayerToken


)


功能描述


:



得到某缩略名标识的图层的位置。




?



物标特征属性查询



bool



GetObjectAttrValue


(


MEM_GEO_OBJ_POS



objectPos



,


int



attrPos



,


char


*



pDesVal


,


bool


*



pFieldValFilled


)


功能描述


:



得到某一物标的属性值,


属性值返回



pDesVal


指针指向的变量中,


注意如果是非


字符串型的属性,传入


pDesVal

< p>
参数前要强制转化下指针。代码范例如下:







MEM_GEO_OBJ_POS objPos(0, 1, 1);





int attrPos = 0; //


该属性为一个


4


字节整形数






int attrVal = 0;






bool bThisFldFilled = true;





GetObjectAttrValue(objPos, attrPos, (char*)&attrVal, &bThisFldFilled);






?



点击查询



int



SelectObjects ByScrnPo


(


MEM_GEO_OBJ_POS


*



retSelectedObjectPositions



,


int



scrnPoX



,


int



scrnPoY


)


功能描述


:



得到屏幕中某一点点击选中的所有地理物标。注:对于面物标,如果该点在其内


部,则 该物标即被选中。




8.


航行管理


(Marine operations)


?



目标船


( OtherVessel)


及本船


(Ownship)


管理



int



AddOtherVessel



(


bool



bArpaOrAisTarget



,


M_POINT



currentGeoPo


,


float



heading



,


float



courseOverGround


,


float



courseThrghWater


,


float



speedOverGround


,


float



speedThrghWater


)


功能描述


:



添加一个目标船。




































































上海意玛软件



bool



RemoveOtherVessel


(


int



vesselPos


)


功能描述


:



移除某一个目标船。




void


ClearOtherVessels


( )


功能描述


:



清除当前记录的所有其它目标船对象。




int



GetOtherVesselCount


( )


功能描述


:



得到当前目标船个数。




bool



GetOtherVesselCurrentInfo



(


int



otherVesselPos


,


bool*



bArpaOrAisTargetL,


M_POINT*


pCurrentGeoPo


,


float*



pHeading



,


float*



pCourseOverGround



,


float*



pCourseThrghWater



,


float*



pSpeedOverGround


,


float*



pSpeedThrghWater


)



功能描述


:



得到目标船当前信息。




bool



SetOtherVesselCurrentInfo



(


int



otherVesselPos



,


M_POINT



currentGeoPo



,


float



heading



,


float



courseOverGround



,


float



courseThrghWater



,


float



speedOverGround



,


float



speedThrghWater


,



bool


bUseDefaultColor,


M_COLOR


vslColor


)


功能描述


:



设置目标船当前信息。




bool



SetOtherVesselDrawOrNot


(


int



otherVesselPos


,


bool



bDrawOrNot


)


功能描述


:



设置某一目标船是否显示。




bool



HighlightOtherVessel


(


int



otherVesselPos


)


功能描述


:



高亮显示某个目标船。




SHIP_ID



SelectOtherVesselByScrnPoint


(


M_POINT


scrnPoint


)


功能描述


:



得到屏幕中某一点点击选中的目标船。




int



GetOtherVesselID


(


int



vesselPos


)


功能描述


:



得到目标船的


ID





int



GetOtherVesselPosOfID


(


int



vesselID


)


功能描述


:



得到具有某一


ID


的目标船的索引值。




void


SetOwnShipBasicInfo


(


const char *




pStrShipName


,



const char *




pStrMmsi


,



float



shipLength


,


float



shipBreath


)


功能描述


:



设置本船基本信息。




bool



GetOwnShipBasicInfo


(


float*


pS


hipLength


,


float*



pShipBreath



,



const char *




pStrShipName


,



const char *




pStrMmsi


)


功能描述


:



得到本船基本信息。




void


SetOtherVesselBasicInfo


(


int



vesslePos


,



float



shipLength


,


float



shipBreath



,



const char *




pStrShipName


,



const char *




pStrMmsi


)


































































上海意玛软件



功能描述


:



设置目标船当前信息。




bool



GetOtherVesselBasicInfo


(


int



vesslePos


,



float*


pS


hipLength


,


float*



pShipBreath



,



const


char *




pStrShipName


,



const char *




pStrMmsi


)


功能描述


:



得到目标船基本信息。




void


GetOwnShipCurrentInfo


(


M_POINT*




pCurrentGeoPo


,



float*



pHeading


,


float*



pCourseOverGround


,


float*



pCourseThrghWater


,


float*



pSpeedOverGround


,


float*



pSpeedThrghWater


)


功能描述


:



得到本船当前信息。




void


SetOwnShipCurrentInfo



(


M_POINT



currentGeoPo


,


float



heading



,


float



courseOverGround



,


float



courseThrghWater


,


float



speedOverGround


,


float



speedThrghWater


)


功能描述


:



设置本船当前信息。




void


SetDrawShipOptions


(


bool



bSetOwnshipOrOtherVessel


,


bool



bShowCourseAndSpeedVector


,


bool



bShowVectorStablization



,


bool



bShowTimeMarksOnVector



,


bool



bShowHeadingLine



,


int



vectorLenTimePeriod



,


bool



bVectorStableToGroundOrWater



,


int



vectorTimeMarkIntvl



,


int



memStoreTrackPointsLength


,



int



showTrackPointsLength


)


功能描述


:



设置船对象绘制选项。




void


SetDrawOwnShipOptions


(


bool



bDrawOwnShipSymbolOrOutline


,


bool



bShowBeamBearingLine


)


功能描述


:



设置本船对象特有绘制选项。




?



航线管理



WAY_POINT_ID



AddWayPoint


(


M_POINT


geoPo


,



const char*



strUsage


)


功能描述


:



添加一个航路点。




int



GetWayPointsCount


()


功能描述


:



得到当前的航路点的数目。




bool



SetWayPointCoor


(


WAY_POINT_ID


wpID


,



M_POINT



geoPoint


)


功能描述


:



设置航路点的坐标。




bool



GetWayPointCoor


(


WAY_POINT_ID


wpID


,



M_POINT*



pPoint


)


功能描述


:



得到航路点的坐标值。




bool



GetWayPointUsageString


(


WAY_POINT_ID


wpID


,



char*



retStrUsage


)


功能描述


:



得到航路点的用途。




bool



DeleteWayPoint


(


WAY_POINT_ID


wpID


)



功能描述


:



删除航路点。




































































上海意玛软件



bool


DeleteRoute


(


ROUTE_ID



delRouteID)


功能描述


:



删除航线。




int



GetRoutesCount


()


功能描述


:



得到当前航线的数目。





int



GetRouteWayPointsCount


(


ROUTE_ID


routeID


)


功能描述


:



得到航线的航路点的数目。






bool


AddRouteWayPoint


(


ROUTE_ID



routeID


,



long


addWpPos


,



const


WAY_POINT_ID*


addWpIDs


,



long


addWpCount


)


功能描述


:



在一条航线中添加新的航路点,以形成一条新的航线。




bool


DeleteRouteWayPoint


(


ROUTE_ID


routeID


,



long


delWpPos



,



long


delWpCount


)


功能描述


:



删除航线中的航路点。




long


GetRouteWayPoints


(


ROUTE_ID


routeID


,



WAY_POINT_ID*


retWayPointIDs


)


功能描述


:



得到航线的所有航路点的


ID





bool


SetRouteBeP lannedOrAlternated


(


ROUTE_ID< /p>


routeID


,



bool


bPlanedRouteOrAlterated


)


功能描述


:



设置航线是计划航线还是备选航线。




bool


GetRouteBeP lannedOrAlternated


(


ROUTE_ID< /p>


routeID


,



bool*


retBePlanedRouteOrAlterated


)


功能描述


:



得到航线的是计划航线还是备选航线。




bool



SetRouteShowOrNot


(


ROUTE_ID


routeID


,


bool



bShowOrNot


)


功能描述


:



设置航线是否显示。




bool



SetWayPointShowOrNot


(


WAY_POINT_ID


wayPointID


,


bool



bShowOrNot


)


功能描述


:



设置航路点是否显示。




?




航行监控



bool


IsShipApproachingIsolatedDanger


(


M_POINT


ownShipPoint


,



float


distLimitToPointByMeter


)


功能描述


:



判断本船在航行中是否进入了以孤立点为圆心以设定长度为半径的危险区园面。




bool


IsShipCross ingSafetyContour


(


M_POINT



ownShipPoint


,



float


shipVectorCourse


,



float


vectorDistLimitByMeter


)


功能描述


:



判断本船在航行中是否进入了海图中的危险水域,如下图所示:



?



当本船沿其航行方向到安全等深线 的距离小于设定的


verctorDistLimitByMeter

< br>值时


发生报警;



































































上海意玛软件



安全水域


本船沿其航


行方向到安


全等深线的

< br>距离



本船的所


在位置,


箭头方向


表示其航


行的方向

< br>安全等深线


vectorDistLimitByMeter

危险水域



?


< br>当本船沿其航行方向到安全等深线的距离大于设定的


verctorDistLi mitByMeter


值时


则不发生报警。


本船的所


在位置,


箭头方向


表示其航


行的方向


安全水域


本船沿其航


行方向到安


全等深线的

距离



vectorDistLimitByMeter< /p>


安全等深线


危险水域




bool



IsOwnShipOffRoute


(


M_POINT



ownShipPoint


,




ROUTE_ID



routeID


,



float


offRouteDistLimitByMeter )


功能描述


:



判断本船在航行中是否偏离了预定的航线,当本船的位置距离预定航线的最近的


一点的 距离大于设定值时就报警,反之则不会报警。




?



航迹管理



相关概念:



1.


历史航迹库


:




1.1


文件存储:系统所有的历史 航迹存储在航迹库目录



下面


,


每个航



(CEncTrack




)


存储





< br>件


,



完整







,




文件




< /p>




































































上海意玛软件








1.2


内存加载信息:



*


由于程序内存有限


,

< p>
程序启动后默认只从



加载所


有历史航迹的基本信息


,


而不加载


'


点信息


',


如果某个航线需要航点信 息则需


要从



中相应的航迹文件中加载航 点信息


;











*


航迹点信息加载与卸载函数


:








bool CENCMarineMap::LoadTrackPoints(int libTrackPos);








bool CENCMarineMap::UnloadTrackPoints(int libTrackPos);








2.


当前航迹


:















,





< p>



SetOwnShipCurrentInfo()




SetOtherV


esselCurrentInfo()


来刷新当前船舶的位置时要将当前航点信息存入到内存


航迹库中 去


;








3.


当前航迹的保存与历史航迹的自动添加


:

1).




退









到< /p>




,


















2).


在系统每一次启动时,


临时航迹文件




要被读入到内存,继


续记录该段航迹


;



3).


当前航迹不断保存到内存中去


,


直到 新航迹点达到超出时间间隔长度或距离间


隔长度时


,


当前航迹会自动作为一条新历史航迹保存下来


,


这时航迹库添加


1


条历史


航迹


,


当前航迹的点全部清空


,


等待新的航迹点记录


;



bool



SetShipTrack ShowOrNot(


bool



bSetOwnshipOrOtherVessel


,


bool



bSetAllOtherVessel


,


UINT



vesselPos


,


bool



bShowOrNot


,



M_COLOR



showTrackColor


)


功 能描述:


设置目标船的当前航迹是否显示及显示颜色


,


可以对所有目标船整体控制


,


也可以


单个控制。




void



SetShipTrackStorePointInterval


(

< br>bool



bByTimeOrDistance


,


UINT



timeIntervalBySecond


,


float



distIntervalByMeter


)


功能描述:设置航迹逐个点存储间隔方式


,


包括时间间隔或距离间隔两种。




TRACK_ID



GetHisto ryTrackIDFromPos(


UINT



pos



)


功能描述


:



通过位置获取航迹


ID





UINT



GetHistoryTrackPosFromID(


TRACK_ID



trackID



)


功能描述


:



通过航迹


ID


获得位置,如没有该


I D


,则返回


-1




int



GetHistoryTrackCount ()


功能描述


:



获取航迹个数。




bool



DeleteHistoryTrack(



UINT



pos



)



功能描述


:



删除


pos


位的航迹。



































































上海意玛软件




bool



ClearHistoryTracks ()



功能描述


:



(


清除


)



除所有航迹。




int



G etHistoryTrackPointCount(


UINT



trackPos



)



功能描述


:



得到历史航迹点的数量。




int



GetHistoryTrackPoints(



UINT



trackPos


,


M_POINT*



pRetPoints



)



功能描述


:



得到历史航迹的个数。




bool



GetHistoryTrackPoint(



UINT



trackPos


,


UINT



poPos


,


M_POINT*



pRetPoint



)



功能描述


:



获取历史航迹。




bool



SetHistoryTrackInfo(


UINT



trackPos


,


const



char


*


name


= NULL,


const



char*



comment


= NULL,


float


totalDist = 0


)



功能描述


:



设置历史航迹的信息。




bool



GetHistoryTrackInfo(



UINT



trackPos


,


char*



pStrRetName


= NULL,


char*



pStrRetComment


=


NULL,


float*



pTotalDist


= NULL,


M_POINT*



pRetFrstPoint


= NULL,


M_POINT*



pRetLastPoint


= NULL


)



功能描述


:



获取历史航迹的信息。




void



SetNewTrackJ udgeTimeInterval(



int



timeIntervalByMin



)


功能描述


:



对应


AddNewPostionT oTrack()


函数


,


设置新航迹开始的时间间隔判据


,


以分钟为


单位。




void



SetNewTrackJudgeDist(



int



distByMeter


)




功能描述


:



对应


AddNewPostionT oTrack()


函数


,


设置新航迹开始的距离间隔判据


,


以米为单


位。




bool



SaveHistoryTrackPoints(



int



libTrackPos


)



功能描述


:



保存某条历史航迹的信息到航迹库里的航迹文件。




bool



LoadHistoryTrackPoints(



int



libTrackPos



)



功能描述


:



加载某条航迹的所有点信息。




bool



UnloadHistoryTrackPoints(



int



libTrackPos


)




功能描述


:



卸载某条航迹的所有点信息


,


并将其保存到航迹文件中。




bool



ReadOwnShipTrackFromFile( )



功能描述


:



读取本船上次保存的航迹。




bool



SaveOwnShipTrackToFile( )



功能描述


:



保存本船当前航迹。




































































上海意玛软件



bool



SaveHistoryTracksToFile( )



功能描述


:



将当前所有航迹保存到航迹库:



(1)


所有航迹基本信息保存到




文件中


;




(2)


如果有某条的航迹的点信息已载入


,


则将其保存到对应的航迹文件中去。




bool



ReadHistoryTracksFromFile( )



功能描述


:



从航迹库读入航迹到


m_historyTracks


目录< /p>


,


航迹的点信息不读入。




bool



IsHistoryTrackPointsLoaded(



int



libTrackPos


,


bool&



bLoaded



)


功能描述


:



判断航迹的点信息是否已经加载


,


如果没有则需要调用


LoadTrackPoints


将其加载


进 来。




9.


自定义海图管理功能


(Self-Define map operations)


(注意所有自定义海图管理的接口函数均以




TM_




开头)



?



统一图层查询与管理



int



TM_GetLayerCount


( )


功能描述


:



顶层海图操作:得到图层个数。




bool



TM_GetLayerName


(


int



layerPos


,


char *



retLayerName


)


功能描述


:



顶层海图操作:得到图层名。




int



TM_GetLayerObjectCount


(


int



layerPos


)


功能描述


:



顶层海图操作:得到某一图层所含物标个数。




int



TM_GetLayerObjectAttrCount


(


int



layerPos


)


功能描述


:



顶层海图操作:得到图层物标属性个数。




bool



TM_GetLayerObjectAttrName


(


int



layerPos


,


int



attrPos


,


char *



retAttrName


)


功能描述


:



顶层海图操作:得到图层某个物标属性的名称。




int



TM_GetLayerObjectAttrType


(


int



layerPos


,


int



attrPos


)


功能描述


:



顶层海图操作:得到图层某个物标属性的数据类型。




?



物标地理坐标及属性查询



bool



TM_GetPointObjectCoor



(


int



layerPos



,


int



innerLayerObjPos



,


int



retGeoPointX



,


int



retGeoPointY


)


功能描述


:



顶层海图操作:得到某一点物标的坐标点。




int



TM_GetLineObjectCoorCount


(


int



layerPos


,


int



innerLayerObjPos


)


































































上海意玛软件



功能描述


:



顶层海图操作:得到某一线物标所行坐标点个数。




int



TM_GetLineObjectCoors


(


int



layerPos


,


int



innerLayerObjPos


,


char *



retGeoPoints


)


功能描述


:



顶层海图操作:得到某一线物标所有坐标点。




int



TM_GetFaceObjectCoorCount


(


int



layerPos


,


int



innerLayerObjPos


)


功能描述


:



顶层海图操作:得到某一面物标所有坐标点个数。




int



TM_GetFaceObjectCoors


(


int



layerPos


,


int



innerLayerObjPos


,


char *



retGeoPoints


)


功能描述


:



顶层海图操作:得到面对象坐标点。




bool



TM_GetObjectAttrValueString



(


int



layerPos



,


int



innerLayerObjPos



,


int



attrPos



,


char


*



retAttrValString


)


功能描述


:



顶层海图操作:得到某一物标的属性值字符串。



?



物标编辑



bool



TM_AppendObjectInLayer


(


int



layerPos


)


功能描述


:



顶层海图操作:在某一图层上添加一个物标。




bool



TM_DeleteGeoObject


(


int



layerPos


,


int



innerLayerObjPos


)


功能描述


:



顶层海图操作:在某一图层上删除一个物标。




bool



TM_SetPointObjectCoor


(


int



layerPos


,


int



innerLayerObjPos


,


int



geoPoX


,


int



geoPoY


)


功能描述


:



顶层海图操作:设置某一点物标的坐标点。




bool



TM_SetLineObjectCoors



(


int



layerPos



,


int



innerLayerObjPos



,


int



geoPoCount



,


char


*



pGeoPoints)


功能描述


:



顶层海图操作:设置某一线物标的所有坐标点。




bool



TM_SetFaceObjectCoors



(


int



layerPos



,


int



innerLayerObjPos



,


int



geoPoCount



,


char


*



pGeoPoints


)


功能描述


:



顶层海图操作:设置某一面物标的所有坐标点。




bool



TM_SetObjectAttrValueString



(


int



layerPos



,


int



innerLayerObjPos



,


int



attrPos



,


char


*



srcAttrValString


)


功能描述


:



顶层海图操作:使用属性值字符串设置某一物标的某一属性值。




?



点击查询



int



TM_SelectObjectsByScrnPo


(


int



scrnPointX


,


int



scrnPointY


,


char *



retObjPoses


)


功能描述


:



顶层海图操作:得到屏幕中某一点点击选中的所有顶层海图地理物标。




































































上海意玛软件



?



数据文件操作



bool



TM_OpenMapDataFile


(


char *



strFilePathName


)


功能描述


:



顶层海图操作:读入顶层海图数据文件到顶层海图。




bool



TM_SaveToMapDataFile


(


char *



strFilePathName


)


功能描述


:



顶层海图操作:保存顶层海图数据到顶层海图数据文件。




10.


其它功能



bool



SaveScrnToBmpFile


(


const char *



pStrFileName


)


功能描述


:



保存屏幕海图图像到指定路径的


bmp


图片。




bool



IsGeoPointSelectByScrnPoint


(


M_POINT



scrnPoint


,


M_POINT



geoPoint


)


功能描述


:



判断某一点物标是否被屏幕上的一点所选中


,


一般用于判断鼠标是否选中某一对


象。




bool



IsGeoLineSelectByScrnPoint



(


M_POINT



scrnPoint


,


const


M_POINT*



geoLinePoints



,


int



linePoCount


)



功能描述


:



判断某一线物标是否被屏幕上的一点所选中


,


一般用于判断鼠标是否选中某一对


象。




bool



IsGeoFaceSelectByScrnPoint



(


M_POINT



scrnPoint


,


const


M_POINT*



faceGeoPoints



,


int



facePoCount


)


功能描述


:



判断某一面物标是否被屏幕上的一点所选中


,


一般用于判断鼠标是否选中某一对


象。




bool



AddHighLightPointObject


(


M_POINT


geoPoint


)


功能描述


:



添加高亮的点物标。




bool



AddHighLightLineObject


(


const M_POINT*



linePoints


,


int



linePoCount


)




功能描述


:



添加高亮的线物标。




bool



AddHighLightFaceObject


(


const M_POINT*




pFacePoints


,


int



facePoCount


)


功能描述


:



添加高亮的面物标。




void


ClearHighLightPoint


Object


()


功能描述


:



清除所有使用


AddHighLightPoint


添加的高亮点物标的高亮效果。




void


ClearHighLightLine

< p>
Object


()


功能描述


:



清除所有使用


AddHighLightLine


添加的高亮线物标的高亮效果。




































































上海意玛软件



void

< p>
ClearHighLightFace


Object

()


功能描述


:



清除所有使用


AddHighLightFace


添加的高亮面物标的高亮效果。




































































上海意玛软件



接口函数说明



////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////


定义



bool


AddHighLightFaceObject (


M_POINT*



pFacePoints


,


int



facePoCount


)



功能描述






添加高亮的面物标。




返回值






返回操作是否成功。




参数说明







pFacePoints


: (in)


待高亮的面物标的地理坐标点数组


;


facePoCount


: (in)


添待高亮的面物标的地理坐标点个数


;



/////////////////////////// ////////////////////////////////////////////////// /////////////////////////////////////////////////



定义



bool


AddHighLightLineObject (


M_POINT*



linePoints


,


int



linePoCount


)



功能描述






添加高亮的线物标。



返回值






返回操作是否成功。




参数说明







linePoints


: (in)


待高亮的线物标的地理坐标点数组


;


linePoCount


: (in)


添待高亮的线物标的地理坐标点个数


;



/////////////////////////// ////////////////////////////////////////////////// /////////////////////////////////////////////////


定义



bool


AddHighLightPointObject (


M_POINT



geoPoint


)



功能描述






添加高亮的点物标。




返回值






返回操作是否成功。




参数说明



geoPoint


: (in)


待高亮的点物标的地理坐标


;



///////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////////////////



定义



































































上海意玛软件



int



AddOtherVessel


(


bool



bArpaOrAisTarget


,


M_POINT



currentGeoPo,


float



heading


,


float



courseOverGround


speedThrghWater )



,


float



courseThrghWater


,


float



speedOverGround


,


float



功能描述






添加一个目标船。




返回值







返回添加的目标船的


ID.


注意该< /p>


ID


为从


1


开始 编号。




参数说明







bArpaOrAisTarget


: (in)

< p>
目标船是


ARPA


对象还是


AIS


对象


;


currentGeoPo


: (in)


目标船位置的地理坐标


;


heading


: (in)


船首向 ,以度数


(degree)


为单位


,


由正北


(North Up)


方向顺时 针旋转所得角度


值,其它角度参量如


courseOverGr ound


也是这样


;


courseOverGround


: (in)


对地航向


;


courseThrghWater


: (in)


对水航向


;


speedOverGround


: (in)


对地航速,以节


(knot)


为单位


;


speedThrghWater


: (in)


对水航速


;



///////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////////


定义



long



AddRoute


(


long*



wpIDs


,


long



wpCount


,


bool



bPlanedRouteOrAlterated


)



功能描述






添加一个航线(按照航路点


ID


数组中航路点的顺序依次连接各个航路点形成航线)





返回值






返回添加的航线的


ID.


注意该


ID


为从


1


开始编号。




参数说明







wpIDs


: (in)


包含添加的 航线的所有航路点的


ID


的数组指针



wpCount


: (in)


添加的航线的航路点的数目




bPlanedRouteOrAlterated: (in)


添加的航线的样式


;


/////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////


定义



bool



AddRouteWayPoint


(


long



routeID


,


long



addWpPos,


long*



addWpIDs,


long



addWpCount )



功能描述






在一条航线中添加新的航路点,以形成一条新的航线。




返回值






返回操作是否成功。




































































上海意玛软件



参数说明







routeID


: (in)


添加新的航路点的航线的


ID


addWpPos


: (in)


航路 线原有的某一航路点在航线上的位置,


新的航路点即添加在航线上的

这个航路点和上个航路点中间的位置




addWpIDs


: (in)


包含 添加的航路点的


ID


的数组的指针


;


addWpCount



(in)


添加的航路点的数目



/////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////


定义



WAY_POINT_ID



AddWayPoint


(


M_POINT


geoPo,


const char*


strUsage )



功能描述






添加一个航路点。




返回值






返回添加的航路点的


ID.


注意该


ID


为从


1< /p>


开始编号。




参数说明



geoPo: (in)


添加的航路点的地理坐标


;


strUsage: (in)


添加的航路点的用途


;


////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////


定义



void


CenterMap (


M_POINT



centerPoGeoCoor


)



功能描述






使海图的某一点移到屏幕中心,或称将屏幕中心对准某一经纬 度坐标。




返回值










参数说明








centerPoGeoCoor : (in)


中心点经纬度坐标



//////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////


定义



void


ClearHighLightFaceObject ()



功能描述






清除所有使用


AddHighLightFace


添加的高亮面物标的高亮效果。




返回值










参数说明




/////////////////////////////////////// ////////////////////////////////////////////////// /////////////////////////////////////



































































上海意玛软件



定义



void


ClearHighLightLineObject ()



功能描述






清除所有使用


AddHighLightLine


添加的高亮线物标的高亮效果。




返回值










参数说明





/////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////



定义



void


ClearHighLightPointObject ()



功能描述






清除所有使用


AddHighLightPoint


添加的高亮点物标的高亮效果。




返回值










参数说明






/// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////


定义



bool


ClearHistoryTracks ()


功能描述






删除所有航迹。




返回值







返回操作是否成功。




参数说明






/////////////////////////// ////////////////////////////////////////////////// /////////////////////////////////////////////////


定义



void


ClearOtherVessels ()



功能描述






清除当前记录的所有其它目标船对象。




返回值



































































上海意玛软件










参数说明





/////////////////////////////////////// ////////////////////////////////////////////////// /////////////////////////////////////



定义



void CloseMap (


int



libMapPos


)



功能描述






从海图库中删除某幅海图。




返回值










参数说明







libMapPos :


欲删除的海图在图库中的位置


;


< /p>


//////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////


定义



bool


DeleteHistoryTrack (


UINT


pos


)


功能描述






删除


pos


位的航迹。




返回值






返回操作是否成功。




参数说明



pos


: ()


欲删除航线的位置;




///////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////////////


定义



bool


DeleteRoute (


ROUTE_ID


delRouteID )



功能描述





删除航线。




返回值






返回操作是否成功。




参数说明



delRouteID


: (in)


欲删除航线的


ID




////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////////////////


































































上海意玛软件



定义



bool


DeleteRouteWayPoint (


long


routeID,


long


delWpPos,


long


delWpCount )



功能描述





删除航线中的航路点。




返回值






返回操作是否成功。




参数说明



wpID


: (in)


航路点的


ID




delWpPos: (in)


指定欲删除的航路点的在航线中的首个航路点的位置;



delWpCount: (in)


删除航路中指定位置以后的多少个航路点;


< br>/////////////////////////////////////////////// ////////////////////////////////////////////////// /////////////////////////////


定义



bool


DeleteWayPoint (


WAY_POINT_ID


wpID )



功能描述





删除航路点。




返回值






返回操作是否成功。




参数说明



wpID


: (in)


航路点的


ID




//// ////////////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////////


定义



void DrawDragingMap (


HDC



destHDc


,


M_POINT



curDragMousePo


,


M_POINT



dragStartPo


)



功能描述






在屏幕中


拖动海图,一般用于使用鼠 标拖动的手动漫游功能。




返回值










参数说明







destHDc


: (in) 4


字节 的


目标屏幕窗口环境句柄


;



curDragMousePo


: (in)



鼠标拖动的当前点屏幕坐标


;


dragStartPo


: (in)


鼠标拖动的起始点坐标


;


< p>
//////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////


定义



bool


DrawMapsInScreen (


HDC



hdc


)



功能描述



































































上海意玛软件






在屏幕中绘制海图。




返回值







操作是否成功。




参数说明






hdc : (in)



4


字节的屏幕窗口环境句柄


;


////////////////////////////////////////// ////////////////////////////////////////////////// //////////////////////////////////



定义



double


GetBearingBetwTwoPoint (


M_POINT



startGeoPo


,


M_POINT



endGeoPo


)



功能描述






得到两个地理坐标点连线的角度方位。




返回值






返回角度值,由正北方向顺时针旋转所得的角度


.




参数说明



startPoGeoX


: (in)


起点地理坐标


;


endPoGeoX


: (in)


终点地理坐标


;


///////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// /////////////////




定义



M_POINT


GetDesPointOfCrsAndDist (


M_POINT



startGeoPo


,


double



distance


,


double



course


)



功能描述






得到以起始点为中心相距某一距离值和某一方位的目标点。




返回值






返回目标点地理坐标


.




参数说明



startPoGeo


: (in)


起点地理坐标


;


distance


: (in)


目标点距离值


;


course


: (in)


目标点距离值方位


;


/////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////



定义



double


GetDistBetwTwoPoint (


M_POINT



startGeoPo


,


M_POINT



endGeoPo


)



功能描述






得到两个地理坐标点之间的距离。




返回值



































































上海意玛软件






返回距离值,单位为海里


(Nautical Mile).




参数说明



startPoGeo


: (in)


起点地理坐标


;


endPoGeo


: (in)


终点地理坐标


;


///////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// /////////////////



定义



ENC_COLOR_GROUP


GetColorModel ( )



功能描述






得到当前海图颜色模式。




返回值







返回颜色模式枚举值


:






typedef enum ENC_COLOR_GROUP






{



DAY_BRIGHT=1,



DAY_WHITEBACK=2,



DAY_BLACKBACK=3,



DUSK=4,



NIGHT=5






}ENC_COLOR_GROUP;








参数说明









/////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////


定义



float


GetCurrentScale ()



功能描述






得到当前比例尺。




返回值







返回单精度比例尺数值


,


注意该值是实际地理长度



/


屏幕物理长度


,


而非其倒数



:







参数说明









/////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////


定义



DISPLAY_CATEGORY_NUM


GetDisplayCategory ()



功能描述






得到当前显示类别。



































































上海意玛软件




返回值







返回显示类别枚举值



:





typedef enum DISPLAY_CA


TEGORY_NUM





{



DISPLAYBASE = 0,



STANDARD = 1,



OTHER = 2,






}DISPLAY_CATEGORY_NUM;




参数说明





/////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////


定义



double



GetDistBetwTwoPoint


(


int



startPoGeoX



,


int



startPoGeoY



,


int



endPoGeoX



,


int



endPoGeoY


)



功能描述






得到两个地理坐标点之间的距离。




返回值






返回距离值,单位为海里


(Nautical Mile).




参数说明



startPoGeoX


: (in)


起点地理坐标横坐标


;


startPoGeoY


: (in)


起点地理坐标纵坐标


;


endPoGeoX


: (in)


终点地理坐标横坐标


;


endPoGeoY


: (in)


终点地理坐标纵坐标


;


////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////



定义



HDC


GetDrawerHDC ()



功能描述






得到海图绘画器的窗口环境句柄。




返回值







返回< /p>


4


字节的窗口环境句柄





参数说明









/////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////


定义



HWND


GetDrawerHWnd ()


功能描述



































































上海意玛软件






得到海图绘画器的窗口句柄。




返回值







返回


4< /p>


字节的窗口句柄






参数说明










/// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////


定义



int


GetDrawerScreenHeight ()



功能描述






得到海图绘画器的窗口高度。




返回值







返回窗口高度,单位像素


;




参数说明









/////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////


定义



int


GetDrawerScreenWidth ()



功能描述






得到海图绘画器的窗口宽度。




返回值







返回窗口宽度,单位像素


;




参数说明









/////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////


定义



int


GetFaceInnerBndryCoorCount (


M_GEO_OBJ_POS



objectPos


,


int



innerBoundryPos


)



功能描述






得到含有内边的面


(FACE)


对象的某条内边


(Inner Boundary)


的所有点坐标个数。




返回值







返回点坐标个数,如果面对象索引值非法返回


-1;




参数说明







pObjectPos



(in)


面对象的索引;







inn erBoundryPos



(in)


内边的位置,即指面对象的第几条内边


;


































































上海意玛软件



////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////


定义



int



GetFaceInnerBndryCoors


(


M_GEO_OBJ_POS



objectPos



,


int



innerBndryPos



,


M_POINT*



retGeoPoints


)



功能描述






得到含有内边的面


(FACE)


对象的某条内边的所有点坐标


,


注意是地理坐标而非屏幕坐标。




返回值







返回点坐标个数,如果面对象索引值非法返回


-1;




参数说明







objectPos



(in)


面对象的索引;







inn erBoundryPos



(in)


内边的位置,即指面对象的第几条内边


;

retGeoPoints



(out)


用于返回得到的所有点坐标


;


/// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////


定义



int


GetFaceInnerBndryCount (


M_GEO_OBJ_POS



objectPos


)



功能描述






得到面


(FACE)


对象的所含内边


(Inner Boundary)


个数。




返回值







返回内边


(Inner Boundary)

< br>个数,如果面对象索引值非法返回


-1





参数说明



objectPos



(in)


面对象的索引;



///////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// /////////////////



定义



int


GetFaceOutBndryCoorCount (


M_GEO_OBJ_POS



objectPos


)



功能描述






得到面


(FACE)


对象的外边的所有点坐标个数。




返回值







返回点坐标个数,如果面对象索引值非法返回


-1;




参数说明



objectPos



(in)


面对象的索引;



< br>/////////////////////////////////////////////// ////////////////////////////////////////////////// /////////////////////////////


定义



int


GetFaceOutBndryCoors (


M_GEO_OBJ_POS



objectPos


,


M_POINT*



retGeoPoints


)



































































上海意玛软件



功能描述






得到面


(FACE)


对象的外边的所有点坐标,注意是地理坐标而非屏幕坐标。


< br>



返回值







返回点坐标个数,如果面对象索引值非法返回


-1;




参数说明







pObjectPos



(in)


面对象的索引;



< br>retGeoPoints



(out)


用于返回得到的所有点坐标


;



///////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////////////////////


定义



int


GetGeoCoorMultiFactor ( )



功能描述






得到经纬度坐标乘积因子。




返回值







返回经纬度坐标乘积因子



;




参数说明









/////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////


定义



float


GetGeoLenFromScrnLen (


int



scrnLen


,


bool



bScrCorrByPixelUnits


)



功能描述






得到屏幕长度对应的实际地理长度。




返回值







返回地理长度值,单位为毫米


(mm)




参数说明







scrnLen



(in)


屏幕长度值;







bScrCorrByPixelUnits



(in)


该参数为


true


时屏幕长度值是以像素


(pixel)


为单位,为


false


时以

< br>0.01


毫米


(himeter)


为单位


;


////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ////


定义



int


GetHistoryTrackCount



( )


功能描述



获取航迹个数。




返回值







返回航迹个数;



































































上海意玛软件




参数说明







无;


< /p>


//////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////////////


定义



TRACK_ID


GetHistoryTrackIDFromPos (


UINT



pos


)


功能描述



通过位置获取航迹


ID





返回值







返回航迹


ID





参数说明




Pos



:航迹的位置;



< br>/////////////////////////////////////////////// ////////////////////////////////////////////////// /////////////////////////////


定义



int


GetHistoryTrackInfo



(


UINT



trackPos


,


char


*



pStrRetName



=


NULL


,


char*



pStrRetComment



=


NULL,



float*



pTotalDist


= NULL,



M_POINT*



pRetFrstPoint


= NULL,


M_POINT*



pRetLastPoint


= NULL


)


功能描述







得到历史航迹的信息。




返回值







返回操作是否成功


;




参数说明



trackPos



:航迹的位置;



pStrRetName


:航迹的名称;



pStrRetComment


:航迹的注释;



pTotalDist


:航迹的距离;



pRetFrstPoint


:起始点坐标;



pRetLastPoint


:终点坐标;



//////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////


定义



int


GetHistoryTrackPointCount (


UINT



trackP


os


)


功能描述







得到历史航迹点的数量。




返回值







返回历史航迹点的数量;




参数说明



trackPos



:航迹的位置;



































































上海意玛软件



//////////////////////////////////////////////// ////////////////////////////////////////////////// ////////////////////////////


定义



int


GetHistoryTrackPoints (


UINT



pos


,



M_POINT*



pRetPoints


)


功能描述



得到历史航迹的个数。




返回值







返回航迹个数



;




参数说明







trackPos



:航迹的位置;



pRetPoints




航迹点的坐标;




/////////////////////////// ////////////////////////////////////////////////// /////////////////////////////////////////////////


定义



bool


GetHistoryTrackPoint (


UINT



trackPos


,


UINT



poPos


,


M_POINT*



pRetPoint


)


功能描述



获取历史航迹。




返回值







返回操作是否成功;




参数说明







trackPos



:航迹的位置;



pRetPoints




航迹点的坐标;





/////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////






定义



UINT


GetHistoryTrackPosFromID (


TRACK_ID



trackID


)


功能描述



通过航迹

< br>ID


获得位置,如没有该


ID


, 则返回


-1


返回值







返回航迹


ID


获得的位置,如果没有该


ID


,返回


-1;




参数说明



trackID


:航迹


ID





/////////////////////////// ////////////////////////////////////////////////// /////////////////////////////////////////////////


定义



M_POINT


GetSpherePoFromMyScrnPo (


M_POINT



scrnPo


)



功能描述



































































上海意玛软件







得到屏幕坐标对应的地理坐标值。




返回值







返回对应的经纬度地理坐标



;




参数说明







scrnPo : (in)



输入屏幕坐标坐标


;


/////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////////////


定义



bool


GetLanguage ( )



功能描述






得到当前显示语言是否英语。




返回值







如果是


< /p>


英语



,返回


tr ue


如果是



本国语言

< p>


,返回


false;




参数说明









/////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////


定义



int


GetLayerCount ( )



功能描述






得到图层


(


或称物标类别


(Object Class))


总数。




返回值







返回图层总数


;




参数说明









/////////////// ////////////////////////////////////////////////// ////////////////////////////////////////////////// ///////////


定义



bool


GetLayerDrawOrNot (


int



layerPos


)



功能描述







得到某一图层当前是否显示。




返回值







显示则返回


true


,否则为


false




参数说明







layerPos


: (in)



输入图层索引


;


< br>/////////////////////////////////////////////// ////////////////////////////////////////////////// /////////////////////////////

-


-


-


-


-


-


-


-



本文更新与2021-02-08 04:54,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/612153.html

YimaEncSDK 3.3 开发文档_3.3.1.1_dll_embedded version的相关文章