3D Analyst 工具

工具里有又细分如下分类:



注:以下代码的参数需要另行配置,不能直接执行;Python2不支持中文变量!

1、3D 要素

# Process: 3D 内部
arcpy.Inside3D_3d("", "", 输出表, "SIMPLE") # Process: 3D 差异
arcpy.Difference3D_3d("", "", 输出要素类, 输出表__2_) # Process: 3D 相交
arcpy.Intersect3D_3d("", 输出要素类__2_, "", "SOLID") # Process: 3D 线与多面体相交
arcpy.Intersect3DLineWithMultiPatch_3d("", "", "IDS_ONLY", 输出点, 输出线) # Process: 3D 缓冲
arcpy.Buffer3D_3d("", 输出要素类__3_, "", "STRAIGHT", "20", "") # Process: 3D 联合
arcpy.Union3D_3d("", 输出要素类__4_, "", "ENABLE", "ENABLE", 输出表__3_) # Process: 3D 邻近
arcpy.Near3D_3d("", "", "", "NO_LOCATION", "NO_ANGLE", "NO_DELTA") # Process: 依据属性实现要素转 3D
arcpy.FeatureTo3DByAttribute_3d("", 输出要素类__6_, "", "") # Process: 封闭多面体
arcpy.EncloseMultiPatch_3d("", 输出多面体要素类, "0.15") # Process: 是否为闭合 3D
arcpy.IsClosed3D_3d("") # Process: 更新要素 Z
arcpy.UpdateFeatureZ_3d("", "", "LINEAR", "") # Process: 最小包围体
arcpy.MinimumBoundingVolume_3d("", "", 输出要素类__8_, "CONVEX_HULL", "NONE", "", "NO_MBV_FIELDS") # Process: 添加 Z 信息
arcpy.AddZInformation_3d("", "", "NO_FILTER") # Process: 规则化建筑物覆盖区
arcpy.RegularizeBuildingFootprint_3d("", 输出要素类__10_, "RIGHT_ANGLES", "", "", "0.25", "1.5", "0.1", "1000000")

2、CityEngine

# Process: 基于 CityEngine 规则转换要素
arcpy.FeaturesFromCityEngineRules_3d("", "", 输出要素) # Process: 导出为 3D Web 场景
arcpy.ExportTo3DWebScene_3d("", Web_场景)

3、功能性表面

# Process: 3D 线与表面相交
arcpy.Intersect3DLineWithSurface_3d("", "", 输出线, 输出点) # Process: 插值 Shape
arcpy.InterpolateShape_3d("", "", 输出要素类, "", "1", "LINEAR", "DENSIFY", "0", "EXCLUDE") # Process: 添加表面信息
arcpy.AddSurfaceInformation_3d("", "", "", "LINEAR", "", "1", "0", "NO_FILTER") # Process: 表面体积
arcpy.SurfaceVolume_3d("", 输出文本文件, "ABOVE", "", "1", "0") # Process: 重叠剖面
arcpy.StackProfile_3d("", "", 输出表, 输出图表名称)

4、可见性

