python 计算面积 比计算几何慢_利用ArcGIS和Python计算中国各省路网密度
ArcGIS
相交
利用ArcGIS里面的相交工具,每个省把路标识了。
计算几何
分别计算路网的长度和各省的面积。
Python
利用Python对属性数据进行处理
导入相关模块
## 导入相关模块
import pandas as pd
import geopandas as gpd
import matplotlib.pyplot as plt
%matplotlib inline
解决中文乱码
plt.rcParams['font.family'] = ['sans-serif']
plt.rcParams['font.sans-serif'] = ['SimHei']# 替换sans-serif字体为黑体
plt.rcParams['axes.unicode_minus'] = False # 解决坐标轴负数的负号显示问题
数据读取
regibns = gpd.GeoDataFrame.from_file("省级行政区.shp")
regibns = regibns[["NAME","AREA","geometry"]]
regibns["AREA"] = regibns["AREA"]/1000000
regibns.head()
regibns.plot()
!
road = gpd.GeoDataFrame.from_file("道路密度.shp")
road.head()
road = road[["NAME", "length", "geometry"]]
road.plot()
数据透视
pivot = pd.pivot_table(road, index="NAME",values="length",aggfunc=sum)
pivot.head()
数据连接
results = pd.merge(regibns, pivot, on="NAME")
results["Density"] = results["length"] / results["AREA"]
results.head()
数据可视化
data_geod = gpd.GeoDataFrame(results)
data_geod['coords'] = data_geod['geometry'].apply(lambda x: x.representative_point().coords[0])
data_geod.plot(figsize=(12, 12), column='Density', scheme='quantiles', legend=True, cmap='Reds', edgecolor='k')
for n, i in enumerate(data_geod['coords']):
plt.text(i[0], i[1], data_geod['NAME'][n], size=12)
plt.title('中国各省主要公路密度图', size=25)
plt.grid(True, alpha=0.3)
总结和反思
因为arcpy只支持python2,我用ArcGIS Pro的python3,也没有geopandas模块,所以在两个软件切换了。在ArcGIS中注意坐标系,我们计算面积和长度都是在投影坐标系下进行的。还有那个大神可以告诉我geopandas里面我的线图层和面图层怎么叠加,就是在这个底图的基础上加入路网图层。
python 计算面积 比计算几何慢_利用ArcGIS和Python计算中国各省路网密度相关推荐
- python 计算面积 比计算几何慢_计算几何相关 - osc_kbyywydz的个人空间 - OSCHINA - 中文开源技术交流社区...
计算几何相关 ##向量表示法 这里最适合的就是用一个二维点对$(a,b)$来表示了. ##点积 ${a.xb.x+a.yb.y}$ 在向量的含义下:$\vec{a}·\vec{b}=|\vec{a}| ...
- python做病毒传播的空间数据_利用4行Python代码监测每一行程序的运行时间和空间消耗...
Python是一个高层次的结合了解释性.编译性.互动性和面向对象的脚本语言,其具有高可扩展性和高可移植性,具有广泛的标准库,受到开发者的追捧,广泛应用于开发运维(DevOps).数据科学.网站开发和安 ...
- python 计算面积 比计算几何慢_计算几何_求面积_辛普森积分公式
附上一道水(模板)题 https://vjudge.net/problem/HDU-1724 和一道我认为卡精度要命的题(当然 是用这个方法被卡得要命的...) https://vjudge.net/ ...
- python追踪屏幕的移动目标_利用树莓派和Python建立一个简单、便宜的移动目标探测器...
今天我们将讨论如何建立一个简单.便宜的移动目标探测器. 这项研究的目的是确定在一个便宜的移动设备上的对象检测模型是否可以用于现实世界的任务. 作为一个移动平台,我们使用的是树莓派3B.树莓派是一款售价 ...
- python 按钮更改输入框的值_利用 50 行 Python 代码构建一个在线文本生成器!
本指南将引导你学习构建一个自动完成任意输入文本的Web应用程序. 作者 | Dev Sharma译者 | 苏本如,责编 | 郭芮出品 | CSDN(ID:CSDNnews) 以下为译文: 在本文中,我 ...
- python如何实现找图_利用OpenCV和Python实现查找图片差异
使用OpenCV和Python查找图片差异 flyfish 方法1 均方误差的算法(Mean Squared Error , MSE) 下面的一些表达与<TensorFlow - 协方差矩阵&g ...
- python打代码运行图形_利用aardio给python编写图形界面
前阵子在用python写一些小程序,写完后就开始思考怎么给python程序配一个图形界面,毕竟控制台实在太丑陋了. 于是百度了下python的图形界面库,眼花缭乱的一整页,拣了几件有"特色& ...
- python数据可视化利用_利用pyecharts实现python数据可视化
**python 利用pyecharts实现python数据可视化 **web pyecharts是一种交互式图表的表达方式. pyecharts是一款将python与echarts结合的强大的数据可 ...
- excel和python建模_利用Excel学习Python:准备篇
写在前面 这个系列我们要利用Excel的知识,学会用python进行数据分析,如果你精通Excel想要用python提高数据分析效率,那么这个系列你来对了,如果你已经是python大神,想要建模/算法 ...
最新文章
- ABP框架展示异常信息
- mysql中的各种锁把我搞糊涂啦~
- [转]Eclipse中的Web项目自动部署到Tomcat
- http协议 php,PHP中的http协议
- POJ - 1185 炮兵阵地(状压dp)
- java三个环境变量_java基础(一):我对java的三个环境变量的简单理解和配置
- 熊吃人该不该杀?这头3米高的大熊吃了7个人,还在洞里藏了很多女人用的东西.........
- android怎么换小米系统更新,miui8怎么更新 miui8更新升级方法汇总
- Linux下扩容系统容量和删除unknown PV
- spring-retry小结
- 这不是我想要的Serverless
- Solana 海湾流(Gulf Stream)海平面(Sealevel)区别
- 正则表达式,小于等于180且大于等于0的浮点型
- 装双系统win10和android,厉害了小米6!不仅骁龙835,还支持安卓和win10双系统
- 现代档案馆库房环境监控管理系统解决方案
- 理财入门《解读基金-我的投资观与实践》阅读总结
- jenkins+Xcode+蒲公英实现ipa自动打包发布全攻略
- 使用Arduino开发ESP32(06):Ethernet的使用(基于LAN8720)
- 10大主流压力/负载/性能测试工具推荐
- YOLOv5+BiSeNet——同时进行目标检测和语义分割
热门文章
- 解决问题:Do not know how to handle these types to promote: {‘DoubleTensor‘, ‘FloatTensor‘}
- 织梦dedeCMS模板-织梦模板-dede模板【免费下载】
- 华为鸿蒙5s手机价格,华为荣耀5s手机报价及参数配置介绍【图文】
- Failed to reconcile etcd plane: Failed to add etcd member [etcd-server05] to etcd cluster
- 华中科技大学计算机学报格式要求,华中科技大学管理学院学术期刊分类办法.doc...
- TrueNAS安装Windows虚拟机卡在“Press any key to boot from CD or DVD...”的解决办法
- PLC设计思考[2]
- 从零实现无序抓取(四)如何获取点云位姿估计真值
- moble slider
- JavaScript——promise(一)基础篇