【444】Data Analysis (shp, arcpy)
ABS suburbs data of AUS
1. Dissolve
Merge polygons with the same attribute of "SA2_NAME16".
>>> import arcpy
>>> mxd = arcpy.mapping.MapDocument("CURRENT")
>>> df = arcpy.mapping.ListDataFrames(mxd)[0]
>>> lyrs = arcpy.mapping.ListLayers(df)
>>> for lyr in lyrs:
... arcpy.Dissolve_management(lyr, "Dissolve_" + lyr.name, 'SA2_NAME16', '#', 'MULTI_PART', 'DISSOLVE_LINES')
...
2. Add Centroid XY
After using the "Add Geometry Attributes" tool, we should close shp files and add them again and will see the results. (Sometimes it can show directly, WTF!!!)
...
>>> for lyr in lyrs:
... arcpy.AddGeometryAttributes_management(lyr, "CENTROID")
...
3. Add a state field
Before merging those polygons, we should point a specific field storing state info.
Before doing this, atrribute window should be closed, or it won't work.
...
>>> for i in range(1, 9):
... arcpy.AddField_management(lyrs[i], "State", "TEXT")
...
>>> # file name like "Suburbs_MB_2016_NSW"
>>> # we want to get "NSW"
>>> for i in range(1, 9):
... cursor = arcpy.UpdateCursor(lyrs[i])
... fn = lyrs[i].name
... for row in cursor:
... row.setValue("State", fn[fn.rfind("_")+1:])
... cursor.updateRow(row)
...
4. Merge the whole polygons into one
>>> mxd = arcpy.mapping.MapDocument("CURRENT")
>>> df = arcpy.mapping.ListDataFrames(mxd)[0]
>>> lyrs = arcpy.mapping.ListLayers(df)
>>> arcpy.Merge_management(lyrs, "Suburbs_MB_2016_AUS")
5. Export table to csv file
Tool: Export Feature Attribute to ASCII
ref: Export an attribute table to .txt using arcpy.
>>> arcpy.ExportXYv_stats('Suburbs_MB_2016_AUS', 'SA2_NAME16;CENTROID_X;CENTROID_Y;State;Shape_Area', 'COMMA', r'D:\Twitter Data\Data\test\2.csv', 'ADD_FIELD_NAMES')
6. Get specific columns
Based on pandas lib.
>>> df = pd.read_csv(r"D:\Twitter Data\Data\test\2.csv")
>>> df.head()
XCoord YCoord ... STATE SHAPE_AREA
0 117.899601 -35.008360 ... WA 0.003012
1 118.207172 -34.718972 ... WA 0.394533
2 115.865812 -31.834866 ... WA 0.000638
3 115.677976 -31.600241 ... WA 0.003104
4 115.836085 -32.019166 ... WA 0.000518 [5 rows x 7 columns]
>>> df.columns
Index(['XCoord', 'YCoord', 'SA2_NAME16', 'CENTROID_X', 'CENTROID_Y', 'STATE',
'SHAPE_AREA'],
dtype='object')
>>> df1 = df[['SA2_NAME16', 'CENTROID_X', 'CENTROID_Y', 'STATE', 'SHAPE_AREA']]
>>> df1.columns
Index(['SA2_NAME16', 'CENTROID_X', 'CENTROID_Y', 'STATE', 'SHAPE_AREA'], dtype='object')
>>> df1.head()
SA2_NAME16 CENTROID_X ... STATE SHAPE_AREA
0 Albany 117.899601 ... WA 0.003012
1 Albany Region 118.207172 ... WA 0.394533
2 Alexander Heights - Koondoola 115.865812 ... WA 0.000638
3 Alkimos - Eglinton 115.677976 ... WA 0.003104
4 Applecross - Ardross 115.836085 ... WA 0.000518 [5 rows x 5 columns]
>>> df1.to_csv(r"D:\Twitter Data\Data\test\Suburbs_AUS.csv", index=False)
7.
【444】Data Analysis (shp, arcpy)的更多相关文章
- 【443】Tweets Analysis Q&A
[Question 01] When converting Tweets info to csv file, commas in the middle of data (i.e. locati ...
- 【avalon】data
if (root.dataset) { avalon.fn.data = function (name, val) { name = name && camelize(name) va ...
- -_-#【jQuery】data
.data() <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...
- 【推荐】Data Structure Visualizations
University of San Francisco David Galles 功能:可视化数据结构&算法实现过程 网站地址 https://www.cs.usfca.edu/~ga ...
- 【转】Data URL和图片,及Data URI的利弊
Data URL给了我们一种很巧妙的将图片“嵌入”到HTML中的方法.跟传统的用img标记将服务器上的图片引用到页面中的方式不一样,在Data URL协议中,图片被转换成base64编码的字符串形式, ...
- 【CSAPP】Data Lab实验笔记
前天讲到要刚CSAPP,这一刚就是两天半.CSAPP果然够爽,自带完整的说明文档,评判程序,辅助程序.样例直接百万组走起,管饱! datalab讲的是整数和浮点数怎么用二进制表示的,考验的是用基本只用 ...
- 【codeforces】【比赛题解】#950 CF Round #469 (Div. 2)
剧毒比赛,至少涨了分对吧.: ( [A]Left-handers, Right-handers and Ambidexters 题意: 有\(l\)个右撇子,\(r\)个左撇子,\(a\)个双手都惯用 ...
- 【LeetCode】二叉查找树 binary search tree(共14题)
链接:https://leetcode.com/tag/binary-search-tree/ [220]Contains Duplicate III (2019年4月20日) (好题) Given ...
- 【LeetCode】图论 graph(共20题)
[133]Clone Graph (2019年3月9日,复习) 给定一个图,返回它的深拷贝. 题解:dfs 或者 bfs 都可以 /* // Definition for a Node. class ...
随机推荐
- ORM框架三种映射在Springboot上的使用
ORM(对象/关系映射)是数据库层非常重要的一部分,有三种常用的映射关系 1.多对一 tbl_clazz clazz{ id name description grade_id charge_id } ...
- idea-git同步服务器代码后撤销操作
工具:IntelliJ IDEA 2019.2.1 x64 记录一次不小心同步代码后,如何撤销操作. 1.同步服务器代码,右击项目,点击Synchronize 'xxx',如下: 2.打开Versio ...
- ClickHouse 分布式高可用集群搭建(转载)
一.ClickHouse安装方式: 源码编译安装 Docker安装 RPM包安装 为了方便使用,一般采用RPM包方式安装,其他两种方式这里不做说明. 二.下载安装包 官方没有提供rpm包,但是Alti ...
- learning java 字符串常用操作
// 字符串索引取值 "; System.)); // 字符串比较 "; "; "; System.out.println(s1.compareTo(s2)); ...
- 开始编写Makefile
1.Makefile 的编写规则一 目标列表:关联性列表 命令列表 目标列表:可以是多个以空格隔开多个目标文件 关联列表页称为先决条件:同样是用个或多个空格分开的目标文件 命令列表:用<tab& ...
- 使用pytesseract进行图像识别
引言 对于简单验证码及一些图像的识别,我们需要使用pytesseract及相应的Tesseract引擎,它是开源的OCR引擎.帮助我们做一些简单的图像识别 当然为了更好将图片识别,对一些像素比较低的图 ...
- 2019 ACM-ICPC 西安全国邀请赛 E-Tree 树链剖分+线段树
题意 给一颗带点权的树,三种操作 \(1~s~t\) 修改从1到s的路径上的所有点,\(a[i]=a[i]|t\) \(2~s~t\) 修改从1到s的路径上的所有点,\(a[i]=a[i]\& ...
- realloc()函数
原型:extern void *realloc(void *mem_address, unsigned int newsize); 参数: mem_address: 要改变内存大小的指针名 newsi ...
- 常用spaceclaim脚本
#创建一个长方体,通过两点来确定一个立方体 #MM表示的是以毫米作为单位 #返回的是一个BlockBody的对象 #本函数还有第三个参数可选,分别代表增加材料,切除材料等等 #默认值为增加材料 注:第 ...
- fluent中interpolate的用法
原视频下载地址: https://pan.baidu.com/s/1hTD6tIlYL1S0nm30riAD9w 密码: ngv9