- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北大地理信息系统教程第七章
PAGE
PAGE 216
第七章 地理信息系统的开发与应用
对从事地理信息系统研究和应用的工程技术人员而言,开发和设计地理信息系统具有两个方面的含义:(1)从底层开发一个通用的地理信息系统,即通用平台的开发;从底层开发一个专用的地理信息系统。实际上,在专用的地理信息系统功能中应包括通用地理信息系统的所有命令。(2)在商业化地理信息系统(主要是通用的地理信息系统开发平台)的基础上进行二次开发,完成专用地理信息系统的开发任务。
7.1 地理信息系统通用功能的实现
下面结合VC++介绍从底层开发地理信息系统的通用功能需要完成的部分工作及技术方法(在前面的章节中已经涉及到的内容不作详细介绍)。
1.程序设计和开发人员应注意的问题
(1)一切工作都要以总体设计为依据。在进行系统变量的设计时,应避免与后期编程中可能出现的变量相同。解决方法可以采用如下方法:在具体的变量前加一具有特定含义的前缀,如sys_color,sys_ltype。变量的名称一定合乎英语或中文的拼写习惯。
(2)撰写详细的文挡,这又包括详细的文字描述材料和对程序行
的注记。对程序行的注记,建议用汉字,不要用英文。
对程序行的注记十分重要,这不仅包括子模块的功能,变量的
含义,更重要的是对程序行功能的描述;
(3)形成良好的编程习惯。这里主要指程序行结构的对称。
//本程序的功能是修改图形实体的颜色
void CWindow::mod_color() { Cdialog *pDlg;
char huge **p_set,huge *p[1],huge *p1,huge *p2,*mao,*chr;
int ii,i,j,k,n,color,cel_number;
int id[6],**id_set,type,head_long,total_long,ltype;
double x0,y0,r,xmi,ymi,alf,high,xy[2];
int k1,k2,k3,k4,k5,k6,k7,k8;
int m1,m2,m3;
long n1,n2,n3,n4;
int id_hz,id_ch,x00,y00;
id_hz=id_hz_style;//保存已有的字体,颜色等参数
id_ch=id_ch_style;
color=cadcolor;
mao=new char[2];
if(mao==NULL) exit(1);
p_set=(char huge **)_halloc(2000,1);//记录图形实体在内存中的初始位置
if(p_set==NULL) exit(1);
id_set=i_dim_alloc(2000,6); //记录图形实体的类型,颜色,线型等参数
strcpy(ex_string,请选择将被修改颜色的图形实体(窗口方式请按w键)!);
//利用鼠标通过交互式的方式选中图形实体。这里cel_number为得到的图形实体数
cel_number=find_object(p_set,id_set,ex_string);
if(cel_number0){//没有选中图形实体或中断的标志
if(cel_number==-30000) cel_number=0;//中断标志,如敲 ESC键
k=0;
cel_number=-cel_number;
}
else k=1;//选中图形实体的标志
*mao=-1;
if((cel_number0)(k==1)){ //满足修改图形实体颜色的条件
i=id_set[0][1]; //得到图形实体的颜色
if(i0) i=256+i; //保证为256色
sprintf(ex_string,%d,i); //把整数转换为字符串
id_dlg=60; //对话框的代码
pDlg=new CAppDialog(SET_COLOR,NULL);//通过对话框得到修改后的颜色代码
if(pDlg-DoModal()==IDOK){
i=strlen(ex_string);
if(i0) cadcolor=atoi(ex_string);//颜色代码
else k=0;
}
else{
k=0;//没有得到新的颜色代码的标志
您可能关注的文档
最近下载
- (2024秋新版)人教PEP版三年级英语上册全册教案.doc
- ISO15189质量手册--输血科通用模版(文档-100页).docx VIP
- RBA6.0版标准资料学习课件.ppt VIP
- 2025年北森领导力测试题及答案.doc VIP
- AI政务大厅业务平台架构方案.pptx VIP
- 医疗器械临床应用管理办法.pptx VIP
- 征信简版电子版PDF个人信用报告最新版2024年可编辑带水印模板.pdf VIP
- 人工智能对人类发展利大于弊VS弊大于利辩论赛正方辩词一辩、二辩、三辩、四辩发言稿.pptx VIP
- 人工智能对人类发展利大于弊VS弊大于利辩论赛 反方辩词一辩、二辩、三辩、四辩发言稿.docx VIP
- 北森在线测评题库及答案.doc VIP
文档评论(0)