# Process: 可见性
arcpy.Visibility_3d("", "", 输出栅格, 输出地平面以上的栅格, "FREQUENCY", "ZERO", "1", "FLAT_EARTH", "0.13", "", "", "", "", "", "", "", "", "") # Process: 天际线
arcpy.Skyline_3d("", 输出要素类, "", "1000 Meters", "0 Meters", "", "FULL_DETAIL", "0", "360", "1", "0 Meters", "NO_SEGMENT_SKYLINE", "100", "VERTICAL_ANGLE", "SKYLINE_MAXIMUM", "NO_CURVATURE", "NO_REFRACTION", "0.13", "0", "NO_CREATE_SILHOUETTES") # Process: 天际线图
arcpy.SkylineGraph_3d("", "", "0", "NO_ADDITIONAL_FIELDS", 输出角度表, 输出图表名称) # Process: 天际线障碍
arcpy.SkylineBarrier_3d("", "", 输出要素类__2_, "0 Meters", "0 Meters", "NO_CLOSED", "0 Meters", "NO_PROJECT_TO_PLANE") # Process: 太阳阴影体
arcpy.SunShadowVolume_3d("", "2021/10/7 9:24:07", 输出要素类__3_, "ADJUSTED_FOR_DST", "China_Standard_Time", "", "0", "DAYS") # Process: 构造视线
arcpy.ConstructSightLines_3d("", "", 输出, "<None>", "<None>", "<None>", "1", "NOT_OUTPUT_THE_DIRECTION") # Process: 视域
arcpy.Viewshed_3d("", "", 输出栅格__2_, "1", "FLAT_EARTH", "0.13", 输出地平面以上的栅格__2_) # Process: 视域 2
arcpy.Viewshed2_3d("", "", 输出栅格__3_, 输出地平面以上的栅格__3_, "FREQUENCY", "0 Meters", 输出观察点_区域关系表, "0.13", "0 Meters", "", "1 Meters", "", "GROUND", "", "GROUND", "0", "360", "90", "-90", "ALL_SIGHTLINES") # Process: 视点分析
arcpy.ObserverPoints_3d("", "", 输出栅格__4_, "1", "FLAT_EARTH", "0.13", 输出地平面以上的栅格__4_) # Process: 通视分析
arcpy.LineOfSight_3d("", "", 输出要素类__4_, 输出障碍点要素类, "NO_CURVATURE", "NO_REFRACTION", "0.13", "0", "") # Process: 通视性
arcpy.Intervisibility_3d("", "", "VISIBLE")

5、数据管理

数据管理—LAS数据集

# Process: LAS 高度度量
arcpy.LasHeightMetrics_3d("", "", "height_", "", "", "2 Meters", "4", "20 Meters") # Process: 使用要素设置 LAS 类代码
arcpy.SetLasClassCodesUsingFeatures_3d("", "", "NO_COMPUTE_STATS") # Process: 分类 LAS 噪点
arcpy.ClassifyLasNoise_3d("", "ISOLATION", "CLASSIFY", "NO_WITHHELD", "NO_COMPUTE_STATS", "", "", "", "", "", "", "DEFAULT", "PROCESS_EXTENT", 输出要素类) # Process: 分类 LAS 地面点
arcpy.ClassifyLasGround_3d("", "STANDARD", "RECLASSIFY_GROUND", "", "COMPUTE_STATS", "DEFAULT", "", "PROCESS_EXTENT") # Process: 分类 LAS 建筑物
arcpy.ClassifyLasBuilding_3d("", "", "0 Unknown", "COMPUTE_STATS", "DEFAULT", "", "PROCESS_EXTENT", "", "RECLASSIFY_BUILDING", "NOT_PHOTOGRAMMETRIC_DATA", "STANDARD", "NO_CLASSIFY_ABOVE_ROOF", "", "") # Process: 分类 LAS 重叠
arcpy.ClassifyLasOverlap_3d("", "", "DEFAULT", "PROCESS_EXTENT", "NO_COMPUTE_STATS") # Process: 切片 LAS
arcpy.TileLas_3d("", "", "切片", 输出_LAS_数据集__3_, "COMPUTE_STATS", "", "", "NO_COMPRESSION", "REARRANGE_POINTS", "", "XY_COORDS", "250", "", "", "") # Process: 按区域统计 LAS 点
arcpy.LasPointStatsByArea_3d("", "", "") # Process: 按邻域查找 LAS 点
arcpy.LocateLasPointsByProximity_3d("", "", "", "COUNT", 输出要素类__2_, "MULTIPOINT", "", "NO_COMPUTE_STATS") # Process: 按高度分类 LAS
arcpy.ClassifyLasByHeight_3d("", "GROUND", "3 5;4 25;5 50", "NONE", "NO_COMPUTE_STATS", "DEFAULT", "PROCESS_EXTENT", "") # Process: 提取 LAS
arcpy.ExtractLas_3d("", "", "DEFAULT", "", "PROCESS_EXTENT", "", "MAINTAIN_VLR", "REARRANGE_POINTS", "COMPUTE_STATS", 输出_LAS_数据集__7_, "SAME_AS_INPUT") # Process: 更改 LAS 类代码
arcpy.ChangeLasClassCodes_3d("", "", "NO_COMPUTE_STATS", "DEFAULT", "", "PROCESS_EXTENT") # Process: 着色 LAS
arcpy.ColorizeLas_3d("", "", "", "", "_colorized", "1.4", "7", "NO_COMPRESSION", "REARRANGE_POINTS", "NO_COMPUTE_STATS", 输出_LAS_数据集__8_) # Process: 稀疏化 LAS 点
arcpy.ThinLas_3d("", "", "3D", "", "", "CLOSEST_TO_CENTER", "", "thinned", 输出_LAS_数据集__9_, "", "", "", "", "", "", "NO_COMPRESSION", "MAINTAIN_VLR", "REARRANGE_POINTS", "NO_COMPUTE_STATS")

