



已阅读5页,还剩12页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录摘要(1)0引言(1)1 GIS简介(1)2 组件式GIS(2)2.1 组件技术的引入(2)2.2 组件式GIS(3)3 地理信息系统的开发模式(5)4 ArcGISEngine简介(5)5 .NET介绍(6)6 基础地理信息系统总体设计(7)6.1系统目标与功能(7)6.2系统的数据库设计(9)7 系统功能实现示例(9)7.1 查询功能的实现(9)7.2 缓冲区功能的实现(11)7.3 注记功能的实现(13)8 结语(14)参考文献(15)Abstract(16) 基于ArcGIS Engine的基础地理信息系统设计与实现 摘要:以信息科学和技术为代表的当代高新技术的发展,正在影响着一个国家和地区产业与经济的发展,地理信息科学与技术是其重要的体现,并且正在向智能化的方向发展。地理信息系统是由计算机硬件、软件等组成的系统,该系统用于支持空间数据的采集、管理、处理、分析、建模和显示,以便解决复杂的规划和管理问题。随着计算机软件的不断发展,对地理信息系统的开发方法也越来越多样化,而基于组件式GIS的开发是当今时代的潮流。本文主要介绍了基于COM技术的ArcGIS Engine开发平台对于基础地理信息系统的设计与实现。首先介绍了研究背景与其意义,接着论述了组件式GIS的引入及其与传统GIS相比所具有的优点,并对ArcGIS Engine二次开发工具进行了详细的介绍了,然后论述了基础地理信息系统的总体设计,并对部分系统功能进行了示例实现,从而体现了ArcGIS Engine强大的地理信息系统开发能力。 关键词:GIS;基础地理信息系统;组件技术;ArcGIS Engine引言 地理信息系统已经广泛应用于众多领域,为各行业提供了高效的空间信息处理能力和强大的决策支持服务。这就需要GIS开发人员构建专业且易于使用的GIS软件,不仅要有通用的GIS功能和专业领域功能,还要有友好的交互式操作,从底层开始构建这些专业系统,不仅耗费时间,而且增加软件的开发成本。组件式GIS把GIS技术同嵌入式技术融合在一起,形成嵌入式地理空间集成平台,是GIS研究的重要趋势和GIS产业发展的方向之一。ArcEngine是ArcGIS Engine 的简称,是ESRI公司开发的一组完备且可以打包的嵌入式GIS组件库。开发人员可以在应用程序中创建或扩展GIS的功能,自定义专业产品。因此在通用的开发平台下嵌入GIS功能,能很好的满足广大GIS用户的需求。1 GIS简介 地理信息系统(Geographic Information System或GeoInformation system,GIS)有时又称为“地学信息系统”或“资源与环境信息系统”。它是一种特定的十分重要的空间信息系统。它是在计算机硬、软件系统支持下,对整个或部分地球表层(包括大气层)空间中的有关地理分布数据进行采集、储存、管理、运算、分析、显示和描述的技术系统。地理信息系统处理、管理的对象是多种地理实体、地理现象数据及其空间关系数据,包括空间定位数据、图形数据、遥感图像数据、属性数据等,用于分析和处理在一点地理区域内分布的地理实体、现象及过程,解决复杂的规划、决策和管理问题。简言之,地理信息系统是对空间数据进行采集、编辑、存储、分析和输出的计算机信息系统。地理信息有多种来源和不同特点,地理信息系统要具有对各种信息处理的功能。2 组件式GIS2.1 组件技术的引入 GIS软件技术的发展历程为:GIS模块 集成式GIS 模块化GIS 核心式GIS 组件式GIS WebGIS图1 GIS软件发展历程 在GIS技术发展的早期,由于受到技术的限制,GIS软件往往只能满足于某些功能要求的一些模块,没有形成完整的系统,而且各个模块之间不具备协同工作的能力。随着理论和技术的发展,各种GIS模块开始集成,并形成了大型GIS软件包,即集成式GIS出现,这是GIS发展的一个重要里程碑。它集成了GIS的各项功能,形成了独立完整的系统,不过由于系统复杂,庞大,从而导致成本高,难以与其他应用或系统集成。随后又出现了模块化GIS,它把GIS按照功能划分为一系列模块,运用于统一的基础环境之上。模块化GIS具有强大的工程针对性,便于开发和应用,用户可以根据需要选择模块,但是集成式GIS和模块式GIS都存在这样一个缺点:它难于管理信息系统以及专业应用模块集成高效,无缝的GIS应用。为克服这个缺点,就提出了核心式GIS的概念。这种GIS设计为操作系统的基本扩展,例如在Windows操作系统上的核心式GIS,它提供了一系列的动态链接库(DLL),以便开发时采用现有的高级编程语言,通过应用接口程序(API)访问内核所提供的GIS功能。但是,核心式GIS提供的组件过于底层,在开发时增加了一定的难度,同时也不适应可视化程序设计的潮流。随着计算机软件技术的发展,GIS组件化发展到了一个全新的阶段,组件式GIS 应时而生。2.2 组件式GIS 组件式GIS(COMGIS)的基本思想是把GIS的各大功能模块根据性质划分为几个控件,每个控件完成不同的功能各个GIS控件之间,以及GIS控件与其他非GIS控件之间,可以方便的通过面向对象的可视化的软件按开发工具集成起来,形成最终的GIS应用。控件就如同一堆各式各样的积木,他们分别实现不同的功能(包括GIS和非GIS功能),根据需要把实现各种功能的“积木”搭建起来,就构成了应用系统。它是基于组件对象平台,以一组具有某种标准通信接口,允许跨语言应用的组件,同传统的GIS相比较,它具有以下特点:1) 小巧灵活、价格便宜由于传统GIS结构的封闭性,往往使得软件本身变得越来越庞大,不同系统的交互性差,系统的开发难度大。在组件模型下,各组件都集中地实现与自己最紧密相关的系统功能,用户可以根据实际需要选择所需控件,最大限度地降低了用户的经济负担。组件化的GIS平台集中提供空间数据管理能力,并且能以灵活的方式与数据库系统连接。在保证功能的前提下,系统表现得小巧灵活,而其价格仅是传统GIS开发工具的十分之一,甚至更少。这样,用户便能以较好的性能价格比获得或开发GIS应用系统。2) 无须专门GIS开发语言,直接嵌入MIS开发工具传统GIS往往具有独立的二次开发语言,对用户和应用开发者而言存在学习上的负担。而且使用系统所提供的二次开发语言,开发往往受到限制,难以处理复杂问题。而组件式GIS建立在严格的标准之上,不需要额外的GIS二次开发语言,只需实现GIS的基本功能函数,按照Microsoft的ActiveX控件标准开发接口。这有利于减轻GIS软件开发者的负担,而且增强了GIS软件的可扩展性。GIS应用开发者,不必掌握额外的GIS开发语言,只需熟悉基于Windows平台的通用集成开发环境,以及GIS各个控件的属性、方法和事件,就可以完成应用系统的开发和集成。目前,可供选择的开发环境很多,如Visual C+、Visual Basic、Visual FoxPro、Borland C+、Delphi、C+ Builder以及Power Builder等都可直接成为GIS或GMIS的优秀开发工具,它们各自的优点都能够得到充分发挥。这与传统GIS专门性开发环境相比,是一种质的飞跃。3) 强大的GIS功能新的GIS组件都是基于32位系统平台的,采用InProc直接调用形式,所以无论是管理大数据的能力还是处理速度方面均不比传统GIS软件逊色。小小的GIS组件完全能提供拼接、裁剪、叠合、缓冲区等空间处理能力和丰富的空间查询与分析能力。4) 开发简捷由于GIS组件可以直接嵌入MIS开发工具中,对于广大开发人员来讲,就可以自由选用他们熟悉的开发工具。而且,GIS组件提供的API形式非常接近MIS工具的模式,开发人员可以像管理数据库表一样熟练地管理地图等空间数据,无须对开发人员进行特殊的培训。在GIS或GMIS的开发过程中,开发人员的素质与熟练程度是十分重要的因素。这将使大量的MIS开发人员能够较快地过渡到GIS或GMIS的开发工作中,从而大大加速GIS的发展。5) 更加大众化组件式技术已经成为业界标准,用户可以象使用其他ActiveX控件一样使用GIS控件,使非专业的普通用户也能够开发和集成GIS应用系统,推动了GIS大众化进程。组件式GIS 的出现使GIS不仅是专家们的专业分析工具,同时也成为普通用户对地理相关数据进行管理的的可视化工具。总之,组件式GIS是通过对象、属性、方法和事件进行交互。空间对象的相互关系,几何对象之间的集成关系,对象间的组成关系,对象之间的逻辑上的关联关系等,只要了解清楚了ComGIS内存对象之间的关系和基本概念利用已知熟悉的任何一门面向对象的可视化开发工具,两者结合,就可以开发出功能强大的GIS应用系统。3 地理信息系统的开发模式目前常用的GIS开发模式主要有三种:独立开发,单纯二次开发,集成二次开发。由于独立开发难度太大,单纯二次开发受GIS工具提供的编程语言的限制,效果不理想,因此,结合GIS工具软件与当今可视化开发语言的集成二次开发方式就成为GIS应用开发的主流方式。优点是既可以充分利用GIS工具软件对空间数据的管理,分析功能,又可以利用其它可视化开发语言具有的高效,方便等编程优点,集二者之所长,不仅能大大提高应用开发效率,而且使用可视化软件开发工具开发出来的应用程序具有更好的外观效果更强大的数据库功能、可靠性好、易于移植、便于维护,尤其是以COM技术利用GIS功能组件进行集成开发,更能表现出这些优势。不过这种方法唯一的缺点是前期投入比较大,需要同时购买GIS工具软件和可视化编程软件,但“工欲善其事必先利其器”,这种投资非常值得。4 ArcGISEngine简介 ArcEngine组件产品发布之前,ESRI公司提供的是ArcObjects公用组件库,它是基于Microsoft COM技术开发的一套COM组件对象集,是专门为开发人员提供的二次开发组件。该组件集提供来了几乎全部的底层GIS功能,就连ArcGIS软件本身都是使用ArcObjects的组件开发出来的。但是使用ArcObjects开发时,需要依附于ArcGIS平台,开发人员只有在安装了ArcGIS产品以后,才能利用其提供的组件对象进行开发。 ArcEngine提取了ArcObjects组件库中的核心功能,对ArcObjects中的大部分接口、类、库进行封装所构成嵌入式组件。ArcEngine中的组件接口、方法、属性与ArcObjects是相同的。ArcEngine是独立的嵌入式开发平台,开发人员无需ArcGIS Desktop支持;其具备灵活、速快的开发和功能扩展能力,功能完善,稳定性较好。无论是ArcEngine还是ArcObjects都具有面向对象的特性,他们都支持类、对象、继承等面向对象的特性。同时类下面还定义了不同的接口,接口中包含了不同的方法和属性,接口之间有接口查询和接口继承。例如接口查询就是从对象的一个接口查询到另一个接口定义的属性和方法。而要满足两个接口之间可以进行接口查询,条件是他们要同属于一个类。本论文以全国某一时期采集的基础地理数据为基础,采用.NET为开发平台,实现了GIS基础信息系统开发,探讨了基于ArcEngine的基础地理信息系统的基本原理和系统功能的实现过程。5 .NET介绍.NET 是 Microsoft XML Web services 平台。XML Web services 允许应用程序通过 Internet 进行通讯和共享数据,而不管所采用的是哪种操作系统、设备或编程语言。Microsoft .NET 平台提供创建 XML Web services 并将这些服务集成在一起之所需。对个人用户的好处是无缝的、吸引人的体验。.NET Framework 是由微软开发,一个致力于敏捷软件开发(Agile software development)、快速应用开发(Rapid application development)、平台无关性和网络透明化的软件开发平台。NET包含许多有助于互联网和内部网应用迅捷开发的技术。.NET框架是微软公司继Windows DNA之后的新开发平台。.NET框架是以一种采用系统虚拟机运行的编程平台,以通用语言运行库(Common Language Runtime)为基础,支持多种语言(C#、VB.NET、C+、Python等)的开发。.NET也为应用程序接口(API)提供了新功能和开发工具。这些革新使得程序设计员可以同时进行Windows应用软件和网络应用软件以及组件和服务(web服务)的开发。.NET提供了一个新的反射性的且面向对象程序设计编程接口。.NET设计得足够通用化从而使许多不同高级语言都得以被汇集。6 基础地理信息系统总体设计6.1系统目标与功能系统的目标是开发出一个区域基础地理信息查询及制图的系统,系统的开发采用了c/s模式。.NET平台下,C#是作为第一语言,集中了所有关于软件开发和软件工程的所有最新成果,且与ArcEngine有很好的兼容性,因此本系统采用C#语言进行基于ArcEngine的二次开发。系统具有以下功能:1) 数据编辑与入库;提供数据预处理,数据入库功能,并提供数据编辑,入库的回滚功能。提供一定的数据质量检查,包括数据一致性、数据的完整性检查等功能。这些检查渗透在编辑、入库等具体操作中,保证入库数据的有效性。同时,实现多种数据更新方式,包括按图层、图幅更新数据等。本功能还实现了数据的输出接口,可以实现与外部系统数据的共享。2)查询分析功能查询分析子模块主要负责对数据进行各种查询与分析工作。具体功能包括:属性查询,实体查询(点,线,矩形,任意多边形),简单查询,条件查询、空间查询、距离量测、面积量测。运行条件:必须设置可查询图层,即在进行数据查询前必须设置你要查询的对象可能所在的图层,没有被设置的图层不允许进行数据查询,即图层必须可见。3)制图输出功能 本功能主要负责将主界面的图,按照三种不同的方式进行输出:标准图幅的输出、屏幕可见区图的输出、包括可见区的完整图幅输出,在输出界面进行地图的整饰,达到标准的输出效果。输出子模块功能包括:添加相应的制图输出要素,有模板、图例、指北针、文字,图片等,对显示的地图进行整饰。页面设置,主要是按照打印机的纸张进行页面设置。4) 视图管理功能主要包括常用的图形视图操作的功能,如放大、缩小、全图、全屏显示,按照图层范围显示,按照数据单元范围显示,视图漫游等基本功能。另外包括系统部分数据视图和窗口的管理功能。5) 元数据管理城市基础地理数据库元数据根据数据库的更新进行更新,本模块在不影响整体系统稳定性的基础上,实现元数据的录入、编辑和检索功能,并能根据需要对元数据进行合并、导入、导出等功能。6) 用户管理用户管理实现对登录系统用户的基础管理工作。包括增加用户、注销用户、修改用户权限等。系统对登陆的用户有严格而完整的权限控制机制。 用户权限建立在操作系统和数据库管理系统之上,系统可以根据具体的操作模块和功能进行权限设置,同时针对数据的读、写、修改、删除进行严格权限控制,并提供日志管理功能,及时跟踪用户对数据的使用情况,防止用户对系统数据的非法利用,便于系统维护。基础地理信息系统数据的编辑与入库数据的查询与分析制图输出功能视图管理功能元数据管理用户管理图2 系统功能模块图6.2系统的数据库设计数据库是基于GIS的各种应用系统的核心组成部分。本系统采用GeoDataBase来统一管理空间数据和属性数据。GeoDataBase是第三代数据库,其最大的特点就是一个基于面向对象型的关系数据库。图层数据主要是以FeatureClass的形式存储在GeoDataBase中,而图层的分类依据是根据其几何形状分为point,polyline,polygon这三种类型;要素的其他属性信息则由其代表的现实地物的基本信息来确定,这些基本信息是用户比较关心的信息。如人口,面积等。7 系统功能实现示例系统采用了用户熟悉的Windows界面风格,运用对话框,工具条等操作方式,利用.NET的图形用户界面设置成适合专业使用的用户界面。以以下几个功能为例:7.1 查询功能的实现查询功能包括属性查询和空间查询。属性查询是通过设置属性字段的条件,获得符合条件的要素,并在图层中闪烁,高亮显示;该查询主要用到IQueryFilter等接口,而空间查询分为点击查询,拉框查询,邻域查询。这些都是基于空间位置的查询,对于查询到的要素会闪烁显示,其详细的属性信息会显示在TreeView控件所在的窗体中。空间查询所用的接口主要有ItopologicalOperater、ISpatialFilter.具体代码如下:1) 基于属性查询对象 IQueryfilter queryfilter; Queryfilter = new QueryFilterClass(); /设置过滤器属性 Queryfilter.WhereClause =“name = 河南省”; ILayer layer = this.axMapControll.get_layer(0); IFeatureLayer featurelayer = layer as IFeatureLayer; IFeatureSelection featureSelection = featurelayer as IFeatureSelection;featureSelection.SelectFeatures(queryFilter, esriSelectionResultEnum.esriSelectionResultNew, false);activeView.PartialRefresh(esriViewDrawPhase.esriViewGeoSelection, null, activeView.Extent); 图3 基于属性查询结果图2) 基于空间位置查询 ISpatialFilter spatialfilter = new SpatialFilterClass(); /设置用于筛选几何对象 SpatialFilter.Geometry = point; /设置筛选几何字段 spatialFilter.GeometryField = “shape”; /设置空间几何关系 spatialFilter.SpatialRel = esriSpatial RelEnum.esri SpatialRelContains; Ilayer layer = this.axMapControli.get_Layer(0); IFeatureLayer featurelayer = layer as IFeatureLayer; IFeatureClass featureclass = featurelayer.FeatureClass; IFeatureCursor featurecursor; Featurecursor =featureclass.Search spatialFilter,false; IFeature feature = Featurecursor.NextFeature(); While (feature!= null) Console.WriteLine(“feature oid is 0”,feature.OID); Feature = featurecursor.NextFeature();7.2 缓冲区功能的实现缓冲区功能是根据点、线、面的实体,自动建立其周围一定宽度范围内的缓冲区多边形实体。在缓冲区内,可选图层上的要素将被选中。该功能的实现主要用到的接口是ItopologicalOperater、ISpatialFilter。但在实现的过程中要考虑如何显示要素的问题,因为不同类型的要素显示时所用的接口也不同,如点要素显示使用IMarkerSymbol;线要素的显示使用的是ILineSymbol;面要素的显示要使用IFillSymbol.因此需要循环判断每个要素的几何类型,再使用正确的显示符合(Symbol)。选中的要素还能显示其主要信息,并在地图上定位。具体代码如下:Private void button2_click(object sender,EventArgs e) IFeatureLayer featureLayer = this.axMapControll.Map.get_Layer (1) as Ifeature Layer; IFeatureCursor featureCursor; IFeature feature; IGeometry geometry; IActiveView activeView = this.axMapControll.Active View; ITopologicalOperrator topo; featureCursor = featureLayer.FeatureClass . search(null,false); feature = featureCursor.NextFeature(); ISpatialFilter spatialFilter = new SpatialfilterClass() IFeatureSleection featureSelection; If(feature !=null ) tope = feature.Shape as ITopologicalOperator; double bufferLength = ConvertPixelsToMapUnits(activeView,2); geometry = tope.Buffer(bufferLength); spatialFilter.SpatialRel = esriSpatialRelEnum.esriSpatialRelIntersects; spatialFilter.Geometry = geometry; spatialFilter.GeometryField = featureLayer.FeatureClass.ShapeFieldName; spatialFilter.SubFields = “continent”; spatialFilter.WhereClause = “”; featureSelection = featureLayer as IFeature Selection; featureSelection.SelectFeatures (spatialFilter,esriSelectionResultEnum.esriSelectionResultNew,false); ISelectionSet slectionSet = feature Selection. SelectionSet; ICursor cursor; selectionSet.Search(null,ture,out cursor); featureCursor = cursor as IFeatureCursor; feature = FeatureCursor.NextFeature(); while(feature!=null) this.axMapControll.Map.SelectFeature (featureLayer,feature); feature = featureCursor.NextFeature(); activeView.partialRefresh(esriViewDrawPhase.esriViewGeoSelection,null,null); 7.3 注记功能的实现地图标注是地图的重要特征,是表示制图对象的名称或数量及质量特征的文字和数字等文字语言。ArcGISEngine中的标注分为两种,一种是标注(Lable),另一种是注记(Annotation)。Annotation以更复杂的方法和属性对要素图层进行注记,这个过程是自动化的,不需要用户干预,且注记内容还可以保存在地图数据库中。AnnotationLayerPropertiesCollection对象是一个要素图层的属性,是一个标注集对象的集合。IAnnotationLayerProperties Collection接口提供了对保存的集合中的IannotationLayer Properties对象进行操作,通过该接口,开发者可以对集合中的组件进行添加、删除、排序和查询等操作。IAnnotationLayerProperties的WhereClause属性用于设置一个SQL语句,用于确定哪些要素可以被标注。下面程序演示如何使用注记,具体代码如下:Private void Annotation(IGeoFeatureLayer pGeoFeatLyr,string annoField ) IGeoFeatureLayer pGeoFeatureLayer; pGeoFeatLayer = pGeoFeatLyr; IAnnotateLayerPropertiesCollection pAnnoprops; pAnnoprops = pGeoFeatLyr.Annotationproperties; pAnnoprops.clear(); IAnnotatelayerProperties pAnnolayerProps; ILineLabelPosition pPosition; ILineLabelPlacementPriorities pPlacement; IBasicOverposterLayerProperties pLabelEngine; ITextSymbol pTextSyl; pTextSyl = new TextSymbolClass(); stdole.stdfont pFont; pFont = new stdole.StdFontClass(); pFont.Name = “verdana”; pFont.size = 10; pTextSyl.font = pFont as stdole.IfontDisp; pTextSyl.Color = HSVColor(250,160,200); pPosition = new linelablePositionClass(); pPosition.parallel = false; pPosition,Perpendicular = ture; pPlacement = new linelableplacementPrioritiesClass(); pBasic = new BasicOverposterLayerPropertiesClass(); pBasic.featureType = esriBasicOverposterFeatureType. esriOverposterPolyline; pBasic.LineLablePlacementPriorities = pPlacement; pBasic.LineLablePosition = pPosition; pLableEngine = new LableEngineLayerPropertiesClass(); pLableEngine.Symbol = pTextsyl; pLableEngine.BasicOverposterLayerProperties = pBasic; pLableEngine.Expression = annoField; pAnnoLayerProps=pLableEngine as IAnnotateLayerProperties; pAnnoProps.Add(pAnnoLayerProps); pGeoFeatLyr.DisplyAnnotation = ture; axMapControll. CtlRefresh(esriviewDrewPhase.esriViewBackground,null,null);8 结语基于基础地理信息系统的设计与开发实例,探讨了GIS以及ArcGISEngine组件技术在基础地理信息管理应用的实现方法ArcEngine作为基于ArcObjects构建的嵌入式开发产品,携带有很多控件,可以完全脱离ArcGIS环境,简化了开发难度,同时将ArcEngine组件技术同第三方控件结合进行系统开发,也使得系统界面美观,符合Windows界面风格,方便用户使用。相对于底层开发而言,基于ArcgisEngine组件技术和第三方控件的开发技术大大提高了开发效率,降低了成本;提高了系统的可扩展性,灵活性,显示了组件gis开发的优势。由于时间和客观条件的限制,本文的工作还有许多需要进一步完善和继续深入研究的地方,由于系统的开发量大,凭借本人是很难在较短的时间内做出功能齐全的基础地理信息系统,因此系统的部分设计的功能还未完全开发好,还有大量的程序设计工作需要完成。需要在以后的工作中继续完善。参 考 文 献1胡鹏,黄杏元,华一新.地理信息系统教程.武汉:武汉大学出版社,20022宋关福.钟耳顺组件式地理信息系统研究与开发.中国国象图形学报,19983周平,李美花,杨宜进,孙怡.调用ArcObjects组件开发独立的应用程序,第五届ArcGIS暨ERDAS中国用户大会论文集,2002:632-6364吴信才等.地理信息系统设计与实现.北京:电子工业出版社,20025谢明,数字城市建设与探讨J.中国科技信息.2005.3(14):164-1666刘晓艳,虚拟城市建设原理与方法M.北京.科学出版社.20037胡圣武.三维GIS关键技术的研究J.地理空间信息.2008.6Design and Realization of Basic Geographic Information SystemsBased on ArcGISEngine Abstract: The development of contemporary high-tech represented the information science and technology is affecting t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论