; X6 P8 T3 L( R2 W
今天给大家推送的是地图可视化的知识,如何用Python实现地图可视化,地图可视化常用于地理信息系统,本节选用python中的自带库matplotlib,实现地图可视化,一起学习吧! & ]+ q, m, w, Q
可视化直观理解就是转化为视觉所能感知。可视化的基本含义是将科学计算中产生的大量非直观的、抽象的或者不可见的数据,借助计算机图形学和图像处理等技术,以图形图像信息的形式,直观、形象地表达出来,并进行交互处理。地理信息可视化是运用图形学、计算机图形学和图像处理技术,将地学信息输入、处理、查询、分析以及预测的结果和数据以图形符号、图标、文字、表格、视频等可视化形式显示并进行交互的理论、方法和技术。
8 {8 N2 Z5 D5 f, [ 在地理信息系统中,可视化则以地理信息科学、计算机科学、地图学、认知科学、信息传输学与地理信息系统为基础,并通过计算机技术、数字技术、多媒体技术动态,直观、形象地表现、解释、传输地理空间信息并揭示其规律,是关于信息表达和传输的理论、方法与技术的一门学科。 import numpy as np #导入库& n7 N- ^) ^! u5 V6 R; H `
import pandas as pd) j7 [' v2 d6 ~/ a1 D( o: S( f$ a
import matplotlib.pyplot as plt& v: P- q3 g$ ]
from mpl_toolkits.basemap import Basemap
% k; A+ t, V" R0 L$ O %matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)' |$ h+ J! f! O. E! n( {' e% V
map1.drawcoastlines()map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)$ D" b6 i; P7 s( X( i
map1.drawcoastlines() #绘制海岸线
f9 v" t! ]& [ map1.drawcountries() #绘制国家
" D+ m) `- v; S' P map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
& I; r5 y# |9 J# g; [8 T/ C map1.drawcoastlines() #绘制海岸线" Y2 x1 ]9 S* Y) E! p* i0 f
map1.drawcountries() #绘制国家
' I! d' H7 J# e- V: W map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
# ~- ^8 G( v; C1 W map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)- l6 K6 u# H% p3 @- B ^/ q u
map1.drawcoastlines() #绘制海岸线3 J/ F7 K) N% G3 I# J' L y
map1.drawcountries() #绘制国家1 B# X# ~: \2 z
map1.drawmapboundary() #绘制边界
$ g( n1 g: u ^9 U5 L6 v map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
% g( I6 U7 L" C. N4 y- R map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线2 c# z) [5 q8 L' v" e3 Z
map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线4 m; s- {+ q- i9 B+ {4 L9 u
map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
: _+ S9 n. h. G+ Q( I/ i. G map1.drawcoastlines() #绘制海岸线+ m* Q' p. H! P1 a. x) [2 l9 V
map1.drawcountries() #绘制国家
: ?' c* g2 t. W map1.drawmapboundary() #绘制边界& V; s1 J$ q/ T7 S
map1.fillcontinents(color=blue,alpha=0.5) #填充颜色2 s( `' P( I8 z
map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线( h, G* d1 c ?& g! Q; S! j
map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
8 o5 L; v( o8 { map2=Basemap(projection=stere,lat_0=90,lon_0=-105,llcrnrlon=-118.67,llcrnrlat=23.41,urcrnrlon=-64.5,urcrnrlat=45.44,resolution=l,area_thresh=1000.0)5 K3 v1 n' m" p* T0 L
map2.drawcoastlines() #绘制海岸线
q/ h3 Q Z i2 u8 b. }$ v" u7 v map2.drawcountries() #绘制国家
6 Y' k5 t7 i! B map2.drawmapboundary() #绘制边界
, |/ K) n8 @+ T! V! D6 l map2.drawstates() #绘制州. x3 } t# B* M
map2.fillcontinents(color=blue,alpha=0.5) #填充颜色4 m8 {6 G% w' C( A. n
map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线* \6 M) ~6 d4 C+ p0 w0 W+ W, C! f( I
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线8 i; b' h4 c, g+ [: b' K C
map2=Basemap(projection=stere,lat_0=90,lon_0=-105,llcrnrlon=-118.67,llcrnrlat=23.41,urcrnrlon=-64.5, urcrnrlat=45.44,resolution=l, area_thresh=1000.0)
; W1 @% R: y8 w4 c) Q# J4 J map2.drawcoastlines() #绘制海岸线
" O% n0 m$ I; D. v map2.drawcountries() #绘制国家/ s6 o ]3 z6 X" ~! v
map2.drawmapboundary() #绘制边界
6 f) }) P, C0 H" L; ` o4 D r6 z map2.drawstates() #绘制州
& N1 f3 z v! O+ ? map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线2 W) I% v: b; h" P
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线3 t3 t- C2 |. L8 [" b+ ?
lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标& ^ }3 l3 w3 r. E
map2.plot(x, y, ro, markersize=8) #绘制散点图, N0 N. \: ^2 a/ M
map2=Basemap(projection=stere,lat_0=90,lon_0=-105,llcrnrlon=-118.67,llcrnrlat=23.41,urcrnrlon=-64.5, urcrnrlat=45.44,resolution=l, area_thresh=1000.0)1 ^+ s: u" X5 N9 X/ b
map2.drawcoastlines() #绘制海岸线9 g1 m( w* d9 z0 ^) P: @
map2.drawcountries() #绘制国家2 b* G2 L" P4 [3 k) m# f
map2.drawmapboundary() #绘制边界& l; [6 Q* h, d8 ~7 O% n2 Y- U
map2.drawstates() #绘制州 z3 w/ y# r* H( c9 F6 L C
map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线
% a3 ~- l4 @7 B: ]8 [# p) r7 r& ` map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线5 s0 D* J8 P3 r# j
lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标5 [. j; \( a, D
map2.plot(x, y, ro, markersize=8) #绘制散点图
! T* @. f' L+ X3 j0 V/ x N* G8 a plt.text(x,y,New York) #文本注释
4 V; y6 _8 t9 P$ G) n
* H3 p' q7 P% U 学习编程没有什么捷径可言,“书山有路勤为径,学海无涯苦作舟”。多学、多练、多总结。 0 ?! u8 d8 w+ ]6 J
本文来源于公众号:大话数据分析
( O& l$ s2 v$ R# j0 f) h 更多实用的数据分析知识,请关注后,一同学习!
- m9 N( W$ u7 K6 B, |8 |1 `6 p" w. G6 F. ^! s
" `" B- r, n( y) W* L) T6 a* e6 D: c$ r. [; }
/ Z# s; C- y( C' z
|