数据管理—Terrain数据集

# Process: 从 Terrain 中移除要素类
arcpy.RemoveFeatureClassFromTerrain_3d("", "") # Process: 创建 Terrain
arcpy.CreateTerrain_3d("", "", "", "50000", "", "WINDOWSIZE", "ZMIN", "NONE", "1") # Process: 删除 Terrain 点
arcpy.DeleteTerrainPoints_3d("", "", "") # Process: 向 Terrain 添加要素类
arcpy.AddFeatureClassToTerrain_3d("", "") # Process: 更改 Terrain 分辨率界限
arcpy.ChangeTerrainResolutionBounds_3d("", "", "", "", "OVERVIEW") # Process: 更改 Terrain 参考比例
arcpy.ChangeTerrainReferenceScale_3d("", "", "") # Process: 替换 Terrain 点
arcpy.ReplaceTerrainPoints_3d("", "", "", "") # Process: 构建 Terrain
arcpy.BuildTerrain_3d("", "NO_UPDATE_EXTENT") # Process: 添加 Terrain 金字塔等级
arcpy.AddTerrainPyramidLevel_3d("", "", "") # Process: 移除 Terrain 金字塔等级
arcpy.RemoveTerrainPyramidLevel_3d("", "") # Process: 追加 Terrain 点
arcpy.AppendTerrainPoints_3d("", "", "", "")

数据管理—TIN

# Process: 创建 TIN
arcpy.CreateTin_3d(输出_TIN, "", "", "DELAUNAY") # Process: 复制 TIN
arcpy.CopyTin_3d("", 输出_TIN__2_, "CURRENT") # Process: 描绘 TIN 数据区
arcpy.DelineateTinDataArea_3d("", "", "PERIMETER_ONLY") # Process: 编辑 TIN
arcpy.EditTin_3d("", "", "DELAUNAY")

6、栅格插值

# Process: 克里金法
arcpy.Kriging_3d("", "", 输出表面栅格, "None #", "", "VARIABLE 12", 输出预测栅格数据的方差) # Process: 反距离权重法
arcpy.Idw_3d("", "", 输出栅格, "", "2", "VARIABLE 12", "") # Process: 含障碍的样条函数
arcpy.SplineWithBarriers_3d("", "", "", "", 输出栅格__2_, "0") # Process: 地形转栅格
arcpy.TopoToRaster_3d("", 输出表面栅格__2_, "", "DEFAULT", "20", "", "", "ENFORCE", "CONTOUR", "20", "", "1", "0", "2.5", "100", 输出河流折线要素, 输出其余汇点要素, 输出诊断文件, 输出参数文件, "", 输出残差点要素, 输出河流和悬崖错误点要素, 输出等值线错误点要素) # Process: 样条函数法
arcpy.Spline_3d("", "", 输出栅格__3_, "", "REGULARIZED", "0.1", "12") # Process: 自然邻域法
arcpy.NaturalNeighbor_3d("", "", 输出栅格__4_, "") # Process: 趋势面法
arcpy.Trend_3d("", "", 输出栅格__5_, "", "1", "LINEAR", 输出_RMS_文件) # Process: 通过文件实现地形转栅格
arcpy.TopoToRasterByFile_3d("", 输出表面栅格__3_, 输出河流折线要素__2_, 输出其余汇点要素__2_, 输出残差点要素__2_, 输出河流和悬崖错误点要素__2_, 输出等值线错误点要素__2_)

