python 空间分析,python数据分析模型有哪些
皮萨尔和软件很相似。一个通过编写脚本实现空间分析,另一个通过软件操作实现空间分析。
皮萨尔官网介绍了一个开源、跨平台的地理数据分析库。
皮萨尔能做什么?
空间分析可视化就足够了。
一。皮萨尔安装
安装非常简单,把相关的包都放进去。
点安装皮萨尔
点安装设计自动化
点安装地质公园
点安装点
或者,打开py charm ——文件——设置—— python解释器。
找到皮萨尔和esda、geopandas和splot,然后单击安装包进行安装。
设计自动化进行连接分析,地质公园对几何学进行矩阵处理,splot是绘图。
二。官方网站范例
皮萨尔官方网站,最上面有三个例子106 .http://pysal.org/
如果沿着这3个例子进行操作,也可以认为已经入门了空间分析。
最初柏林的房价是莫兰指数。
二是分析局部空间自相关的集合图丽莎是空间关联的本地指示。
三是计算空间权重。
三。测试数据
四。演示脚本
我们使用geopython-master\data的数据柏林-lists . CSV和柏林街区编写了简单的脚本。
空间权重:
fromlibpysal。重量。contiguityimportqueen
导入库
从利比萨尔导入示例
将matplotlib.pyplot作为血小板计数导入
导入地理熊猫作为gallonsperday每日加仑数
弗洛姆的情节。libpysalimportplot _ spatial _ weights
GDF=GPD.read _ file(数据/柏林-邻里s.geo JSON))
print(GDF.head))
权重=queen.from _数据框(GDF)
绘图空间权重(权重,gdf).
plt.show())
房价分布情况:
导入设计自动化
进口熊猫作为螺纹中径
导入地理熊猫作为gallonsperday每日加仑数
fromgeopandasimportgeodataframe
将利比萨尔作为低气压(low pressure的缩写)导入
将数组作为铭牌导入
将matplotlib.pyplot作为血小板计数导入
来自shapely.geometryimportpoint
# %matplotlib内联
GDF=GPD.read _ file(数据/柏林-邻里s.geo JSON))
bl _ df=PD.read _ CSV(数据/柏林-列表. CSV)
几何图形=[点(xy ) forxyinzip(bl_df。经度,bl_df。纬度)]
CRS={ init : epsg :4326 }
bl _ GDF=地理数据框架(bl_df,crs=crs,geometry=geometry))。
bl _ GDF [价格]=bl _ GDF [价格]。作为类型[浮点32 ]
SJ_GDF=GPD.sjoin(GDF,bl_gdf,how=inner ,op=intersects ,lsuffix=left ,rsuffix=right)
median _ price _ GB=SJ _ GDF [价格]。分组依据[SJ _ GDF[邻里_团体]].平均(
打印(中位数_价格_ GB)。
GDF=GDF.join(median_price_GB,on= neighborhood _ group )))))))))))660)
GDF。rename(columns={ price : median _ pri },inplace=True))
打印(GDF.head ) 15)。
PD .为空(GDF [ median _ pri ]).sum)))))))))))))))))))))。
GDF [中值优先级]。填写北美(GDF [ median _ pri ].均值),原地=真) )
gdf.plot(column=median_pri )。
plt.show())
伊丽莎白的昵称聚合图:
导入库
将数组作为铭牌导入
来自giddy.directionalimportrose
将matplotlib.pyplot作为血小板计数导入
f=打开(libpysal。例子。获取路径(SPI下载.CSV), r ))
lines=f.readlines(
f.close()
lines=[line.strip().拆分),),用于行中的行]
names=[line[2]for line inlines[1:-5]]
数据=NP .Array([list(map,line[3:])]for line in lines[1:-5]])
SIDS=list(range(60))))))
out=[ 美国3/,
《阿拉斯加3/》,
"哥伦比亚特区",
《夏威夷3/》,
"新英格兰","中东",
"五大湖",
"平原,
"东南",
"西南方",
《落基山》,
"远西3/"
snames=[namefornameinnamesifnamenotinout]
sid=[names。snames中名称的索引(名称]
状态=数据[sid,]
us=data[0]
年=NP.arange (1969,2009)))))))。
REL=国家/(美国*1。) ) )。
gal=libpysal。io。打开(libpysal。例子。get _ path(状态48。gal))
w=gal.read()
w.transform=r
Y=rel[:[0,-1]]
# Y。形状
# Y
NP .随机种子(100)).
R4=罗斯(y,w,k=4))。
r4.plot())
plt.show())
五。总结
可以使用空间分析Geoda和pysal。只要达到目标,就可以用软件,也可以写程序。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。