Basemap画shp

本文介绍了如何使用Matplotlib库中的Basemap模块绘制山东半岛的矢量地图,包括设置投影、填充大陆、绘制海岸线,并通过shapefile显示行政区划。适合初学者了解Basemap处理地理数据的基本操作。
摘要由CSDN通过智能技术生成
# -*- coding: utf-8 -*-
"""
Created on Mon Nov 16 19:37:49 2020

@author: chenb
"""


# shape格式文件的处理
# Basemap处理矢量图的方法和其他库文件有很大的不同。
# 先从简单的入手,用最简单的办法显示一个矢量图(山东半岛)

from mpl_toolkits.basemap import Basemap
import matplotlib.pyplot as plt

map = Basemap(projection='merc',
              lat_0 = 37, 
              lon_0 = 122,
              llcrnrlon = 120, 
              llcrnrlat = 36,
              urcrnrlon = 123., 
              urcrnrlat = 38.,
              resolution='h',)

map.drawmapboundary(fill_color = 'aqua')
map.fillcontinents(color = '#ddaa66',lake_color = 'aqua')
map.drawcoastlines()

map.readshapefile('zhoushan','comarques')

plt.show()

print (map(10,50))
print (map(20015077.3712,20015077.3712,inverse = True))



# ·第一个参数 CHN_adm_shp/CHN_adm1不能包含后缀名,程序会假设.shp,.sbf和.shx文件同时存在并且文件名相同

# ·第二个参数是读取shapfile的方式,我们将在后面详细阐述。

 

# 使用时的一些限制条件

# · 文件必须符合EPSG:4326,或者纬度/经度坐标。如果你的文件不是这种格式,可以使用ogr2ogr加以转换。

# · 地图必须是二维地图

# · 只要是多边形或者多段线,就能以地图形式显示出来

# 正如例子中那样,显示的结果只是线段或着多边形。要把这些图形填充起来,可以参照后面讲到的Filling polygons(图形填充)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值