电子海图dll文档,免费电子海图开放平台,基于s57 s52开发

 

    航易海图DLL完全遵循国际海图标准s-57、s-52标准开发,具有轻量级,加载速度快等特点,dll文件大小总共只有300KB。Dll文件函数调用简单,调用其中的函数和调用windows API一样简单。所有函数采用C语言编写,_stdcall调用方式,结构体1字节对齐。试用版本免费使用,但是会有提示字符。

 

1.海图引擎初始化,在使用之前要先进行初始化,请确保s57lib文件和dll在同一文件路径下,s57lib是海图的颜色及符号库。

int ecsIntil(int hwnd,int psw)

参数:hwnd ,整数型:要画海图的窗口句柄。

Psw, 整数型:dll秘钥,试用版本不传此参数。

返回值: 整数型 , 0 成功,>0 失败。

 

2.导入海图文件,文件必须为.000型的s57标准海图文件

Int loadEcs(char * file)

参数:file 文件路径,例如:“d/CN320001.000”。

返回值:=0成功 >0 失败,=11,已经载入相同文件名的海图。其他失败原因,非s57标准文件。

 

3.海图绘制,一般在窗口重新绘制的时候调用

paintEcs()

参数:无;

返回值:无。

 

4.获取当前显示比例尺

Int getScale()

参数:无;

返回值 整数型 ,比例尺。

 

5.设置显示比例尺,自动重绘海图。

setScale(int scale)

参数:scale 整数型 要显示的海图比例尺;

返回值:无。

 

6.显示模式,标准显示,基本显示,全部显示

setDisplaygroup(int model)

参数:model 整数型 ;

0 ,基本显示;

1,标准显示;

2,全部显示;

返回值:无。

 

7 设置安全等深线

setContour(int model);

参数:  model 整数型;

5, 5米等深线;

10 ,10米等深线;

20 ,20米等深线;

返回值:无。

 

8.设置显示颜色

setDisplaycolor(int model);

参数: model 整数型;

1, 白天;

2 ,雨天;

3 ,阴天;

4,晴天;

5,夜间;

返回值:无。

 

9.是否显示边界

showBound(int model)

参数: model 整数型;

1, 显示;

2 ,不显示;

返回值:无。

 

10.是否显示水深

showSound(int model);

参数: model 整数型;

1, 显示;

2 ,不显示;

返回值:无。

 

11.中英文显示

setText(int model);

参数: model 整数型

1, 中文显示;

2 ,英文显示;

返回值:无

 

12.是否显示灯标描述

showLight(int model);

参数: model 整数型

1, 显示;

2 ,不显示;

返回值:无

 

13.移动海图

moveMap(int downx,int downy,int upx,int upy);

参数:downx 整数型 鼠标按下时的横坐标;

Downy 整数型 鼠标按下时的纵坐标;

upx 整数型 鼠标放开时的横坐标;

upy 整数型 鼠标放开时的纵坐标;

 

14.获取已载入海图的数目

Int getEcsnum();

参数:无;

返回值:海图数量。

 

15 获取当前已载入的海图列表,建议调用之前先获取已载入海图的数目。以便开辟数组内存空间。

 Int getEcslist(Ecslist ecslist[]);

参数:ecslist[]  Ecslist结构体数组,请以传址的方式调用,海图列表将会保存在此结构体数组中,输出参数。

Ecslist结构体:

struct Ecslist {

        char* name; // 海图名称

        int scale; //海图比例尺

        float maxlat; //北至

        float maxlon; //东至

        float minlat;// 南至

        float minlon;//西至

        double R;//墨卡托海图参数

};

 返回值:海图数目。

 

16.获取屏幕点的经纬度数值

getLatlon(int x,int y, GeoPoint *geopoint);

参数:  x 整数型 横坐标;

Y整数型 纵坐标;

geopoint 类型 GeoPoint结构体指针,输出参数;

struct GeoPoint

{

      double lon;//经度

      double lat;//纬度

};

 

17 获取海图中心点经纬度坐标

getCenter( GeoPoint *center);

参数:center  GeoPoint结构体指针(见上一函数),输出参数;

返回值:无。

 

18 删除某张已加载海图

Bool deleteEcs(char *mapname);

参数: mapname char * 要删除的海图名称 ,与获取海图列表函数中名称一致

返回值: 逻辑型 true 成功 false 失败

 

19 将经纬度坐标转换为屏幕坐标

getxy(POINT *pointout , GeoPoint *point)

参数: pointout POINT 指针类型 输出参数,屏幕坐标

struct POINT

{

            Long  X;//横坐标

            Long  Y;//纵坐标

};

Point GeoPoint 结构体指针(见上文), 输入参数 经纬度坐标 ,单位 度, 例如39度30分,请转化为39.5传入。

官方网址:http://www.sailxy.com

更多海图开发事宜,或者需要正版 dll,请扫码添加微信lvxin6136

 

 

猜你喜欢

转载自blog.csdn.net/l329831342/article/details/100055810