在前一篇博客里面对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

arcgis api for python网盘_ArcGIS API for Python(2)相关推荐

  1. 百度网盘开放平台接入(Python)

    百度网盘开放平台接入(Python) 百度网盘开放平台接入链接:https://pan.baidu.com/union/doc/nksg0sbfs 接入流程 1.请在官网首页右上角找到登录入口,使用百 ...

  2. python网盘提取码怎么用_Python 一键获取百度网盘提取码

    ''' 遇到python不懂的问题,可以加Python学习交流群:1004391443一起学习交流,群文件还有零基础入门的学习资料 ''' VERSION = "VERSION 1.0.0& ...

  3. python软件下载安装百度网盘-python网盘下载

    广告关闭 2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品.未来,我们一起乘风破浪,创造无限可能. pip install tencentcloud-sdk-python ...

  4. 骆昊python100天百度网盘_GitHub - yiailake/Python-100-Days: Python - 100天从新手到大师

    Python - 100天从新手到大师 作者:骆昊 最近有很多想学习Python的小伙伴陆陆续续加入我们的交流群,目前我们的交流群人数已经超过一万人.我们的目标是打造一个优质的Python交流社区,一 ...

  5. python网盘搜索引擎_打造一个蓝奏云网盘搜索引擎

    目前存在的网盘搜索引擎好多,可以归于两类: 1.搜索引擎索引 2.爬虫入库索引 第一种:搜索引擎索引 这种索引方式是目前比较主流的方式,依靠百度,谷歌建立索引链接,当用户进行搜索的时候,网盘搜索引擎会 ...

  6. 骆昊python100天百度网盘_GitHub - wnxy/Python-100-Days: Python - 100天从新手到大师

    Python - 100天从新手到大师 作者:骆昊 说明:最近有很多想学习Python的小伙伴申请单独加我微信,因为我自己平时也很忙,没办法一一解答大家的问题,我创建了一个叫Python100天学习交 ...

  7. python 网盘搭建_给自己搭建一个网盘

    网盘,一度成为人们不可或缺的一部分,几年前网盘争夺战到处弥漫,1T.10T.30T存储空间无处不在,现如今要么关闭,要么收费,随着国内网盘厂商纷纷的关闭,目前也只有百度云.微云还可以使用,但百度云的不 ...

  8. python 网盘多帐号_CuteOne:一款基于Python3的OneDrive多网盘挂载程序,带会员/同步等功能...

    说明:现在OneDrive挂载目录程序越来越多了,之前水了很多了,包括PyOne.OneIndex.OLAINDEX和OneList,近期又出现了个CuteOne,一个基于Python3的OneDri ...

  9. python 网盘上传_python学习笔记 day32 实现网盘上传下载功能

    1. 作业需求 借助socket模块实现server端和client端的交互,拟实现网盘上传下载的功能: 上传: client端发送请求,把本地的文件上传给server端,server端负责接收,然后 ...

最新文章

  1. mysql数据是怎么存储的_mysql数据是怎么存储的
  2. 微软官方的SqlHelper
  3. asp.net 获得域名,端口,虚拟目录[转]
  4. nginx 返回动态Html,Nginx负载均衡 -Nginx动态更新upstream
  5. FSNotes for Mac(强大的文本编辑器)
  6. nginx反向代理初探
  7. Hibernate中配置C3P0连接池
  8. Windows下C++将各种资源文件引入exe文件(即无需携带很多res资源包)
  9. [Android]HttpPost之post请求传递Json数据
  10. 研究解决CLOB字段IO问题的方法
  11. Java实现Excel数据导入数据库
  12. 从选课系统看软件开发周期
  13. Win10 磁盘被写保护 请去掉写保护或使用另一张磁盘
  14. 五、python的数据容器(站在前辈们的肩膀上注入自己的理解,强势总结,适合入门,也适合复习)
  15. 电脑和微信怎么发邮件到别人邮箱,企业邮箱如何发email给别人
  16. 【狂神】JavaScript笔记
  17. seo网站关键词优化三大要素:技术 思路 执行力
  18. 如何统计网站的在线人数呢?
  19. 如何把excel中的一行复制成多行
  20. 职场拓展人脉的老派艺术

热门文章

  1. 全面开放运营3个月,百度揭秘Apollo最新技术创新
  2. Linux 操作系统开篇!
  3. 腾讯云首次披露虚拟化技术发展线路图,看好轻量级虚拟化的潜力
  4. 前方高能!IT 程序员、软件工程师值得考的证书原来有这么多! | 原力计划
  5. 仅需 5 步,用 JavaScript 直接通过前端发送电子邮件
  6. 详实!DevOps 最新现状研究报告解读 | 原力计划
  7. 为什么程序员如此“嫌弃”主干开发模式?
  8. 助力小程序生态发展 “小程序生态孵化社区”成立
  9. 华为鸿蒙为什么非要碰物联网?
  10. 公开课|智能文本信息抽取算法的进阶与应用