使用Python写入几何

写入几何

通过使用 插入和 更新游标,脚本可以在要素类中创建新要素或更新现有要素。脚本可以通过创建 点对象、填充要素属性和将要素放入 数组中来定义要素。然后,即可通过 面 (Polygon)、 折线 (Polyline)、 点几何 (PointGeometry) 或 多部件 (MultiPoint) 几何类使用该数组来设置要素几何。

import arcpy

fc = "c:/data/gdb.gdb/roads"

cursor = arcpy.da.InsertCursor(fc, ["SHAPE@"])

array = arcpy.Array([arcpy.Point(5997611.48964, 2069897.7022),

arcpy.Point(5997577.46097, 2069905.81145)])

polyline = arcpy.Polyline(array)

cursor.insertRow([polyline])

如上所示,单个几何部分可以由点数组定义。同样,可以使用同一游标从点数组的数组创建多部件要素,如下所示。

firstPart = arcpy.Array([arcpy.Point(5997624.6225, 2069868.8208),

arcpy.Point(5997674.94199, 2069833.81741)])

secondPart = arcpy.Array([arcpy.Point(5997616.44497, 2069862.32774),

arcpy.Point(5997670.57373, 2069824.67456)])

array = arcpy.Array([firstPart, secondPart])

multipartFeature = arcpy.Polyline(array)

cursor.insertRow([newGeometry2])

在写入点要素时,只有单个点对象用于设置点要素几何。使用 SHAPE@XY 令牌(以及 SHAPE@M 和 SHAPE@Z 令牌(如果需要的话)),也可更加轻松地创建点。

import arcpy

# fc is a point feature class

#

fc = "c:/data/gdb.gdb/stops"

cursor = arcpy.da.InsertCursor(fc, ["SHAPE@XY"])

xy = (5997594.4753, 2069901.75682)

cursor.insertRow([xy])

所有几何在写入要素类前都已经过验证。在插入几何前的几何简化过程中,将纠正各类问题(例如,不正确的环方向和自相交面以及其他问题)。

以下示例显示如何读取包含一系列线性坐标的坐标组(由 coordsList 定义),并使用它们创建新的要素类。

# Create a new line feature class using a text file of coordinates.

# Each coordinate entry is semicolon delimited in the format of ID;X;Y

import arcpy

import os

# List of coordinates (ID, X, Y)

#

coordsList = [[1, -61845879.0968, 45047635.4861],

[1, -3976119.96791, 46073695.0451],

[1, 1154177.8272, -25134838.3511],

[1, -62051091.0086, -26160897.9101],

[2, 17365918.8598, 44431999.7507],

[2, 39939229.1582, 45252847.3979],

[2, 41170500.6291, 27194199.1591],

[2, 17981554.5952, 27809834.8945],

[3, 15519011.6535, 11598093.8619],

[3, 52046731.9547, 13034577.2446],

[3, 52867579.6019, -16105514.2317],

[3, 17160706.948, -16515938.0553]]

# The output feature class to be created

#

outFC = arcpy.GetParameterAsText(0)

# Get the template feature class

#

template = arcpy.GetParameterAsText(1)

cur = None

try:

# Create the output feature class

#

arcpy.CreateFeatureclass_management(os.path.dirname(outFC),

os.path.basename(outFC),

"POLYLINE", template)

# Open an insert cursor for the new feature class

#

cur = arcpy.da.InsertCursor(outFC, ["SHAPE@"])

# Create an array object needed to create features

#

array = arcpy.Array()

# Initialize a variable for keeping track of a feature's ID.

#

ID = -1

for coords in coordsList:

if ID == -1:

ID = coords[0]

# Add the point to the feature's array of points

# If the ID has changed, create a new feature

#

if ID != coords[0]:

cur.insertRow([arcpy.Polyline(array)])

array.removeAll()

array.add(arcpy.Point(coords[1], coords[2], ID=coords[0]))

ID = coords[0]

