基于python的arcgis底图添加(转)
本文翻译自:Qingkai‘s Blog
当使用python的Basemap库绘制地图时,选择一个漂亮的底图会为图片增色不少,但是使用map.bluemarble()、map.etopo()或者map.shadedrelief()等函数时,由于分辨率的原因,将图片缩小到较小范围会使得底图非常模糊。其实,创建一个高分辨率的底图的方式时使用arcgisimage方法。您可以在这里看到Basemap的详细说明。我将在下边的例子当中展示几个非常漂亮的例子。
为了使用arcgisimage方法,你需要为不同的区域指定不同的epsg,并从以下列表中选择相应的服务(不同的服务请参考这里和这里):
- World_Physical_Map
- World_Shaded_Relief
- World_Topo_Map
- NatGeo_World_Map
- ESRI_Imagery_World_2D
- World_Street_Map
- World_Imagery
- ESRI_StreetMap_World_2D
- Ocean_Basemap
你会喜欢哪个底图呢?你可以在Qingkai’s Github下载脚本文件
In [1]:
from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt # let's first define a helper function to plot the map of Bay Area in US. def plot_map(service = 'World_Physical_Map', epsg = 4269, xpixels = 5000):
# note, you need change the epsg for different region,
#US is 4269, and you can google the region you want
plt.figure(figsize = (8, 8))
m = Basemap(projection='mill',llcrnrlon=-123. ,llcrnrlat=37,
urcrnrlon=-121 ,urcrnrlat=39, resolution = 'l', epsg = epsg) # xpixels controls the pixels in x direction, and if you leave ypixels
# None, it will choose ypixels based on the aspect ratio
m.arcgisimage(service=service, xpixels = xpixels, verbose= False) plt.show()
1 - World_Physical_Map
In [2]:
plot_map(service = 'World_Physical_Map', epsg = 4269)

2 - World_Shaded_Relief
In [3]:
plot_map(service='World_Shaded_Relief')

3 - World_Topo_Map
In [4]:
plot_map(service='World_Topo_Map')

4 - NatGeo_World_Map
In [5]:
plot_map(service='NatGeo_World_Map')

5 - ESRI_Imagery_World_2D
In [6]:
plot_map(service='ESRI_Imagery_World_2D')

6 - World_Street_Map
In [7]:
plot_map(service='World_Street_Map')

7 - World_Imagery
In [8]:
plot_map(service='World_Imagery')

8 - ESRI_StreetMap_World_2D
In [9]:
plot_map(service='ESRI_StreetMap_World_2D')

基于python的arcgis底图添加(转)的更多相关文章
- 【转载】Python与ArcGIS Engine的集成
本文转载自Fransico<Python与ArcGIS Engine的集成> 1 在Python中调用AO类库 1.1 准备工作 本文所使用环境:ArcGIS 10.0.Python ...
- 从Theano到Lasagne:基于Python的深度学习的框架和库
从Theano到Lasagne:基于Python的深度学习的框架和库 摘要:最近,深度神经网络以“Deep Dreams”形式在网站中如雨后春笋般出现,或是像谷歌研究原创论文中描述的那样:Incept ...
- 《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)
目录 前言 第1章 安装 第2章 程序的基本结构 第3章 模板 第4章 Web表单 第5章 数据库 第6章 电子邮件 第7章 大型程序的结构 前言 学习Python也有一个半月时间了,学到现在感觉 ...
- Jenkins持续集成项目搭建与实践——基于Python Selenium自动化测试(自由风格)
Jenkins简介 Jenkins是Java编写的非常流行的持续集成(CI)服务,起源于Hudson项目.所以Jenkins和Hudson功能相似. Jenkins支持各种版本的控制工具,如CVS.S ...
- Sublime Text3介绍和插件安装——基于Python开发
Subime编辑器是一款轻量级的代码编辑器,是收费的,但是可以无限期使用.官网下载地址:https://www.sublimetext.com. Sublime Text3支持语言开发种类多样,几乎可 ...
- Python 基于python操纵zookeeper介绍
基于python操纵zookeeper介绍 by:授客 QQ:1033553122 测试环境 Win7 64位 Python 3.3.4 kazoo-2.6.1-py2.py3-none-any.w ...
- 如何使用借助python完成 ARCGIS工具箱的调用
上个月使用python调用arcgis工具箱完成了火点txt文件转shp文件的小功能, 感觉很不错, 写下这篇博客希望对大家有所帮助. 1.环境介绍: 系统: win8.1(64位) arcgis:d ...
- web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架
基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架 by:授客 QQ:1033553122 博客:http://blog.sina.com.cn/ishou ...
- 接口自动化 [授客]基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0
基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0 by:授客 QQ:1033553122 博客:http://blog.sina.com.cn/ishou ...
随机推荐
- 配置thinkphp对mysql线上线下切换不同环境的配置 - (mysql-thinkphp) (1)
1.先打印出配置项的信息,在Index控制器下面的index->index里面设置 namespace app\index\controller; class Index { public fu ...
- P1039 到底买不买
转跳点:
- POJ 2309:BST lowbit
BST Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9140 Accepted: 5580 Description C ...
- Idea--使用Idea调试设置
参考 https://blog.csdn.net/yyjava/article/details/81453748 关闭一些Idea默认设置,否则懵逼到爆炸.. 1.关闭集合类视图 2.关闭watch视 ...
- python之os.exec*族用法简结
os.exec*族主要用来代替当前进程,执行新的程序,不返回值.在UNIX上,新的执行程序加载到当前进程,与调用它的进程有相同的id. os.execl(path, arg0, arg1, ...) ...
- 12 文件流(Unity3D)
关于文件操作在脚本中可以通过xml或其他的与文件相关的类中封装的一些方法可读取本地Asset文件夹下的xml文档和json文档到游戏中.但是这样操作文件难免会有拖延,C#提供了一种文件操作的方法, ...
- PHP - 接收检验验证码 , 以JSON的形式将验证结果返回给前端
<?php session_start(); $codeT = strtoupper(trim($_POST['codeT']));//接收前端传来的数据,转换成大写 $raw ...
- storm on yarn安装时 提交到yarn失败 failed
最近在部署storm on yarn ,部署参考文章 http://www.tuicool.com/articles/BFr2Yvhttp://blog.csdn.net/jiushuai/artic ...
- typeof()与Object.prototype.toString.call()
用typeof方法只能初步判断number string undefined boolean object function symbol这几种初步类型 使用Object.prototype.toSt ...
- CTF-域渗透--靶场夺旗
开门见山 1. 扫描靶场ip 192.168.1.106 2. 扫描靶场开放端口 3. 扫描靶场全部信息 4. 探测靶场敏感信息 5. 对一些特殊的端口进行nc探测 6. 为了绕过对应命令执行限制,可 ...