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)的更多相关文章

  1. 【443】Tweets Analysis Q&A

        [Question 01] When converting Tweets info to csv file, commas in the middle of data (i.e. locati ...

  2. 【avalon】data

    if (root.dataset) { avalon.fn.data = function (name, val) { name = name && camelize(name) va ...

  3. -_-#【jQuery】data

    .data() <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...

  4. 【推荐】Data Structure Visualizations

    University of San Francisco    David Galles 功能:可视化数据结构&算法实现过程 网站地址  https://www.cs.usfca.edu/~ga ...

  5. 【转】Data URL和图片,及Data URI的利弊

    Data URL给了我们一种很巧妙的将图片“嵌入”到HTML中的方法.跟传统的用img标记将服务器上的图片引用到页面中的方式不一样,在Data URL协议中,图片被转换成base64编码的字符串形式, ...

  6. 【CSAPP】Data Lab实验笔记

    前天讲到要刚CSAPP,这一刚就是两天半.CSAPP果然够爽,自带完整的说明文档,评判程序,辅助程序.样例直接百万组走起,管饱! datalab讲的是整数和浮点数怎么用二进制表示的,考验的是用基本只用 ...

  7. 【codeforces】【比赛题解】#950 CF Round #469 (Div. 2)

    剧毒比赛,至少涨了分对吧.: ( [A]Left-handers, Right-handers and Ambidexters 题意: 有\(l\)个右撇子,\(r\)个左撇子,\(a\)个双手都惯用 ...

  8. 【LeetCode】二叉查找树 binary search tree(共14题)

    链接:https://leetcode.com/tag/binary-search-tree/ [220]Contains Duplicate III (2019年4月20日) (好题) Given ...

  9. 【LeetCode】图论 graph(共20题)

    [133]Clone Graph (2019年3月9日,复习) 给定一个图,返回它的深拷贝. 题解:dfs 或者 bfs 都可以 /* // Definition for a Node. class ...

随机推荐

  1. 在linux系统中安装MySQL

    1.安装Linux系统中自带的MySQL安装包 在现在常用的发行版本里都集中了MySQL安装包 CentOS系统中的YUM中包含了MySQL安装包,版本是MySQL5,rpm软件包的名称是mysql- ...

  2. IntelliJ IDEA:给 web 应用提供 JSTL 支持

    最近在看<Head First Servlet JSP>学习JSP,看到JSTL一章,为了添加JSTL支持折腾了好久. 网上的教程五花八门,而且多数比较旧. 我尝试了各种方法都没有成功,很 ...

  3. Tomcat默认连接超时时间

    秒=1小时 2. 在web.xml中通过参数指定: xml 代码 <session-config>         <session-timeout>30</sessio ...

  4. 使用notepad++/excle快速将cvs文件转换为insert语句技巧以及注意点

    使用notepad++/excle快速将cvs文件转换为insert语句技巧以及注意点 业务场景 最近nc项目经理从第三方弄来了一个300w行的csv文件,让导入数据库做处理,出现了下列问题: csv ...

  5. linux服务器初始化(防火墙、内核优化、时间同步、打开文件数)

    #!/bin/bash read -p 'enter the network segment for visiting the server:' ips # 关闭firewalld和selinux s ...

  6. H3CNE学习1 课程简介

    一.认证对比 二.企业网架构

  7. C++ error C2015: too many characters in constant

    错误原因:字符常量中的字符太多了. 错误分析: 单引号表示字符型常量. 一般的,单引号中必须有,也只能有一个字符(使用转义符时,转义符所表示的字符当作一个字符看待),如果单引号中的字符数多于4个,就会 ...

  8. mount命令设备的挂载和卸载

    不能挂载到根目录:其他目录都可以 1.光盘设备挂载到mnt mount -t iso99660 /dev/cdrom /mnt 2.光盘镜像文件.so文件挂载到mnt mount -o loop -t ...

  9. cf 1037D BFS

    $des$一个 n 个点 m 条边的无向连通图从 1 号点开始 bfs,可能得到的 bfs 序有很多,取决于出边的访问顺序.现在给出一个 1 到 n 的排列,判断是否可能是一个 bfs 序. $sol ...

  10. Codevs 1482 路线统计(矩阵乘法)

    1482 路线统计 时间限制: 1 s 空间限制: 256000 KB 题目等级 : 钻石 Diamond 题目描述 Description N个节点的有向图, 求从start到finish刚好经过时 ...