|
" M$ {1 V6 @/ x0 ?7 r
今天给大家推送的是地图可视化的知识,如何用Python实现地图可视化,地图可视化常用于地理信息系统,本节选用python中的自带库matplotlib,实现地图可视化,一起学习吧!
3 \+ x, l+ P% ^6 y# l 可视化直观理解就是转化为视觉所能感知。可视化的基本含义是将科学计算中产生的大量非直观的、抽象的或者不可见的数据,借助计算机图形学和图像处理等技术,以图形图像信息的形式,直观、形象地表达出来,并进行交互处理。地理信息可视化是运用图形学、计算机图形学和图像处理技术,将地学信息输入、处理、查询、分析以及预测的结果和数据以图形符号、图标、文字、表格、视频等可视化形式显示并进行交互的理论、方法和技术。
1 T4 l- w( Z9 a 在地理信息系统中,可视化则以地理信息科学、计算机科学、地图学、认知科学、信息传输学与地理信息系统为基础,并通过计算机技术、数字技术、多媒体技术动态,直观、形象地表现、解释、传输地理空间信息并揭示其规律,是关于信息表达和传输的理论、方法与技术的一门学科。 import numpy as np #导入库
) \8 s2 ]7 u, B7 Y$ C* z import pandas as pd3 H1 c" g9 I" t) C
import matplotlib.pyplot as plt
4 H# d( z' s8 J# P, i from mpl_toolkits.basemap import Basemap
. E0 d0 j. c. A! f! h) N %matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
1 w" s5 S# y, s1 f/ f: {3 b map1.drawcoastlines()map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
: u& Z' g3 I8 k6 o& r& L map1.drawcoastlines() #绘制海岸线7 \1 \) E3 t% z7 m
map1.drawcountries() #绘制国家
% T1 o: U' W# E# z" Q. H map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
$ M2 x/ @0 ?+ M/ T) F) i2 j map1.drawcoastlines() #绘制海岸线
7 J5 z( U# O- j* K& @" @ map1.drawcountries() #绘制国家
3 \& U& K- t# n7 d: k1 p" X map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
9 n( D; H/ }1 s/ e0 A map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
( V4 h$ W5 k, m' y8 V+ y map1.drawcoastlines() #绘制海岸线* J! t7 C j9 N) R: y
map1.drawcountries() #绘制国家
: a$ ?, K x a: p map1.drawmapboundary() #绘制边界
& _9 |* Q/ J: }, K map1.fillcontinents(color=blue,alpha=0.5) #填充颜色* b) A' g/ h& `% S# T
map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线
: u( n( q7 ]) B1 z( e map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
; A. b& g/ d" r6 q0 N7 ~ map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)- x5 j) { @; f. o
map1.drawcoastlines() #绘制海岸线" C# I+ l, T6 @5 J# v
map1.drawcountries() #绘制国家
& h: Z1 |# o( O, c6 ?- O# M' K0 g map1.drawmapboundary() #绘制边界8 c! y; d$ Q o. I! Y$ C
map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
; }1 H, r( p; a: a/ [ map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线5 C- H( p Y6 g. o+ N
map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
5 R/ N2 [( \3 o9 f! k4 q 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)
( b( T" u5 @7 Z$ U( q9 s map2.drawcoastlines() #绘制海岸线
' X6 @0 \8 t3 u0 J5 Z1 v' L1 Y map2.drawcountries() #绘制国家
2 H9 O$ I# e2 a map2.drawmapboundary() #绘制边界
! ]9 U8 {# k# l1 ^ map2.drawstates() #绘制州. N4 P: o( T, l! V& G
map2.fillcontinents(color=blue,alpha=0.5) #填充颜色+ A/ L' G \: V0 m
map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线
: B# B2 z% Z \% k4 J map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线" w% q& ?6 c5 x3 ]
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)
+ ^4 P3 p3 v8 n ]3 C map2.drawcoastlines() #绘制海岸线
6 E, o" U# r3 n) U1 H map2.drawcountries() #绘制国家3 V& [1 ^9 z/ P" W8 v: z
map2.drawmapboundary() #绘制边界/ j' [' Q9 B+ R j. e
map2.drawstates() #绘制州
4 J2 s) @5 Q. d7 D9 p map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线
" J' ^% ]$ B. J& Y! a1 | map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
# q& q2 o# Z2 G& H9 A* X lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标% T: N- J2 j. }9 C5 y
map2.plot(x, y, ro, markersize=8) #绘制散点图& ]% F3 _( u* 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)( W9 _, ]. w$ W" }
map2.drawcoastlines() #绘制海岸线4 I" B/ a( M8 {; w# X a
map2.drawcountries() #绘制国家* L' m P+ F, ?5 J5 l! _
map2.drawmapboundary() #绘制边界3 l6 K0 K( Z: s( T' W9 L
map2.drawstates() #绘制州
( L) O2 K4 `! V: y! Z map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线
1 G2 h* R( z; Y$ R5 |# }, p0 V9 g map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线: i3 a5 V$ q: v2 [1 M
lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标
. `6 s0 R/ z1 k! H' t! d# | map2.plot(x, y, ro, markersize=8) #绘制散点图
3 h& r( I; u/ p% P plt.text(x,y,New York) #文本注释
! e2 S1 q' W: ~. w- h, o- j ( `' |! F7 x9 e8 m, L. M
学习编程没有什么捷径可言,“书山有路勤为径,学海无涯苦作舟”。多学、多练、多总结。
4 |/ o: v# m! {) Y$ ~ 本文来源于公众号:大话数据分析 8 f) h7 a' T' A; V9 G
更多实用的数据分析知识,请关注后,一同学习! ! o/ i4 t: M* `* d8 k
$ B( T$ O) ~, w+ f: x: p- y7 s
/ e- H$ E. ]& O. _
$ U$ g. y5 j0 Y7 a- Q" h2 ?+ G1 ?9 f. o0 c% \% C
|