本文翻译自:Qingkai‘s Blog

当使用python的Basemap库绘制地图时,选择一个漂亮的底图会为图片增色不少,但是使用map.bluemarble()、map.etopo()或者map.shadedrelief()等函数时,由于分辨率的原因,将图片缩小到较小范围会使得底图非常模糊。其实,创建一个高分辨率的底图的方式时使用arcgisimage方法。您可以在这里看到Basemap的详细说明。我将在下边的例子当中展示几个非常漂亮的例子。

为了使用arcgisimage方法,你需要为不同的区域指定不同的epsg,并从以下列表中选择相应的服务(不同的服务请参考这里这里):

  1. World_Physical_Map
  2. World_Shaded_Relief
  3. World_Topo_Map
  4. NatGeo_World_Map
  5. ESRI_Imagery_World_2D
  6. World_Street_Map
  7. World_Imagery
  8. ESRI_StreetMap_World_2D
  9. 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底图添加(转)的更多相关文章

  1. 【转载】Python与ArcGIS Engine的集成

    本文转载自Fransico<Python与ArcGIS Engine的集成>   1 在Python中调用AO类库 1.1  准备工作 本文所使用环境:ArcGIS 10.0.Python ...

  2. 从Theano到Lasagne:基于Python的深度学习的框架和库

    从Theano到Lasagne:基于Python的深度学习的框架和库 摘要:最近,深度神经网络以“Deep Dreams”形式在网站中如雨后春笋般出现,或是像谷歌研究原创论文中描述的那样:Incept ...

  3. 《Flask Web开发——基于Python的Web应用开发实践》一字一句上机实践(上)

    目录 前言 第1章 安装 第2章 程序的基本结构 第3章 模板 第4章 Web表单 第5章 数据库 第6章 电子邮件 第7章 大型程序的结构   前言 学习Python也有一个半月时间了,学到现在感觉 ...

  4. Jenkins持续集成项目搭建与实践——基于Python Selenium自动化测试(自由风格)

    Jenkins简介 Jenkins是Java编写的非常流行的持续集成(CI)服务,起源于Hudson项目.所以Jenkins和Hudson功能相似. Jenkins支持各种版本的控制工具,如CVS.S ...

  5. Sublime Text3介绍和插件安装——基于Python开发

    Subime编辑器是一款轻量级的代码编辑器,是收费的,但是可以无限期使用.官网下载地址:https://www.sublimetext.com. Sublime Text3支持语言开发种类多样,几乎可 ...

  6. Python 基于python操纵zookeeper介绍

    基于python操纵zookeeper介绍 by:授客  QQ:1033553122 测试环境 Win7 64位 Python 3.3.4 kazoo-2.6.1-py2.py3-none-any.w ...

  7. 如何使用借助python完成 ARCGIS工具箱的调用

    上个月使用python调用arcgis工具箱完成了火点txt文件转shp文件的小功能, 感觉很不错, 写下这篇博客希望对大家有所帮助. 1.环境介绍: 系统: win8.1(64位) arcgis:d ...

  8. web自动化 基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架

    基于python+Selenium+PHP+Ftp实现的轻量级web自动化测试框架   by:授客 QQ:1033553122     博客:http://blog.sina.com.cn/ishou ...

  9. 接口自动化 [授客]基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0

    基于python+Testlink+Jenkins实现的接口自动化测试框架V3.0   by:授客 QQ:1033553122     博客:http://blog.sina.com.cn/ishou ...

随机推荐

  1. hihocoder 1241:Best Route in a Grid

    #1241 : Best Route in a Grid 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个N行N列的非负整数方阵,从左上角(1,1)出发,只能向下 ...

  2. SYSTEMTIME 获取日期之差

    #include <windows.h> #include <stdio.h> #include <stdlib.h> #include <string.h& ...

  3. 165-PHP 文本替换函数str_replace(六)

    <?php $str='programming'; //定义一个字符串 $replacement='er'; //定义替换的字符串 $res=substr_replace($str,$repla ...

  4. poi 导出Excel java代码

    js: function initBatchExport(url,sub_key,current_sub_num){ var btn_id="#btn_char"+current_ ...

  5. Flink 操作链与任务槽

    Operator Chains(操作链) Flink出于分布式执行的目的,将operator的subtask链接在一起形成task(类似spark中的管道). 每个task在一个线程中执行. 将ope ...

  6. 吴裕雄--天生自然C++语言学习笔记:C++ 多态

    多态按字面的意思就是多种形态.当类之间存在层次结构,并且类之间是通过继承关联时,就会用到多态. C++ 多态意味着调用成员函数时,会根据调用函数的对象的类型来执行不同的函数. 下面的实例中,基类 Sh ...

  7. libevent简介

    一.参考资料 1.ubuntu下安装libevent 2.libevent实现TCP 服务端

  8. CTF-域渗透--靶场夺旗

    开门见山 1. 扫描靶场ip 192.168.1.106 2. 扫描靶场开放端口 3. 扫描靶场全部信息 4. 探测靶场敏感信息 5. 对一些特殊的端口进行nc探测 6. 为了绕过对应命令执行限制,可 ...

  9. “设计型web前端与开发型web前端”有哪些区别?

    学web前端,你弄懂开发型web前端和设计型web前端的区别了吗?今天给大家梳理一下设计型web前端做什么?都要学习什么? 想必大家也会遇到这种情况,要做一个项目,产品经理说产品原型图已经画好了,让我 ...

  10. 高次同余方程 $BSGS$

    第一篇\(Blog\)... 还是决定把\(luogu\)上的那篇搬过来了. BSGS,又名北上广深 它可以用来求\(a^x \equiv b (mod \ n)\)这个同余方程的一个解,其中\(a, ...