社区
下载资源悬赏专区
帖子详情
ArcGIS Engine中的数据操作下载
weixin_39822095
2020-02-29 06:00:20
ArcGIS Engine中的各种数据访问.txt
ArcEngine数据删除几种方法和性能比较.txt
ArcGISEngine投影转换与坐标转换研究.txt
均为说明和C#源码
相关下载链接:
//download.csdn.net/download/gisbreeze/1309979?utm_source=bbsseo
...全文
5
回复
打赏
收藏
ArcGIS Engine中的数据操作下载
ArcGIS Engine中的各种数据访问.txt ArcEngine数据删除几种方法和性能比较.txt ArcGISEngine投影转换与坐标转换研究.txt 均为说明和C#源码 相关下载链接://download.csdn.net/download/gisbreeze/1309979?utm_source=bbsseo
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ArcGIS
Engine
中
的
数据
操作
ArcGIS
Engine
中
的各种
数据
访问.txt Arc
Engine
数据
删除几种方法和性能比较.txt
ArcGIS
Engine
投影转换与坐标转换研究.txt 均为说明和C#源码
arcgis
engine
鼠标
中
键拖动平移地图(AE10.2.2)
实现了
arcgis
engine
鼠标
中
键拖动平移地图(AE10.2.2),支持在放大、缩小、平移、要素选择等所有原有功能的基础上,当按下鼠标
中
键可以拖动地图,类似CAD
操作
。
ArcGIS
Engine
二次开发——基础篇
ArcGIS
Engine
二次开发的基础资料,适合新手入门学习
ArcGIS
Engine
for java 配置教程
ArcGIS
Engine
9.3提供了丰富的GIS组件方便用户快速的定制开发一个GIS应用程序,无需写代码即可实现GIS
数据
加载,地图
操作
等功能甚至可以实现高级编辑以及空间分析功能。
ArcGIS
Engine
栅格
数据
使用总结
ArcGIS
Engine
栅格
数据
使用总结 ArcOjects 3D开发方法简介 作者:佚名 文章来源:GIS论坛 点击数:861 更新时间:2009-8-6 一、ArcOjects 3D开发方法简介 众所周知,在
ArcGIS
3D分析扩展模块
中
提供了丰富的三维可视化和分析功能:你可以通过不同的视角查看表面
数据
,对表面
数据
进行查询,以及对表面
数据
进行坡度、坡向、视域分析等
操作
,进行三维动画模拟等等。其
中
所涉及的3D对象都是ArcObjects的一部分,针对3D的开发,实际上是ArcObjects的开发,所以具体的开发方法有: 基于ArcScene
中
内嵌的VBA开发; 通过VB、VC++等兼容COM的开发语言进行开发新的3D组件和功能。 二、基本的3D对象模型 在3D开发
中
,我们可以用ArcMap对应ArcScene,其
中
MxDocument对象对应SxDocument对象,Map对象对应着Scene对象,而相对于Display显示对象,在ArcScene
中
有SceneGraph对象。在对象模型图的顶部是Application对象,从它我们可以执行和应用相关的任务,比如打开文档或者访问和应用相关的其它对象。在VBA
中
,我们可以直接获得Application对象: Dim pApp as IApplicaiton Set pApp = Application 如果你在VB DLL
中
实现命令和工具,那么在具体实例化这个类时你可以获得和Application对象挂接的钩子(hook): Implements ICommand Private m_pApp as esriCore.Iapplication Private Sub ICommand_OnCreate(ByVal Hook As Object) Set m_pApp = Hook … End Sub 有了Application对象,你就可以访问它所包含的其它所有对象了。比如可以获得SxDocument对象,而它包含一个Scene对象,Scene对应的SceneGraph对象包含了一个或多个SceneViewer对象,每个SceneViewer对象
中
有一个Camera对象,它代表了观察点的特性。在Scene对象
中
可以访问Layer对象和GraphicsLayer3D对象,这两个对象都包含着一个3DProperties对象,用来控制图层
中
有关三维方面的特性。具体有关对象的特性可以参考联机帮助
中
对象上提供的接口所属的方法和属性。 三、3D几何模型和定制对象介绍 3D模型可以包括两种:矢量模型和表面模型,表面模型包括TIN和Raster,有关表面模型的创建、
数据
结构访问和分析在本文
中
不做介绍。在此只介绍三维矢量模型的生成和访问等。3D矢量模型包括所有含有Z值的几何对象:点、线、面,以及MultiPatch(多片)。其
中
多片又可以分为:三角条带(Triangle Strip)、三角扇(Triangle Fan)和环(Ring)。 在ArcScene
中
可以通过二维的点、线、面
数据
来构建三维模型,通过ArcScene
中
提供的拉伸功能可以将点要素构建成垂直的线,线要素构建成墙,而多边形要素构建成块,拉伸的值的大小可以是一定常数,也可以是通过要素属性字段
中
的值计算得出,或者通过
数据
自身记录的Z值。在ArcObjects
中
可以通过在Geometry几何对象构建过程
中
,任意点除了X、Y坐标值,指定坐标Z值来构建三维点、线和面对象;对于多片,则通过构建相应的Multipatch对象,并指定每一个顶点的X、Y和Z值。下面的代码描述了如何由多片来构建一个房子对象,它的房顶由三角扇构建,没有窗户的墙由三角条带构建,带窗户的墙由环构建。 Dim pMultiPatch As esriCore.IMultiPatch Set pMultiPatch = New MultiPatch Dim pGeoCol As esriCore.IGeometryCollection Set pGeoCol = pMultiPatch Dim pPoints As esriCore.IPointCollection Dim pPoint As IPoint ‘创建屋顶 Set pPoints = New esriCore.TriangleFan Set pPoint = New Point pPoint.PutCoords 5, 4 pPoint.Z = 10 pPoints.AddPoint pPoint Set pPoint = New Point pPoint.PutCoords 0, 0 pPoint.Z = 5 pPoints.AddPoint pPoint ‘屋顶的其它顶点: . . . (10, 0, 5); (10, 8, 5); ( 0, 8, 5); ( 0, 0, 5) ‘将扇加到MultiPatch pGeoCol.AddGeometry pPoints ‘为没有窗户的墙创建条带 Set pPoints = New esriCore.TriangleStrip ‘添加条带顶点: . . . (10, 0, 5); (10, 0, 0); (10, 8, 5) . . . (10, 8, 0); ( 0, 8, 5); ( 0, 8, 0) . . . ( 0, 0, 5); ( 0, 0, 0) ‘将条带添加到MultiPatch pGeoCol.AddGeometry pPoints ‘为前面的墙创建外环 Set pPoints = New esriCore.Ring ‘添加外环顶点: . . . (10, 0, 5); (10, 0, 0); (10, 8, 5) . . . (10, 8, 0); ( 0, 8, 5); ( 0, 8, 0) . . . ( 0, 0, 5); ( 0, 0, 0) ‘将外环添加到MultiPatch pGeoCol.AddGeometry pPoints pMultiPatch.PutRingType pPoints, esriMultiPatchOuterRing ‘为前面的墙创建内环 Set pPoints = New esriCore.Ring ‘添加内环顶点: . . .(1, 0, 2);(3, 0, 2);(3, 0, 4);(1, 0, 4);(1, 0, 2) pGeoCol.AddGeometry pPoints pMultiPatch.PutRingType pPoints, esriMultiPatchInnerRing Set pPoints = New esriCore.Ring ‘添加内环顶点: . . .(7, 0, 2);(9, 0, 2);(9, 0, 4);(7, 0, 4);(7, 0, 2) pGeoCol.AddGeometry pPoints pMultiPatch.PutRingType pPoints, esriMultiPatchInnerRing ‘设置Z和M坐标awareness Dim pZAware As esriCore.IZAware Set pZAware = pMultiPatch pZAware.ZAware = True Dim pMAware As esriCore.IMAware Set pMAware = pMultiPatch pMAware.MAware = False 通常,多片是用来描述阴影平面集合,并且可以在其上粘贴影像,也就是贴图。为了粘贴影像,需要在Multipatch的每一个定点上记录纹理坐标。纹理坐标记录为s和t,值为0到1,表示了从x到y方向影像的起点到终点。在ArcObjects
中
将s和t编码存储在定点的M值
中
。另外,如果要用Multipatch表达复杂连续的几何对象,比如球体,为了平滑阴影平面之间的转折,需要在Multipatch的每一个顶点上记录它的法向量,同样法向量也是编码后存储在定点的M值
中
。如下面的代码: Dim pNormal As esriCore.IVector3D Dim pVertex As esriCore.Ipoint Dim m As Double m = 0 . . . Dim pEncoder As IEncode3DProperties Set pEncoder = New GeometryEnvironment pEncoder.PackNormal vNormal, m pEncoder.PackTexture2D s, t, m pVertex.M = m 四、3D渲染和动画功能定制简介
下载资源悬赏专区
12,880
社区成员
12,430,407
社区内容
发帖
与我相关
我的任务
下载资源悬赏专区
CSDN 下载资源悬赏专区
复制链接
扫一扫
分享
社区描述
CSDN 下载资源悬赏专区
其他
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章