# Add the last feature

#

cur.insertRow([arcpy.Polyline(array)])

except Exception as e:

print e.message

finally:

# Cleanup the cursor if necessary

#

if cur:

del cur

通过创建由数组构成的数组并将其传递到 Polygon 类和 Polyline 类,可以创建多部分面要素和折线要素以及带有内部环的面要素。

使用Python写入几何 相关文章

树介绍(二叉树,二分搜索树)

1、为什么要使用树结构 将数据使用树结构存储后,出奇的高效。 2、常用的数结构 二分搜索树(Binary Search Tree) 平衡二叉树: AVL; 红黑树 堆; 并查集 线段树; Trie(字典树,前缀树) 3、二叉树 和链表一样,动态数据结构 对于每一个节点,最多有两个

unittest用例编写

1、第一步:创建python用例文件 2、第二步:创建用例类 3、第三步:写测试用例 import unittestclass TestDemo(unittest.TestCase): """定义测试类""" def test_01_login(self): print("这是一条测试登录的用例") def test_02_register(self): print("这是一

如何使用一个域名配置多个Laravel项目

每天进步一点点... 这是自己在学习过程中遇到的一个问题。申请了一个二级域名(api.demo.com),想实现(api.demo.com/blog)就是我博客项目,(api.demo.com/test)就是我测试项目,奈何技术有限,又是首次接触nginx,捣鼓了很久才弄好。 我用的是宝塔面板

C++/C++11中头文件cmath的使用

参考链接: C++ lround() math.h是C标准函数库中的头文件。在C++中一般用cmath。此头文件中声明了一系列函数来计算常见的数学运算和变换:? std::abs: 计算绝对值,包括整数类型;? std::fabs: 计算绝对值,不包括整数类型;? std::fma(x,y,z):x*y+z;? std::

C++/C++11中头文件cmath的使用

参考链接: C++ scalbln() math.h是C标准函数库中的头文件。在C++中一般用cmath。此头文件中声明了一系列函数来计算常见的数学运算和变换:? std::abs: 计算绝对值,包括整数类型;? std::fabs: 计算绝对值,不包括整数类型;? std::fma(x,y,z):x*y+z;? std:

使用kube-backup来备份K8s的资源

K8s里面的各种资源yaml文件,建议还是需要定期备份的。 之前我们是在外部机器上 用的kubectl get xx遍历后,存下来,然后再git commit 提交到gitlab去备份。 最后空闲,研究了下之前运维同学部署在K8s里面的kube-backup这个备份方式,发现大体逻辑和我之前的

Go语言map的使用

初始化map // 第一种声明方式var user_profile = map[string]string{ "name":"wuxiaoshi", "address":"北京市朝阳区"}// 也可以这样声明,只是变量声明的一种简洁方式user_profile1 := map[string]string{ "qq": "1045216729"} // 第二种声明方式user_profil

关于CSS中函数的使用----var()函数 与 attr()函数

1 关于var()函数使用注意点: 这个函数的作用获取自定义属性的值 关于自定义属性: 1 出现位置 要么在 style body{ --self-property: 1; } /style 要么在 div style="--self-property: 1"/div 总之必须要在style中 2 格式要求: 自定义属性必须要加上 -- 前缀来

centos 7下安装xampp,并使用wordpress搭建站点

根据拼客学院陈鑫杰《零基础如何学习Web安全渗透测试推荐这份史上最详细的自学路线图

PYQT5 in Python

目录 1. PyQt5基础 1.1 GUI编程学什么 1.2 PyQT是什么 1.3 PyQT的优势 1.4 开发环境的安装 1.5 第一个pyqt5桌面应用 2. QtDesigner的使用 2.1 安装和配置 2.2 快速入门 2.3 将ui文件转换成py文件 2.4 水平布局 2.5 垂直布局 2.6 同时使用水平布局和垂直布局

python 几何_使用Python写入几何相关推荐

  1. 第一章 第一节:Python基础_认识Python

    Python基础入门(全套保姆级教程) 第一章 第一节:Python基础_认识Python 1. 什么是编程 通俗易懂,编程就是用代码编写程序,编写程序有很多种办法,像c语言,javaPython语言 ...

  2. excel python插件_利用 Python 插件 xlwings 读写 Excel

    Python 通过 xlwings 读取 Excel 数据 去年底公司让我做设备管理,多次委婉拒绝,最终还是做了.其实我比较喜欢技术.做管理后发现现场没有停机率统计,而原始数据有,每次要自己在Exce ...

  3. python 字符识别_使用python进行光学字符识别入门

    python 字符识别 语言模型设计 (Language Model Designing) Optical Character Recognition is the conversion of 2-D ...

  4. 类的继承python事例_【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸...

    作者:白宁超 2016年10月10日22:36:57 摘要:继一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc入门资料包含了基本要点.本文是对文档常用核心要点进行梳理,简 ...

  5. java python算法_用Python,Java和C ++示例解释的排序算法

    java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...

  6. 网络安全用python吗_使用Python进行网络安全渗透——密码攻击测试器

    相关文章: 本篇将会涉及: HTTP 基本认证 对HTTP Basic认证进行密码暴力攻击测试 什么是HTTP 基本认证 HTTP基本认证(HTTP Basic Authentication)是HTT ...

  7. 动态照片墙 python 实现_利用python生成照片墙的示例代码

    这篇文章主要介绍了利用python生成照片墙的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 PIL(Python Im ...

  8. python字符串_(Python基础教程之七)Python字符串操作

    Python基础教程 在SublimeEditor中配置Python环境 Python代码中添加注释 Python中的变量的使用 Python中的数据类型 Python中的关键字 Python字符串操 ...

  9. python元宵节_用Python写一份独特的元宵节祝福

    这样思路就出来了:我们自己输入汉字,根据字符串中汉字字符编码,去HZK16字库中获取点阵信息,拿到信息后根据16*16点阵每个点的数据,print 出不同字符. Talk is cheap, show ...

最新文章

  1. 微软公布Win10正式版功能对比表,哪个版本适合你?
  2. linux kernel中的进程栈
  3. Python和SQL Server 2017的力量
  4. 什么是eager loading
  5. VMWare 环境下devstack创建虚拟机报错及修改nova-api返回数据得条目
  6. 是圆的问题呢(洛谷P1652题题解,Java语言描述)
  7. 为什么数据可视化很重要
  8. document.frames()与document.frames[]的区别
  9. 操作系统习题解答 (张尧学) 第一章
  10. MongoDB 索引操作详解
  11. 秩为1的矩阵的性质总结
  12. macOS 安装老旧版本的 adobe 应用
  13. latex,希腊字母,英文花体字
  14. Python数据分析与挖掘实战第三章笔记之贡献度分析代码
  15. Maya中怎么一键清除历史
  16. 将中文字符串转为拼音
  17. 记一次android任务栈页面跳转问题
  18. Java程序员花十个月做私活,收入50w+,网友:老哥建个群搭个伙呗
  19. matlab模拟n维谐振子,n维耦合谐振子的能量谱条件数理论研究
  20. 8条职场工作经验总结——在 12 家创业公司干过之后

热门文章

  1. Global Pointer
  2. ArcGIS Server 利用掩膜遮挡(免裁剪)将影像叠加发布 方法——节省大量影像裁剪时间
  3. html前台截取/以后的字段,javascript如何截取字符串后几位?
  4. [BUUCTF][GYCTF2020]Ezsqli
  5. PHP 微信网页授权获取用户信息
  6. 网络安全工程师从0单排日记---(0)
  7. CUDA Samples 之 Simulations 之 Particles (1)
  8. centos7静默安装oracle11gR2 实践
  9. python_获取网络(大华)摄像头画面,并存储为图片和视频
  10. Autodesk Maya 2018.5 Crack 破解版