|
# F/ W( l$ C9 m: W2 r 今天给大家推送的是地图可视化的知识,如何用Python实现地图可视化,地图可视化常用于地理信息系统,本节选用python中的自带库matplotlib,实现地图可视化,一起学习吧! ; P3 `4 W g& J& U2 H
可视化直观理解就是转化为视觉所能感知。可视化的基本含义是将科学计算中产生的大量非直观的、抽象的或者不可见的数据,借助计算机图形学和图像处理等技术,以图形图像信息的形式,直观、形象地表达出来,并进行交互处理。地理信息可视化是运用图形学、计算机图形学和图像处理技术,将地学信息输入、处理、查询、分析以及预测的结果和数据以图形符号、图标、文字、表格、视频等可视化形式显示并进行交互的理论、方法和技术。
& z- H8 a" D! P1 s 在地理信息系统中,可视化则以地理信息科学、计算机科学、地图学、认知科学、信息传输学与地理信息系统为基础,并通过计算机技术、数字技术、多媒体技术动态,直观、形象地表现、解释、传输地理空间信息并揭示其规律,是关于信息表达和传输的理论、方法与技术的一门学科。 import numpy as np #导入库
. z4 @% h: }* k import pandas as pd
* }' l& P4 V1 i2 o$ ^ K/ ` import matplotlib.pyplot as plt
! e$ ~* Z: _/ H* F% w: `, d1 w from mpl_toolkits.basemap import Basemap% L) o6 `( f4 c
%matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
: p# b; l$ v' t4 L map1.drawcoastlines()map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)* f5 h) i" I$ C9 g
map1.drawcoastlines() #绘制海岸线
! l u% ^. t/ W: ?# p) X1 i map1.drawcountries() #绘制国家! ~, \ v$ ?9 s3 P
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
7 `" z5 R% [5 i6 k) k$ A* O6 @- [8 a map1.drawcoastlines() #绘制海岸线
8 \1 l! A! O- I& Q map1.drawcountries() #绘制国家
) @5 |( |" Z2 l( c1 y$ q5 F; R map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
+ I1 Q* }+ H& r1 g1 C1 o% A, ?7 O: b4 Y map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)4 i; W+ q: Z' w9 w+ z
map1.drawcoastlines() #绘制海岸线 a* s8 \! Y3 B" D6 Z
map1.drawcountries() #绘制国家. a* J! c! e/ _: |3 w
map1.drawmapboundary() #绘制边界
+ [* A+ R2 f8 }: o& i map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
8 K' J8 [1 L* Z& l" { map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线8 ~7 c4 D0 m: L' V7 ^. ^+ O
map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线/ ]1 e: l, Y- Q# j3 R; A
map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
" h O1 A( S. R T7 _; I3 s map1.drawcoastlines() #绘制海岸线
, o; V ^9 k: o( t j map1.drawcountries() #绘制国家& |* c/ ]# o4 T) m
map1.drawmapboundary() #绘制边界, M' ?; J* A, K8 y4 t! n
map1.fillcontinents(color=blue,alpha=0.5) #填充颜色- R2 `+ k6 u4 j) ~# ?
map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线; L* J9 ?* Q$ b4 q: m' S
map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线+ E s, R; ?4 y: f) 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)4 ^. N5 D* N: ^6 }9 g2 A# F
map2.drawcoastlines() #绘制海岸线
8 Y+ Z7 v7 X4 a) \; t9 ^! j* | map2.drawcountries() #绘制国家
" P J* K) m6 e9 F6 w, C2 l) `9 L* _ map2.drawmapboundary() #绘制边界
2 p3 `4 b- R& B- L map2.drawstates() #绘制州% Z. c# T) P3 y4 g; T
map2.fillcontinents(color=blue,alpha=0.5) #填充颜色
5 |9 a) F( s( k% Z6 r0 A& W3 Y map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线" }9 `. Y9 v8 A* Z, Q
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
9 T5 n3 e! f) u0 E7 S8 {3 t1 s5 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). [3 l; N! x w, V* h
map2.drawcoastlines() #绘制海岸线9 C2 ~/ q$ _# Q7 d$ C0 x/ j
map2.drawcountries() #绘制国家
( M1 S) z! [+ L+ W map2.drawmapboundary() #绘制边界2 a* a: [4 i# c) L" p. T
map2.drawstates() #绘制州' c7 \ D3 n2 O) X4 A& m
map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线+ P, N& E$ G1 o- c- u5 Z% P& i9 Z
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
# i1 M f8 e8 y1 {6 s lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标
. s/ C& f# t$ Y4 N map2.plot(x, y, ro, markersize=8) #绘制散点图: a5 o: R1 |/ P+ g9 e4 ^- j( `
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)
; @. v% F v. v1 J. r map2.drawcoastlines() #绘制海岸线6 N: _" @( M! O" t8 k+ _
map2.drawcountries() #绘制国家8 i0 I4 _% z+ M t# `, E
map2.drawmapboundary() #绘制边界( q. k6 l: f8 Y8 z+ B) L. g
map2.drawstates() #绘制州
, W# U( w1 V$ E, \ map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线( b) U2 o& X; v7 i
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
# o/ Q# f0 d% ]0 T- J) E lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标9 h8 Z: [9 r& k% `* ?
map2.plot(x, y, ro, markersize=8) #绘制散点图
% s, `4 q6 ~% a& m" f2 ? plt.text(x,y,New York) #文本注释8 o5 s+ k: s/ ^; G" r! q
( g5 D/ E2 R6 K/ M' w, [/ C 学习编程没有什么捷径可言,“书山有路勤为径,学海无涯苦作舟”。多学、多练、多总结。
7 W* R( H' s4 c6 b1 s4 u 本文来源于公众号:大话数据分析 & y `/ Y5 o3 R" p+ v
更多实用的数据分析知识,请关注后,一同学习!
& e/ Z, g! s0 [. i! x# @
- g) e& T: z* h- H; F
+ Z9 \- G6 C0 f; ^4 W0 r$ B1 a$ T. \# J! U! _& o# O0 ]" t' p
/ R7 h. H; h( s5 w n
|