7、栅格表面

# Process: 含障碍的等值线
arcpy.ContourWithBarriers_3d("", 输出等值线要素, "", "POLYLINES", "", "NO_EXPLICIT_VALUES_ONLY", "0", "", "0", "", "1") # Process: 坡向
arcpy.Aspect_3d("", 输出栅格, "PLANAR", "METER") # Process: 坡度
arcpy.Slope_3d("", 输出栅格__2_, "DEGREE", "1", "PLANAR", "METER") # Process: 填挖方
arcpy.CutFill_3d("", "", 输出栅格__3_, "1") # Process: 山体阴影
arcpy.HillShade_3d("", 输出栅格__4_, "315", "45", "NO_SHADOWS", "1") # Process: 曲率
arcpy.Curvature_3d("", 输出曲率栅格, "1", 输出剖面曲线栅格, 输出平面曲线栅格) # Process: 等值线
arcpy.Contour_3d("", 输出要素类, "", "0", "1", "CONTOUR", "") # Process: 等值线列表
arcpy.ContourList_3d("", 输出折线要素, "")

8、栅格计算

# Process: 乘
arcpy.Times_3d("", "", 输出栅格) # Process: 减
arcpy.Minus_3d("", "", 输出栅格__2_) # Process: 加
arcpy.Plus_3d("", "", 输出栅格__3_) # Process: 转为整型
arcpy.Int_3d("", 输出栅格__4_) # Process: 转为浮点型
arcpy.Float_3d("", 输出栅格__5_) # Process: 除
arcpy.Divide_3d("", "", 输出栅格__6_)

9、栅格重分类

# Process: 使用 ASCII 文件重分类
arcpy.ReclassByASCIIFile_3d("", "", 输出栅格, "DATA") # Process: 使用表重分类
arcpy.ReclassByTable_3d("", "", "", "", "", 输出栅格__2_, "DATA") # Process: 分割
arcpy.Slice_3d("", 输出栅格__3_, "", "EQUAL_INTERVAL", "1") # Process: 查找表
arcpy.Lookup_3d("", "", 输出栅格__4_) # Process: 重分类
arcpy.Reclassify_3d("", "", "", 输出栅格__5_, "DATA")

10、表面三角化

# Process: 在两个 TIN 间拉伸
arcpy.ExtrudeBetween_3d("", "", "", 输出要素类) # Process: 定位异常值
arcpy.LocateOutliers_3d("", 输出要素类__2_, "NO_APPLY_HARD_LIMIT", "0", "0", "APPLY_COMPARISON_FILTER", "0", "150", "0.5", "2500") # Process: 抽稀 TIN 结点
arcpy.DecimateTinNodes_3d("", 输出_TIN, "", "NO_BREAKLINES") # Process: 表面坡向
arcpy.SurfaceAspect_3d("", 输出要素类__3_, "", "AspectCode", "0") # Process: 表面坡度
arcpy.SurfaceSlope_3d("", 输出要素类__4_, "PERCENT", "", "SlopeCode", "1", "0") # Process: 表面差异
arcpy.SurfaceDifference_3d("", "", 输出要素类__5_, "0", "0", 输出栅格, "10", "", "", "CLOSEST_TO_MEAN", "CLOSEST_TO_MEAN", "DEFAULT", "") # Process: 表面等值线
arcpy.SurfaceContour_3d("", 输出要素类__6_, "", "0", "Contour", "0", "", "Index_Cont", "1", "0") # Process: 面体积
arcpy.PolygonVolume_3d("", "", "", "BELOW", "Volume", "SArea", "0") # Process: 面插值为多面体
arcpy.InterpolatePolyToPatch_3d("", "", 输出要素类__8_, "1024", "1", "Area", "SArea", "0")

11、转换

从LAS数据集转出

# Process: LAS 数据集转 TIN
arcpy.LasDatasetToTin_3d("", 输出_TIN, "NONE", "", "", "5000000", "1", "CLIP")

