|
- ^! g4 \$ l1 ^8 |
今天给大家推送的是地图可视化的知识,如何用Python实现地图可视化,地图可视化常用于地理信息系统,本节选用python中的自带库matplotlib,实现地图可视化,一起学习吧!
- B h" a6 f, j, m 可视化直观理解就是转化为视觉所能感知。可视化的基本含义是将科学计算中产生的大量非直观的、抽象的或者不可见的数据,借助计算机图形学和图像处理等技术,以图形图像信息的形式,直观、形象地表达出来,并进行交互处理。地理信息可视化是运用图形学、计算机图形学和图像处理技术,将地学信息输入、处理、查询、分析以及预测的结果和数据以图形符号、图标、文字、表格、视频等可视化形式显示并进行交互的理论、方法和技术。
, j# {; j! i; ]9 t2 M 在地理信息系统中,可视化则以地理信息科学、计算机科学、地图学、认知科学、信息传输学与地理信息系统为基础,并通过计算机技术、数字技术、多媒体技术动态,直观、形象地表现、解释、传输地理空间信息并揭示其规律,是关于信息表达和传输的理论、方法与技术的一门学科。 import numpy as np #导入库
3 d1 w2 s# j# c6 q/ ]+ n" j import pandas as pd: {' G' `! x* u7 Z1 W; E( V0 d- u
import matplotlib.pyplot as plt
5 s W! {8 a$ R8 ^- L5 [ from mpl_toolkits.basemap import Basemap2 k; f6 X4 V- d) R
%matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)% L9 D- d$ X; K, o# G' v6 r X
map1.drawcoastlines()map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
# r4 N7 J5 p8 ]* W5 d* J7 s1 l map1.drawcoastlines() #绘制海岸线
* r `4 K9 F5 Q/ n2 U4 h map1.drawcountries() #绘制国家
o6 W5 d4 j; N+ M map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)6 p$ w: F* t) K; U7 B
map1.drawcoastlines() #绘制海岸线7 T L/ \& t% e" F& |
map1.drawcountries() #绘制国家
/ ]1 ^- s1 `0 d+ j map1.fillcontinents(color=blue,alpha=0.5) #填充颜色5 E& ]! U" T5 a; K8 k' X
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
3 c6 P! W( }$ T9 w map1.drawcoastlines() #绘制海岸线
( z( T" o$ i# \- s% s% S map1.drawcountries() #绘制国家
8 c. n7 A2 g; K4 r map1.drawmapboundary() #绘制边界( n+ d8 s' ^7 K' j/ F) F
map1.fillcontinents(color=blue,alpha=0.5) #填充颜色4 M+ \1 A' g8 a3 Q- W
map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线
/ L- G% d4 z. d- ?" Y2 r map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线! {8 H* ` J1 O
map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
- o4 b- T. I. ?' e) J" g& Q4 V# b map1.drawcoastlines() #绘制海岸线
' ^2 B* O4 T* ~2 u map1.drawcountries() #绘制国家
( p- v4 K3 ^" d map1.drawmapboundary() #绘制边界2 C2 Z" j' t8 P' T
map1.fillcontinents(color=blue,alpha=0.5) #填充颜色, d9 |* |% H t8 ^
map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线" C/ q1 k' g- H; K$ _
map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
% N3 @) y3 _( w2 I 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)) T% o! A( ^4 F' ?
map2.drawcoastlines() #绘制海岸线
6 w# f& c; R7 T map2.drawcountries() #绘制国家
% F" Y+ C* y. G$ m# ^8 q' g7 m( x map2.drawmapboundary() #绘制边界4 P% [2 L5 w- J& X8 A* x$ |
map2.drawstates() #绘制州2 j. K/ ?# k5 T5 O* L& e' e
map2.fillcontinents(color=blue,alpha=0.5) #填充颜色4 z0 r! J1 d. f3 o! | {: j
map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线/ c# g B; D* A: j/ S0 q4 O& ?
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线( s2 E+ Y4 s: X
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)8 P; j/ a& A I+ z/ ^/ p
map2.drawcoastlines() #绘制海岸线
' P& f- Q, i) } map2.drawcountries() #绘制国家
0 y5 I Y |6 E) `+ b map2.drawmapboundary() #绘制边界
7 d9 j0 n6 M) O map2.drawstates() #绘制州' ^1 K, H( N1 B2 r! l9 d* ~5 O
map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线0 i3 i5 ]! E' R4 C3 B% a7 G
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线* u E+ q8 T! u9 v: m8 ^' s0 V/ v/ n
lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标5 ?! W$ W+ T2 c# E/ ~6 L# s7 \/ l
map2.plot(x, y, ro, markersize=8) #绘制散点图4 |0 {" g# S) s" G$ I
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 e7 Z! u* \9 S( p+ ]7 v# _
map2.drawcoastlines() #绘制海岸线
1 g' R# ]& U" p& I map2.drawcountries() #绘制国家
5 g- E5 r2 a g map2.drawmapboundary() #绘制边界
" G' [3 E2 R2 V5 T! S% {4 { map2.drawstates() #绘制州
4 X4 k( {; |" b8 Z map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线
9 J9 t4 U# \* J4 @6 `8 M) K map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
" P- X" L+ X, a! [- R, q0 U lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标. E x c4 m D
map2.plot(x, y, ro, markersize=8) #绘制散点图6 {1 `& X# a; v+ W/ O% N! K
plt.text(x,y,New York) #文本注释3 V" d7 ?! s9 R' o9 K# e! ]% _
6 y' Y: R) {" G 学习编程没有什么捷径可言,“书山有路勤为径,学海无涯苦作舟”。多学、多练、多总结。
! z: d, B. _, G2 v$ W/ C# ] 本文来源于公众号:大话数据分析 + Z$ p# [6 h1 n" {
更多实用的数据分析知识,请关注后,一同学习!
3 i6 R; T6 ]; c3 C: A5 I0 a
1 M* q" x1 d, u, b) a7 a& c3 c' h; D3 y X. ]1 @; n9 \- n
( `% O0 G& o* Z$ B1 H
) O" p) B- T4 ^3 P |