




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
矢量数据编辑与1功能:
–1.交互式数据录入(鼠标)
–2.外部文件导入导出(Shape)
–3.利用PostGIS管理数据
–4.图形的基本显示功能(漫游、缩放)
–5.鼠标交互的地物选择(点选择、框选择)
–6.符号及属性管理开发语言:C++开发环境:VisualStudio20052PostGIS集成在PostgreSQL中,本次实习PostGIS管理数据(shapefile),libpq/libpq++库提供了C++应用程序在PostgreSQL的后端接口,通过这些接口在PostGIS数据库中读取数据。3classCGeometry{public: GeometryTypem_geometryType;//几何图形类型 intm_LineType;//线型 intm_LineWidth;//线宽 intm_PenColor;//画笔颜色 intm_BrushType;//画刷类型 intm_BrushColor;//画刷颜色 boolm_bSelect;//是否处于选中状态 intm_layerIndex;//图层索引
EnumGeometryType{GeoNone,GeoPoint,GeoPolyline,GeoSimplePolygon,GeoMultiPoint,GeoMultiPolyline,GeoMultiPolygon };structDbPoint{doubleX;doubleY;};4public: CGeometry(constCGeometry&geometry);//复制构造函数 CGeometry(intlineType,intlineWidth,intpenColor,intBrushType,intBrushColor);//带参数的构造函数 GeometryTypegetType();//获得几何图形的类型
//以下函数都设为虚函数,需在不同类型几何图形类中重载 virtualvoidDraw(CDC*pDC);//绘制几何图形 virtualvoidMove(doublex,doubley);//平移(漫游) virtualvoidZoom(doublescale);//缩放
//以下函数用于图形选择实现 doubleCalDistance(DbPointpoint1,DbPointpoint2);//两点间的距离 doublePoint2Line(DbPointpt,DbPointpoint1,DbPointpoint2);//点到直线的距离 boolPointRgn(DbPointpt,vector<DbPoint>points,doubleblc);//判断点是否在区域内 virtualvoidGetRect(CRect&rect);//得到图形元素的边界矩形 virtualboolIsPoint(DbPointpt,doublelimit,doubleblc);//判断是否点选选择了图形元素 virtualboolIsInRgn(vector<DbPoint>points,doubleblc);//判断图形元素是否在多边形区域内};5classCGeoPoint:publicCGeometry{protected: DbPointm_point;public:
CGeoPoint(constCGeoPoint&point); CGeoPoint(intlineType,intlineWidth,intpenColor,intBrushType,intBrushColor,DbPointpoint);
doublegetX();
doublegetY(); DbPointgetPoint();
voidsetX(doublex);
voidsetY(doubley); voidsetPoint(DbPointpoint); virtualvoidDraw(CDC*pDC); virtualvoidMove(doublex,doubley); virtualvoidZoom(doublescale); virtualboolIsPoint(DbPointpt,doublelimit,doubleblc);//判断是否点选选择了图形元素 virtualboolIsInRgn(vector<DbPoint>points,doubleblc);//判断图形元素是否在多边形区域内};6classCGeoPolyLine:publicCGeometry{protected: vector<DbPoint>m_pointsArray;public:
CGeoPolyLine(constCGeoPolyLine&polyline); CGeoPolyLine(intlineType,intlineWidth,intpenColor,intBrushType,intBrushColor,vector<DbPoint>pointsArray); vector<DbPoint>getPoints(); voidsetPoints(vector<DbPoint>pointsArray); virtualvoidDraw(CDC*pDC); virtualvoidMove(doublex,doubley); virtualvoidZoom(doublescale); virtualvoidGetRect(CRect&rect);//得到图形元素的边界矩形 virtualboolIsPoint(DbPointpt,doublelimit,doubleblc);//判断是否点选选择了图形元素 virtualboolIsInRgn(vector<DbPoint>points,doubleblc);//判断图形元素是否在多边形区域内};7classCGeoSimplePolygon:publicCGeometry{protected: vector<DbPoint>m_pointsArray; doublem_Area;public:
CGeoSimplePolygon(constCGeoSimplePolygon&simplePolygon); CGeoSimplePolygon(intlineType,intlineWidth,intpenColor,intBrushType,intBrushColor,vector<DbPoint>pointsArray); vector<DbPoint>getPoints(); voidsetPoints(vector<DbPoint>pointsArray); doublegetArea(); voidCalArea(); virtualvoidDraw(CDC*pDC); virtualvoidMove(doublex,doubley); virtualvoidZoom(doublescale); virtualvoidGetRect(CRect&rect);//得到图形元素的边界矩形 virtualboolIsPoint(DbPointpt,doublelimit,doubleblc);//判断是否点选选择了图形元素 virtualboolIsInRgn(vector<DbPoint>points,doubleblc);//判断图形元素是否在多边形区域内};8classCGeoLayer{//属性private: GeometryTypem_layerType; CStringm_layerName; intm_layerIndex; boolm_isVisible; vector<CGeometry*>m_Geometrys;public://构造函数 CGeoLayer(constCGeoLayer&layer); CGeoLayer(GeometryTypelayerType,CStringlayerName,intlayerIndex,boolisVisible,vector<CGeometry*>geometrys);//基本方法 GeometryTypeGetLayerType(); voidSetLayerName(CStringname); CStringGetLayerName();
9public: voidSetLayerIndex(intindex); intGetLayerIndex(); voidSetVisible(boolisVisible); boolGetVisible(); voidAddGeometry(CGeomet
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林省四平市伊通满族自治县第五中学2024-2025学年九年级下学期综合测试数学试题(原卷版+解析版)
- 2023三年级数学下册 三 乘法第2课时 列队表演(一)教学实录 北师大版
- 11《四通八达的交通》教学设计-2023-2024学年道德与法治三年级下册统编版
- 智能家居行业的市场趋势及产品创新研究
- 三农培训资料编写手册
- 16《夏天里的成长》教学设计-2024-2025学年统编版语文六年级上册
- 2024年五年级英语下册 Unit 9 Hes kind to children第3课时教学实录 湘少版
- DB3708-T 23-2023 辣椒根腐病田间抗性鉴定技术规程
- 2024-2025学年高中物理 第9章 固体、液体和物态变化 2 液体教学实录4 新人教版选修3-3
- 2023-2024学年高中化学 5.3 从微观结构看物质的多样性教学实录 苏教版必修第一册
- 五金采购合同及价格清单
- 25吨汽车吊吊装施工方案
- DB63T 2105-2023 蒸发量观测 全自动水面蒸发器比测规程
- GB/T 27740-2011流延聚丙烯(CPP)薄膜
- GB/T 22465-2008红花籽油
- 体育赛事管理
- A类业余无线电操作技术能力验证题目题库1
- 卡通小学生校园用电安全教育参考课件
- 航线维修工具丢失的风险管理项目课件
- 体育课的重要性课件
- 海南省建筑工程竣工验收资料
评论
0/150
提交评论