由Terrain转出

# Process: Terrain 转 TIN
arcpy.TerrainToTin_3d("", 输出_TIN, "0", "5000000", "CLIP") # Process: Terrain 转栅格
arcpy.TerrainToRaster_3d("", 输出栅格, "FLOAT", "LINEAR", "OBSERVATIONS 250", "0") # Process: Terrain 转点
arcpy.TerrainToPoints_3d("", 输出要素类, "0", "<NONE>", "MULTIPOINT")

由TIN转出

# Process: TIN 三角形
arcpy.TinTriangle_3d("", 输出要素类, "PERCENT", "1", "", "") # Process: TIN 线
arcpy.TinLine_3d("", 输出要素类__2_, "Code") # Process: TIN 结点
arcpy.TinNode_3d("", 输出要素类__3_, "", "Tag_Value") # Process: TIN 范围
arcpy.TinDomain_3d("", 输出要素类__4_, "LINE") # Process: TIN 转栅格
arcpy.TinRaster_3d("", 输出栅格, "FLOAT", "LINEAR", "OBSERVATIONS 250", "1") # Process: TIN 边
arcpy.TinEdge_3d("", 输出要素类__5_, "DATA") # Process: TIN 面标签
arcpy.TinPolygonTag_3d("", 输出要素类__6_, "Tag_Value")

由栅格转出

# Process: 栅格范围
arcpy.RasterDomain_3d("", 输出要素类, "LINE") # Process: 栅格转 TIN
arcpy.RasterTin_3d("", 输出_TIN, "", "1500000", "1") # Process: 栅格转多点
arcpy.RasterToMultipoint_3d("", 输出要素类__2_, 输出_VIP_表, "NO_THIN", "MIN", "1")

由要素类转出

# Process: 多面体覆盖区
arcpy.MultiPatchFootprint_3d("", 输出要素类, "") # Process: 要素类 Z 转 ASCII
arcpy.FeatureClassZToASCII_3d("", "", "pf.txt", "GENERATE", "SPACE", "AUTOMATIC", "3", "DECIMAL_POINT") # Process: 3D 图层转要素类
arcpy.Layer3DToFeatureClass_3d("", 输出要素类__2_, "")

