没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
西安融成科技有限公司 出品
KeyWords:opencpn 电子海图
www.opencpn.cn www.rochern.com
OpenCPN 探索——S57Obj
本文介绍 OpenCPN 的重要数据结构 S57Obj。S57Obj 是连接 SENC 文件和显
示的桥梁,S57Obj 是 OpenCPN 核心数据之一。
下面是针对 S57Obj 的分析。
1. 首先看一下 S57Obj 的定义,
class S57Obj
{
public:
// Public Methods
S57Obj();
~S57Obj();
S57Obj(char *first_line, wxInputStream *fpx, double ref_lat, double ref_lon);
wxString GetAttrValueAsString ( char *attr );
int GetAttributeIndex( const char *AttrSeek );
// Private Methods
private:
bool IsUsefulAttribute(char *buf);
int my_fgets( char *buf, int buf_len_max, wxInputStream& ifs );
int my_bufgetl( char *ib_read, char *ib_end, char *buf, int buf_len_max );
public:
// Instance Data
char FeatureName[8];
GeoPrim_t Primitive_type;
…
…
}
其中 S57Obj(char *first_line, wxInputStream *fpx, double ref_lat, double ref_lon)是从 SENC
文件读取内容,构建 S57Obj 对象的重要函数,构建时会把 S57Obj 的属性赋值给各个属性字段。下面是依
次调用的顺序。
InitReturn s57chart::Init( const wxString& name, ChartInitFlag flags )
InitReturn s57chart::PostInit( ChartInitFlag flags, ColorScheme cs )
int s57chart::BuildRAZFromSENCFile( const wxString& FullPath )
S57Obj *obj = new S57Obj( buf, &fpx, 0, 0 );
在形成 S57Obj 的过程中,会形成另一个重要的数据结构:ObjRazRules
typedef struct _ObjRazRules{
LUPrec *LUP;
S57Obj *obj;
s57chart *chart; //dsr ... chart object owning this rule set
资源评论
木士易
- 粉丝: 87
- 资源: 119
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功