数据可视化—地图可视化

[复制链接]
; 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
回复

举报 使用道具

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
那些果儿
活跃在7 小时前
快速回复 返回顶部 返回列表