3D Analyst Tools(3D Analyst 工具)的更多相关文章

  1. Spatial Analyst Tools(Spatial Analyst 工具)

    Spatial Analyst Tools 1.区域分析 # Process: 以表格显示分区几何统计 arcpy.gp.ZonalGeometryAsTable_sa("", & ...

  2. 多比Web 3D展示(3D机房/3D监控)中间件多比Web 3D展示(3D机房/3D监控)中间件免费下载购买地址

    多比3D是实现3D场景搭建的软件开发包,可以创建广泛的3D应用,适用于高端制造.能源.国防军工.教育科研.城市规划及建筑环艺.生物医学等领域的虚拟仿真,应用于虚拟展示.虚拟设计.方案评审.虚拟装配.虚 ...

  3. 使用webgl(three.js)搭建一个3D建筑,3D消防模拟——第三课

    项目背景 消防安全一直是各大都市关注的重要课题,在消防体系中,特别是高楼消防体系中,消防系统整体布控与监控,火情有效准确定位,防火器材定位,人员逃生路径规划,火情预警,消防演习都是特别重要的环节.所以 ...

  4. 如何用webgl(three.js)搭建一个3D库房,3D密集架,3D档案室,-第二课

    闲话少叙,我们接着第一课继续讲(http://www.cnblogs.com/yeyunfei/p/7899613.html),很久没有做技术分享了.很多人问第二课有没有,我也是抽空写一下第二课. 第 ...

  5. (转)stage 3d or unity 3d

    这个是这样子的.stage3d如果不使用flascc的话,性能会卡在as上面.你没卡是因为你用的效果还不够高级.往深了走的高端应用就是卡as性能上.这不是你代码能优化了的.我们后来都改用flascc写 ...

  6. 物联网3D,物业基础设施3D运维,使用webgl(three.js)与物联网设备结合案例。搭建智慧楼宇,智慧园区,3D园区、3D物业设施,3D楼宇管理系统——第八课

    写在前面的废话: 很久没有更新文章了,这段时间一直忙于项目落地,虽然很忙,但是感觉没有总结,没有提炼的日子,总是让人感觉飘飘忽忽的. 所幸放下一些事,抽出一些时间,把近期的项目做一些整理与记录.也算是 ...

  7. 如何用three.js实现数字孪生、3D工厂、3D工业园区、智慧制造、智慧工业、智慧工厂-第十课

    文章前,先聊点啥吧. 最近元宇宙炒的挺火热,在所有人都争相定义元宇宙的时候,资本就开始着手入场了.当定义明确,全民皆懂之后,风口也就过去了. 前两天看到新闻,新世界CEO宣布购入最大的数字地块,这块虚 ...

  8. 如何用three.js(webgl)搭建3D粮仓、3D仓库、3D物联网设备监控-第十二课

    序: 最近因为疫情,居家办公,索性翻翻之前的项目案例,总结总结. 这次疫情,深圳停摆,群众也挺恐慌的,封闭前一天,超市被抢购一空,虽然官方媒体一再强调,材米油盐蔬菜肉类管够,但是任然挡不住群众们的抢购 ...

  9. 4-Highcharts 3D图之3D普通饼图

    <!DOCTYPE> <html lang='en'> <head> <title>4-Highcharts 3D图之3D普通饼图</title& ...

随机推荐

  1. Docker安装MySQL集群【读写分离】

    Centos7系统Docker安装 目录 Centos7系统Docker安装 目录 Centos7系统Docker安装 1.下载mysql镜像 2.创建Master实例并启动 参数说明 3.创建Sla ...

  2. LeetCode入门指南 之 动态规划思想

    推荐学习labuladong大佬的动态规划系列文章:先弄明白什么是动态规划即可,不必一次看完.接着尝试自己做,没有思路了再回过头看相应的文章. 动态规划一般可以由 递归 + 备忘录 一步步转换而来,不 ...

  3. mysql switch语句

    SELECT CASE the_order_status WHEN 4 THEN '待收货' WHEN 5 THEN '已收货' ELSE '其他' END AS statuss ,order_id ...

  4. shell运算方式

    1.(())--整数运算 [root@m01 /server/scripts]# a=1 [root@m01 /server/scripts]# b=2 [root@m01 /server/scrip ...

  5. Python常见问题 - 写入数据到 excel 报 ValueError: invalid literal for int() with base 10 错误

    背景 在上写入数据到excel中,报了以下错误 出现原因 对于写入excel场景下出现该错误的话,很大概率是写入数据的单元格原本的数据格式有问题 解决方法 清理掉单元格的旧数据,然后再写入就可以了

  6. 知乎大佬图文并茂的epoll讲解,看不懂的去砍他

    select.poll.epoll的文章很多,自己也看过不少经典好文.不过第一次看到讲的如此通俗易懂.又图文并茂的.因此拿来分享下,供后续翻看学习. 原文链接:https://zhuanlan.zhi ...

  7. redis存取数据String

    一.连接不同数据库和存取String类型值 1.连接数据库 2.set和get多个 3.取值并赋值 取值返回的是赋值改变之前的值: 4.递增和递减 5.字符串尾部加值 6.商品编号自增应用

  8. 获取input对应的的选项

    需求是把所有题目中的选项ABCDEF等对应保存到后台, 这个问卷中有多选项和单选项 var data = {}; $(".u-box .u-item").each(function ...

  9. bean的作用域和生命周期

    一.Bean作用域 二.生命周期 其中,这个类实现各种接口重写各种方法,会按bean的声明周期按序执行: 其中,自定义的初始化和自定义销毁的方法不是实现接口重写,而是成员方法,并且在装配bean即在x ...

  10. 通过HttpURLConnection下载图片到本地--批量下载

    一.背景说明 这篇文章讲述的是批量下载附件,在上一篇文章中,介绍了下载单个附件(上一篇文章). 二.实现思路 主要的实现思路:创建文件夹->文件夹中创建需要下载的文件->压缩文件夹-> ...