|
5 i3 u1 T0 i5 T4 u- ]
今天给大家推送的是地图可视化的知识,如何用Python实现地图可视化,地图可视化常用于地理信息系统,本节选用python中的自带库matplotlib,实现地图可视化,一起学习吧!
2 E$ a5 G+ S5 z 可视化直观理解就是转化为视觉所能感知。可视化的基本含义是将科学计算中产生的大量非直观的、抽象的或者不可见的数据,借助计算机图形学和图像处理等技术,以图形图像信息的形式,直观、形象地表达出来,并进行交互处理。地理信息可视化是运用图形学、计算机图形学和图像处理技术,将地学信息输入、处理、查询、分析以及预测的结果和数据以图形符号、图标、文字、表格、视频等可视化形式显示并进行交互的理论、方法和技术。
. a6 i; s$ S, f& K$ G) d- u3 M 在地理信息系统中,可视化则以地理信息科学、计算机科学、地图学、认知科学、信息传输学与地理信息系统为基础,并通过计算机技术、数字技术、多媒体技术动态,直观、形象地表现、解释、传输地理空间信息并揭示其规律,是关于信息表达和传输的理论、方法与技术的一门学科。 import numpy as np #导入库
5 n, V! V: W$ t, i% o4 y8 j import pandas as pd9 J( J7 k5 x' Q) ?; U" a
import matplotlib.pyplot as plt
1 u7 @, J. T+ j from mpl_toolkits.basemap import Basemap
- K* t1 d' a" b) B %matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
7 Y% z* [1 V3 S map1.drawcoastlines()map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
% f- U& }. o! z5 w, y- Y map1.drawcoastlines() #绘制海岸线
8 T- i6 ?. S6 a map1.drawcountries() #绘制国家, o& E+ [* S5 n+ D$ _, h/ N
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
- v% \. q$ j' [2 O. d. ` map1.drawcoastlines() #绘制海岸线* L8 Y" y+ ]1 u; R7 c8 ?" a& l4 D
map1.drawcountries() #绘制国家
1 ~$ I% C! n: Q4 r; F2 o map1.fillcontinents(color=blue,alpha=0.5) #填充颜色, o/ F, I J& R0 K, p# J0 m( m
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
) E5 K% D F. j4 z% V$ S) f8 C map1.drawcoastlines() #绘制海岸线, Q/ O; v6 Q7 Q3 f1 R) E( u
map1.drawcountries() #绘制国家
- g J) N3 [5 r7 I map1.drawmapboundary() #绘制边界
7 h3 ^% N' |8 X map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
0 a; ]/ I% v f1 H map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线
4 }, j0 Z1 w5 A1 m; K6 M map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线' [9 m6 j/ P4 w
map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
$ ^4 b( ~1 S/ Q3 U' @* {, u6 h map1.drawcoastlines() #绘制海岸线 h# K& i' k; i4 c
map1.drawcountries() #绘制国家
6 s# s6 a& I* c6 E' L- ]: { map1.drawmapboundary() #绘制边界8 T% u! \0 |! m0 g! ?9 J2 x
map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
" D* ~; u \: h; [1 j1 o n- s% Q1 u map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线8 f: K- {7 Q2 x# s
map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
; ^4 u9 _( q4 s* H/ D 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)
& ?, L" w. |6 x( p; Y map2.drawcoastlines() #绘制海岸线+ p1 N- `/ `& p+ n% T+ O9 N
map2.drawcountries() #绘制国家- C7 B- r y* F; c ]4 c/ `% G: p
map2.drawmapboundary() #绘制边界( c' r: S, e' m! |
map2.drawstates() #绘制州 M6 [0 p, _4 O4 a! o( H. a( x
map2.fillcontinents(color=blue,alpha=0.5) #填充颜色
& i1 @+ Z& P8 w' A. W) g- @ map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线! D* J) X# |/ Q5 r& x/ Y
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
* u5 c7 P- i% n! g" G 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)
7 K0 @6 F1 u+ _2 ^6 V map2.drawcoastlines() #绘制海岸线
- y( T; Y1 W: e map2.drawcountries() #绘制国家+ ~8 w8 u; P* {! b# g5 Z$ T$ b( c
map2.drawmapboundary() #绘制边界5 a+ Z" @$ b; Q0 [' N% N
map2.drawstates() #绘制州) |! K, _' y2 p/ u3 j
map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线' @2 o3 E w) k9 M1 c
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
3 [; i6 e+ z& m. ^# ]5 Y3 Y lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标+ b! p5 \2 @% K4 a0 N( \
map2.plot(x, y, ro, markersize=8) #绘制散点图% A+ p7 M' R$ D( _6 K9 i: E
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)% x5 U( O: q- x+ V& S, ]8 P
map2.drawcoastlines() #绘制海岸线
* K; l. x; \2 K0 h; h map2.drawcountries() #绘制国家
7 Y5 d1 E7 I0 V+ K6 j map2.drawmapboundary() #绘制边界. p9 ^ L; Q0 g; j9 c
map2.drawstates() #绘制州
$ v6 a1 D9 M- p7 L4 p) Q0 c& M7 F map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线$ m4 [, l* ], @3 z) y
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线! R; _* E; }& Q2 l' b
lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标
' Y5 I4 C# _% F0 D: [ map2.plot(x, y, ro, markersize=8) #绘制散点图$ s# l+ O' r5 r; Q" u
plt.text(x,y,New York) #文本注释
; b$ h; M& x+ r0 ^+ y6 ~# D ( O2 B$ S+ Y0 f, _. S
学习编程没有什么捷径可言,“书山有路勤为径,学海无涯苦作舟”。多学、多练、多总结。
# n* r! }. b& z) h8 J3 d 本文来源于公众号:大话数据分析 # {- _2 d8 J1 \& t8 ~8 r) N9 Q
更多实用的数据分析知识,请关注后,一同学习!
9 q1 {$ g* \8 Z7 c$ U: [: m+ f0 _2 g m' B% _3 q
& W% i1 S' T3 b9 {& x6 E5 I- ?
3 V0 G/ I4 c, }4 w: f$ b
2 X( l) J+ W. Z |