厦门做企业网站比较好的公司网站 数据库 sql 导入数据库
web/
2025/9/25 11:06:12/
文章来源:
厦门做企业网站比较好的公司,网站 数据库 sql 导入数据库,动画设计用什么软件,魏县网站建设推广目录
一、简答题
1.GeoDatabase数据模型结构类型与四种关系。
2.组件式GIS的基本思想是什么#xff1f;
3.请简述创建空间书签的实现逻辑。
4.请问与地理要素编辑相关的类有哪些#xff1f;#xff08;列举至少五个类#xff09;
5.利用ArcGIS Engine提供的栅格运算工…目录
一、简答题
1.GeoDatabase数据模型结构类型与四种关系。
2.组件式GIS的基本思想是什么
3.请简述创建空间书签的实现逻辑。
4.请问与地理要素编辑相关的类有哪些列举至少五个类
5.利用ArcGIS Engine提供的栅格运算工具请简述如何实现一个栅格计算器的思路
6.请简述地理数据列表显示的实现逻辑。
7.请简述通过接口调用某一方法前需要做什么准备工作
8.请简述图层的基本渲染的实现思路。
9.请简述如何创建一个Shapefile文件要用到哪些类库文件
三、功能实现题
10.现需要实现将一个要素类转换到地理空间数据库的某个要素类的这一功能请参看FeatureDataConverter组件类图要通过什么接口调用什么方法来达到这一目标请写出关键的代码并说明所调用的方法需要哪些输入参数。
11.如类库Workspacefactory与类Workspace关系图所示要创建一个workspace对象应该如何实现写出关键代码。
12.如类RasterHydrologyOp所示现需计算对某一栅格数据图层进行流向计算应该如何实现请写出关键代码。功能实现
三、思考题
1.GIS开发有哪些开发模式你是如何理解这些不同模式的开发它们之间有联系吗
2.围绕GIS系统开发为主题阐述开发过程中需要涉及到的理论与思想并结合目前GIS开发的最新前沿及应用需求作为开发人员应该如何开发具有一定生命力、易于后期维护、人机交互友好型的GIS行业应用系统 一、简答题
1.GeoDatabase数据模型结构类型与四种关系。
三个类
①抽象类不能用以创建对象但可以用来指定子类 。
②组件类能够直接用new方法创建对象的类。
③普通类自己不能创建对象只能由别人创建它的对象的类。
四种关系
①依赖关系可实例化表示一个对象可以产生实例化另外一个对象。
②关联关系指从一个类的对象访问到另外一个类的对象它是一种松散的关系。
③组合关系指其中的一个类对象是另外一个类对象的组成部分,体现了严格的部分和整体的关系部分和整体的生命周期一样。
④继承关系同面向对象中的继承。父类不能直接产生类对象只能通过派生子类的方法来实现自己是一种比较强的关系。 2.组件式GIS的基本思想是什么
把GIS的各种功能模块进行分类划分为不同类型的控件每个控件完成各自相应的功能各个GIS控件之间以及GIS控件与其他非GIS控件之间可以方便地通过可视化的软件开发工具集成起来形成满足用户特定功能需求的GIS应用系统。 3.请简述创建空间书签的实现逻辑。
①在主窗体添加“创建书签”的控件和添加用来保存已创建的书签名的组合框控件并添加相应引用(Geometry)。
②在主窗体类中添加“创建书签”的函数CreateBookmark(string sBookmarkName)在函数中通过IAOBookmark接口创建一个变量用于保存当前地图的范围通过IMapBookmarks接口访问当前地图并向地图中加入新建书签最后将书签名加入组合框中。
③添加“书签名称设置”窗体添加设置“书签名称”的“文本框”控件和“确定”按钮控件在此窗体中创建一个用于保存主窗体的对象并在“确定”按钮的“点击”事件响应函数中调用CreateBookmark函数创建书签。
④为主窗体“创建书签”按钮生成“点击”事件响应函数用于运行书签名称设置功能。 4.请问与地理要素编辑相关的类有哪些列举至少五个类
①Point②Editor③Display④Geometry⑤Polygon⑥Polyline 5.利用ArcGIS Engine提供的栅格运算工具请简述如何实现一个栅格计算器的思路
①在主窗体创建一个名为“栅格计算器”的控件。
②添加“栅格计算器参数设置”窗体并添加相应引用添加“打开文件”按钮用于选择输入的栅格文件添加一个“文本框”用于输入计算表达式,计算表达式可以是数学运算和函数运算 添加一个“计算”按钮当用户点击该按钮时程序会读取输入的计算表达式使用RasterMathSupportOp类中的方法计算表达式的结果并将返回结果存储为一个新的栅格文件。
③为主窗体“栅格计算器”按钮生成“点击”事件响应函数用于运行“栅格计算器参数设置”功能。 6.请简述地理数据列表显示的实现逻辑。
①在主窗体添加“访问图层数据”的控件。
②添加“数据展示台”窗体在此窗体添加用来显示表名的“文本框”控件和用来显示表格的“数据网格视图”。
③添加“数据操作”类并添加相应引用Carto,Geometry,Geodatabase,DataSourceFile在此窗体中创建一个保存当前地图的对象。
④在“数据操作”类中添加“获取地图图层”功能添加GetLayerByName(string sLayerName)函数得到指定的图层对象添加GetDataTableByLayer()函数处理图层对象得到的DataTable对象。
⑤为“访问图层数据”控件生成“点击”事件响应函数调用“数据操作”工具得到DataTable对象然后调用“数据展示”工具传入DataTable对象实现创建地理数据列表功能。 7.请简述通过接口调用某一方法前需要做什么准备工作
①添加该接口的引用。
②获取调用该方法的对象。
③设置接口属性。
④调用接口方法如果该方法需要的参数则准备好需要的参数。 8.请简述图层的基本渲染的实现思路。
①在主窗体添加“简单渲染图层”的控件。
②添加“地图编制”类添加相应引用Carto,Geometry,Geodatabase,Display。
③完善“地图编制”类添加GetLayerByName(string sLayerName)函数用于获取指定的图层对象添加GetSymbolFromLayer(ILayer layer)函数用于获取图层的符号信息添加RenderSimplfy(ILayer layer,IColor color)函数用于设置指定图层符号的颜色并进行简单渲染。
④为“简单渲染图层”控件生成“点击”事件响应函数调用相应函数获取图层对象再获取符号对象设置颜色对象调用简单渲染函数进行渲染。 9.请简述如何创建一个Shapefile文件要用到哪些类库文件
①在主窗体添加“创建Shapefile文件”的控件。
②添加“数据操作”类并添加相应引用Geodatabase,DataSourceFile获取当前地图对象。
③在“数据操作”类中添加“创建shape文件”函数CreateShapfile(String sParentDirectory,String sWorkspaceName,String sFileName)通过指定的上级路径包含shape文件的文件夹名shape文件名创建并编辑“序号”、“名称”和“形状”等字段创建shape文件。
④为“创建Shapefile文件”控件添加“点击”事件响应函数调用函数创建shape文件。 三、功能实现题
10.现需要实现将一个要素类转换到地理空间数据库的某个要素类的这一功能请参看FeatureDataConverter组件类图要通过什么接口调用什么方法来达到这一目标请写出关键的代码并说明所调用的方法需要哪些输入参数。
IFeatureDataConverter接口
ConvertFeatureClass()方法
关键代码 //装载数据转换类,实现数据转换 IFeatureDataConverter fctofc new FeatureDataConverterClass(); IEnumInvalidObject enumErrors fctofc.ConvertFeatureClass( sourceFeatureClassName, queryFilter, null, targetFeatureClassName, geometryDef, targetFeatureClassFields, , 1000, 0);
//装载数据转换类,实现数据转换
IFeatureDataConverter fctofc new FeatureDataConverterClass();
IEnumInvalidObject enumErrors fctofc.ConvertFeatureClass(sourceFeatureClassName, queryFilter, null, targetFeatureClassName,geometryDef, targetFeatureClassFields, , 1000, 0);
调用方法参数 ConvertFeatureClasss( IFeatureClassName InputDatasetName,//输入数据集的名称 IQueryFilter InputQueryFilter,//输入查询过滤器的名称 IFeatureDatasetName outputFDatasetName,//输出数据集的名称 IFeatureClassName outputFClassName,//输出特征类的名称 IGeometryDef OutputGeometryDef,//输出的几何定义 IFields OutputFields,//输出的字段 string configKey,//配置键 int FlushInterval,//刷新间隔 int parentHWND//父窗口句柄 )
ConvertFeatureClasss(IFeatureClassName InputDatasetName,//输入数据集的名称IQueryFilter InputQueryFilter,//输入查询过滤器的名称IFeatureDatasetName outputFDatasetName,//输出数据集的名称IFeatureClassName outputFClassName,//输出特征类的名称IGeometryDef OutputGeometryDef,//输出的几何定义IFields OutputFields,//输出的字段string configKey,//配置键int FlushInterval,//刷新间隔int parentHWND//父窗口句柄)
11.如类库Workspacefactory与类Workspace关系图所示要创建一个workspace对象应该如何实现写出关键代码。 要创建一个workspace对象可以使用WorkspaceFactory类创建相应类型的工作空间工厂对象然后再通过工作空间工厂对象调用相应的OpenFromFile方法打开指定的数据源得到一个workspace对象。 IWorkspaceFactory workspaceFactory new ShapefileWorkspaceFactoryClass(); IWorkspace sourceWorkspace workspaceFactory.OpenFromFile(文件路径名称, 0);
IWorkspaceFactory workspaceFactory new ShapefileWorkspaceFactoryClass();
IWorkspace sourceWorkspace workspaceFactory.OpenFromFile(文件路径名称, 0);
首先通过调用ShapefileWorkspaceFactoryClass类的构造函数创建一个Shapefile工作空间工厂对象。然后调用工作空间工厂对象的OpenFromFile方法打开指定路径下的Shapefile数据源返回一个IWorkspace接口对象这个接口对象代表着打开的工作空间。 12.如类RasterHydrologyOp所示现需计算对某一栅格数据图层进行流向计算应该如何实现请写出关键代码。功能实现 创建一个RasterHydrologyOp对象,指定输入栅格图层和输出流向图层。使用RasterHydrologyOp对象的FlowDirection方法计算流向。 using ESRI.ArcGIS.GeoAnalyst; using ESRI.ArcGIS.Geodatabase; // 获取RasterHydrologyOp对象 IRasterHydrologyOp hydrologyOp new RasterHydrologyOpClass(); // 获取需要进行流向计算的栅格数据图层 // 获取WorkspaceFactory IWorkspaceFactory workspaceFactory new RasterWorkspaceFactoryClass(); // 打开栅格数据工作空间 IRasterWorkspace rasterWorkspace workspaceFactory.OpenFromFile(rasterWorkspacePath, 0) as IRasterWorkspace; // 打开栅格数据集 IRasterDataset rasterDataset rasterWorkspace.OpenRasterDataset(rasterDatasetName); // 将栅格数据集转换为GeoDataset IGeoDataset geoDataset rasterDataset as IGeoDataset; // 定义是否创建落差栅格 bool createDrop false; // 定义是否在边缘强制流动 bool forceFlowAtEdge true; // 进行流向计算 IGeoDataset flowDirectionDataset hydrologyOp.FlowDirection(geoDataset, createDrop, forceFlowAtEdge); // 将结果保存为栅格数据图层 // 获取Dataset保存对象 IDatasetSaveAs datasetSaveAs flowDirectionDataset as IDatasetSaveAs; // 定义保存路径和名称 string savePath D:\FlowDirection.tif; // 保存栅格数据图层 datasetSaveAs.SaveAs(savePath, null, TIFF);
using ESRI.ArcGIS.GeoAnalyst;
using ESRI.ArcGIS.Geodatabase;// 获取RasterHydrologyOp对象
IRasterHydrologyOp hydrologyOp new RasterHydrologyOpClass();// 获取需要进行流向计算的栅格数据图层
// 获取WorkspaceFactory
IWorkspaceFactory workspaceFactory new RasterWorkspaceFactoryClass();
// 打开栅格数据工作空间
IRasterWorkspace rasterWorkspace workspaceFactory.OpenFromFile(rasterWorkspacePath, 0) as IRasterWorkspace;
// 打开栅格数据集
IRasterDataset rasterDataset rasterWorkspace.OpenRasterDataset(rasterDatasetName);
// 将栅格数据集转换为GeoDataset
IGeoDataset geoDataset rasterDataset as IGeoDataset;// 定义是否创建落差栅格
bool createDrop false;
// 定义是否在边缘强制流动
bool forceFlowAtEdge true;
// 进行流向计算
IGeoDataset flowDirectionDataset hydrologyOp.FlowDirection(geoDataset, createDrop, forceFlowAtEdge);// 将结果保存为栅格数据图层
// 获取Dataset保存对象
IDatasetSaveAs datasetSaveAs flowDirectionDataset as IDatasetSaveAs;
// 定义保存路径和名称
string savePath D:\FlowDirection.tif;
// 保存栅格数据图层
datasetSaveAs.SaveAs(savePath, null, TIFF);
三、思考题
1.GIS开发有哪些开发模式你是如何理解这些不同模式的开发它们之间有联系吗
①独立开发模式不依赖于任何GIS工具软件从空间数据的采集编辑到数据的处理分析及结果输出所有的算法都由开发者独立设计。
②单纯二次开发模式指完全借助于GIS工具软件提供的开发语言进行应用系统开发。
③集成二次开发模式指利用专业的GIS工具软件如ArcInfoMapInfoSuperMap等实现GIS的基本功能以通用软件开发工具尤其是可视化开发工具如C# .NET、Visual C、Visual Basic、Java等为开发平台进行二者的集成开发。目前有两种方式①OLE/DDE②GIS控件。 2.围绕GIS系统开发为主题阐述开发过程中需要涉及到的理论与思想并结合目前GIS开发的最新前沿及应用需求作为开发人员应该如何开发具有一定生命力、易于后期维护、人机交互友好型的GIS行业应用系统
COM标准面向对象思想组件式思想
①需求分析
②软件分析初步设计和详细设计
③总体设计系统设计和结构设计
④低耦合高内聚
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/81580.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!