在使用Basemap过程中发现它不能添加指南针,自带的添加经纬度只能画经纬度线和添加text,却不能像arcmap那样显示刻度。

由于Basemap基于matplotlib,可以手动实现这两个功能。
代码如下:

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
def set_lonlat(_m, lon_list, lat_list, lon_labels, lat_labels, lonlat_size):
    为Basemap实例画带tick标的经纬度注释
    自带画水平线和竖直线标注方式不带刻度标
    当然函数仍调用了自带标注函数只是在此基础上加了tick标
    :param _m: Basemap实例
    :param lon_list: 经度 详见Basemap.drawmeridians函数介绍
    :param lat_list: 纬度 同上
    :param lon_labels: 标注位置 [左, 右, 上, 下] bool值 默认只标注左上待完善 可使用twinx和twiny实现
    :param lat_labels: 同上
    :param lonlat_size: 字体大小
    :return:
    lon_dict = _m.drawmeridians(lon_list, labels=lon_labels, color='none', fontsize=lonlat_size)
    lat_dict = _m.drawparallels(lat_list, labels=lat_labels, color='none', fontsize=lonlat_size)
在使用Basemap过程中发现它不能添加指南针,自带的添加经纬度只能画经纬度线和添加text,却不能像arcmap那样显示刻度。由于Basemap基于matplotlib,可以手动实现这两个功能。代码如下:from mpl_toolkits.basemap import Basemapimport matplotlib.pyplot as pltimport matplotlib.p... 两个函数: Base map .drawparallels ##纬度 Base map .drawmeridians ## 经度 from mpl_toolkits. base map import Base map import matplotlib .pyplot as plt import numpy as np # setup Lambert Conformal base map . m = Base map (width=12000000,height=9000000,projection='lcc', resolution='c',lat_1=45.,lat_2=55,la 地图 投影是将球体或椭球体表面上位置的纬度和 经度 系统地转换为平面上的位置。 —() 简单地 使用 笛卡尔坐标在那个平面上画一个圆会导致一些……东西。 Thomas Lecoq 帮助一些成 Python ,以便正确计算的大圆距离。 我在这里复制了一些小的改动,以 Circles 的形式,一个小型的便利库。 它旨在与 matplotlib 的扩展一起 使用 ,并且需要库。 使用 pip 安装它: pip install circles Circles公开了一个方法circle() 。 将您的 Base map 实例、您希望作为圆心的点的 经度 和纬度以及半径传递给它。 它将返回 地图 投影坐标中的 lon、lat 元组列表,可以将其传递给您的 Base map 实例进行绘图,或 使用 转换为多边形,然后 使用 进行绘图。 一个简单的例子: # the shaded circle has the wrong 使用 base map 、cartopy等包在 python 中绘制 地图 添加 比例尺有投影限制,不太方便。 本博文 使用 最基础的 matplotlib 画线实现比例尺的 添加 ,为大家提供一种可选思路。 提供了三种可选风格,根据自己需要进行选择。 原理为根据1°=111千米的原理计算需要绘制的长度,因此本代码主要适用于低纬度地区的wgs84投影的绘图。高纬度地区投影变形太大, 使用 这种方法会不准确。 大家也可以根据这种思路自己修改代码。 详细代码: #-----------函数: 添加 比例尺------------
刚接触 Python base map 库时,被它所能产生的效果震撼了。 但是在深入的学习时发现网上很难找到系统的中文教程,仅能搜到一些博客文章里讲到的某些知识点,不成体系,就难以运用自如。 在网上看了看官方文档,又找到了这一 使用 手册《 Base map tutorial Documentation Release 0.1 Roger Veciana i Rovira》,原作者在这里深入浅出的系统讲解
第12章 base map 地图 绘制 地图 绘制也是 数据可视化 的一部分,常用的 地图 绘制库为 base map 工具包,其为 matplotlib 的子包。本章将讲解如何利用whl文件在 Python 3环境下安装 base map ;学会 使用 base map 绘制 地图 ;学会缩放区域和绘制散点图;通过综合案例,巩固 base map 的绘制 地图 方法和技巧。 本章主要涉及到的知识点有:  base map 安装:学会 base map 的安装方法。  base map 使用 :学会利用 base map 绘制简单 地图 。 缩放区域与绘图:学会通过定位 经纬度 缩放区域与
原网页:http:// matplotlib .org/ base map /users/graticule.html 两个函数: Base map .drawparallels ##纬度 Base map .drawmeridians ## 经度 from mpl_toolkits. base map import Base map import matplotlib .pyplot as plt base map 绘制投影影像参看前面的博客。 下面两句是分别是绘制经纬线,查看它俩的方法和属性,发现并没有控制标签角度的部分。 但是 base map 是基于 matplotlib 库的,所以可以通过操作 matplotlib 来实现目的。 drawparallels = m.drawparallels(parallels,labels=[True,False,False,
常用 地图 底图的绘制一般由 Base map 或者cartopy模块完成,由于 Base map 库是基于 python 2开发的一个模块,目前已经不开发维护。故简单介绍cartopy模块的一些基础操作。 将地球三维球体投影到二维面上,减少失真。主要方式有默认投影(PlateCarree)、兰勃脱投影(Lambert)、墨卡托投影(Mercator)、极投影。 import cartopy.crs as ccrs import matplotlib .pyplot as plt #plt.axes是创建一个轴
# 创建 地图 对象 m = Base map (llcrnrlon=-119, llcrnrlat=22, urcrnrlon=-64, urcrnrlat=49, projection='lcc', lat_1=33, lat_2=45, lon_0=-95) # 绘制州界 m.drawstates() # 绘制海岸线 m.drawcoastlines() # 绘制国界线 m.drawcountries() # 添加 比例尺 m.draw map scale(-119, 22, -119, 22, 500, barstyle='fancy') # 显示 地图 plt.show() 这段代码 使用 Base map 库创建了一个 地图 对象,设置了 地图 的投影方式和范围,然后绘制了美国的州界、海岸线和国界线,并 添加 了一个比例尺。最后调用 `plt.show()` 显示 地图