# -*- 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(图形填充)