热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

arcgisapiforpython网盘_ArcGISAPIforPython(2)

在前一篇博客里面对ArcGISAPIforPython做了简单的介绍。我的Python学习笔记(5)ArcGISAPIforPython在这一篇文章里面,准备简单的使

在前一篇博客里面对ArcGIS API for Python做了简单的介绍。

我的Python学习笔记(5) ArcGIS API for Python

在这一篇文章里面,准备简单的使用此API。用例就是绘制朝阳区出租房价格热力图。

数据准备

准备方式多样,在这里,我为了简单,直接使用实验楼的一段代码,爬了一些样例数据。经过基本的预处理之后,大概是这样的。基本上包括,价格和地址就可以了。价格用来做热力图的字段,地址用来解析经纬度地址。

然后在Jupyter里面看看数据吧。

import pandas as pd

import calendar

renting_path = r'./renting.csv'

renting_df = pd.read_csv(renting_path)

renting_df.head(10)

此处应该画更精美的图的,偷懒了哈。

打开online或者portal

我这里就用Esri北京研发中心的portal作为示例

from arcgis.gis import GIS

from IPython.display import display

portal = GIS('http://yourorganization.maps.arcgis.com', YOUR_USERNAME, YOUR_PASSWORD)

上传csv数据

renting_path = r'./renting.csv'

renting_csv = portal.content.add({}, renting_path)

display(renting_csv)

马赛克处理的是我的用户名,用户名里带有组织名称,我就给它打码了。

发布为FeatureLayer(hosted)

renting_layer = renting_csv.publish()

# you can also use this to find it

renting_layer = portal.content.search('renting', 'feature layer')[0]

display(renting_layer)

这儿可以参考publishing-sd-shapefiles-and-csv这篇文章。再结合ArcGIS REST API的相关规范,就不难写好参数。

我这里图简单,经纬度字段直接使用系统默认可以支持的,所以不用在publish的参数里面指定。

地理编码/解码

这一节,我失败了。。

代码如下

import arcgis

single_line_address = "beijing"

geocoders = arcgis.geocoding.get_geocoders(portal)

#geocoders

beijing = arcgis.geocoding.geocode(address=single_line_address, geocoder=geocoders[0])

beijing

返回值是空: beijing = []

不过Esri自带的GeoCoder对于中国地址支持得并不好。可以使用国产API。由于文章的重点并不在意这儿,所以我使用了最简单的Python Geocoder package. 代码大概是这样的:

import geocoder

rlt = geocoder.google(address).json

if 'lng' in rlt:

return rlt['lng'], rlt['lat']

绘制热力图

map = portal.map('Beijing', 11)

map.add_layer(renting_layer, {"renderer" : "HeatmapRenderer", "opacity" : 0.75, "field" : "price"})

map

这里主要爬的是东面的数据做一个演示。所以有数据缺失的情况。

后续还准备使用Esri的空间分析功能,以及智能制图功能来渲各种图,以及进行空间分析的。但是精力有限。本次实验到此结束。下次会使用更好的数据,来做进一步的实验。

就我目前的使用体验来看,主要是觉得文档和API的版本有脱节的现象,使用起来有些不方便。如果对于Esri的online,portal,rest api规范不太熟悉的话,会有一些概念难以理解,一些参数不知道该如何设置。但是从代码的架构,代码风格来看,再过一段时间,必然会非常非常火。(2018年1月3日18:16:14)

转载自:https://blog.csdn.net/uninterrupted/article/details/78963948



推荐阅读
  • csv转为矩阵 python_Python可视化 | Seaborn5分钟入门(六)——heatmap热力图
    Seaborn是基于matplotlib的Python可视化库。它提供了一个高级界面来绘制有吸引力的统计图形。Seaborn其实是在matplotlib的基础上进行了更高级的API ... [详细]
  • 本文介绍了如何使用JSONObiect和Gson相关方法实现json数据与kotlin对象的相互转换。首先解释了JSON的概念和数据格式,然后详细介绍了相关API,包括JSONObject和Gson的使用方法。接着讲解了如何将json格式的字符串转换为kotlin对象或List,以及如何将kotlin对象转换为json字符串。最后提到了使用Map封装json对象的特殊情况。文章还对JSON和XML进行了比较,指出了JSON的优势和缺点。 ... [详细]
  • python机器学习之数据探索
    🐱今天我们来讲解数据建模之前需要处理的工作,也就是数据探索的过程,很多同学会说,不就是处理缺失值,异常值&# ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Linux重启网络命令实例及关机和重启示例教程
    本文介绍了Linux系统中重启网络命令的实例,以及使用不同方式关机和重启系统的示例教程。包括使用图形界面和控制台访问系统的方法,以及使用shutdown命令进行系统关机和重启的句法和用法。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • Java容器中的compareto方法排序原理解析
    本文从源码解析Java容器中的compareto方法的排序原理,讲解了在使用数组存储数据时的限制以及存储效率的问题。同时提到了Redis的五大数据结构和list、set等知识点,回忆了作者大学时代的Java学习经历。文章以作者做的思维导图作为目录,展示了整个讲解过程。 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文介绍了使用cacti监控mssql 2005运行资源情况的操作步骤,包括安装必要的工具和驱动,测试mssql的连接,配置监控脚本等。通过php连接mssql来获取SQL 2005性能计算器的值,实现对mssql的监控。详细的操作步骤和代码请参考附件。 ... [详细]
  • python3 nmap函数简介及使用方法
    本文介绍了python3 nmap函数的简介及使用方法,python-nmap是一个使用nmap进行端口扫描的python库,它可以生成nmap扫描报告,并帮助系统管理员进行自动化扫描任务和生成报告。同时,它也支持nmap脚本输出。文章详细介绍了python-nmap的几个py文件的功能和用途,包括__init__.py、nmap.py和test.py。__init__.py主要导入基本信息,nmap.py用于调用nmap的功能进行扫描,test.py用于测试是否可以利用nmap的扫描功能。 ... [详细]
  • 动量|收益率_基于MT策略的实战分析
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了基于MT策略的实战分析相关的知识,希望对你有一定的参考价值。基于MT策略的实战分析 ... [详细]
  • Ihavethisfollowinginputfile:我有以下输入文件:test.csvdone_cfg,,,,port<0>,clk_in,subcktA,ins ... [详细]
author-avatar
幽默的人生就是悲催基_129
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有