|
9 ?7 H' @( Y6 R( \ 今天给大家推送的是地图可视化的知识,如何用Python实现地图可视化,地图可视化常用于地理信息系统,本节选用python中的自带库matplotlib,实现地图可视化,一起学习吧!
5 W0 I" W, o T8 D 可视化直观理解就是转化为视觉所能感知。可视化的基本含义是将科学计算中产生的大量非直观的、抽象的或者不可见的数据,借助计算机图形学和图像处理等技术,以图形图像信息的形式,直观、形象地表达出来,并进行交互处理。地理信息可视化是运用图形学、计算机图形学和图像处理技术,将地学信息输入、处理、查询、分析以及预测的结果和数据以图形符号、图标、文字、表格、视频等可视化形式显示并进行交互的理论、方法和技术。
: s# j9 c* G+ j+ @1 t 在地理信息系统中,可视化则以地理信息科学、计算机科学、地图学、认知科学、信息传输学与地理信息系统为基础,并通过计算机技术、数字技术、多媒体技术动态,直观、形象地表现、解释、传输地理空间信息并揭示其规律,是关于信息表达和传输的理论、方法与技术的一门学科。 import numpy as np #导入库9 n# {; C% s' y5 m
import pandas as pd* G1 f B% r* B$ q: E k
import matplotlib.pyplot as plt. F7 A( T4 W. U) @+ p
from mpl_toolkits.basemap import Basemap+ d) d. y$ u% z
%matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
4 e8 t1 s! x; e3 ^- u! { map1.drawcoastlines()map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
^; V3 l+ A' c- x' T map1.drawcoastlines() #绘制海岸线: ` k* y4 o1 V! n( r( C$ z/ O
map1.drawcountries() #绘制国家
$ p: _! ~ \0 F; A4 m8 `0 E. H1 L map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
9 {+ q) E$ @* k4 S; D- q' d map1.drawcoastlines() #绘制海岸线
; ]. U# {/ {( u; E% B3 R map1.drawcountries() #绘制国家) Y1 ]/ `2 |( ? ^
map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
& i0 |6 k6 l! b map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)7 F& b2 ]% G I( S) U9 X. j% K
map1.drawcoastlines() #绘制海岸线 m; l) R K+ a- e( M
map1.drawcountries() #绘制国家' f" r' G& a- l& a
map1.drawmapboundary() #绘制边界
' S; l1 |1 U0 g4 [ map1.fillcontinents(color=blue,alpha=0.5) #填充颜色/ y d2 W; ?4 `5 z8 a
map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线! v2 {7 A8 p! l; a$ A
map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
- ~) }9 C8 x4 y5 { map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
6 t8 e8 L5 i- y! q map1.drawcoastlines() #绘制海岸线% I4 C5 F S" Z& K; w
map1.drawcountries() #绘制国家
4 F6 y& `5 }- o5 `- U6 U map1.drawmapboundary() #绘制边界( L' z- O3 a. s
map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
* V q( E8 z# f; {6 V1 N9 L map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线% k- Y/ {7 f: p+ T
map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
$ |% u+ g8 u, }9 a. r' r0 L S 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)
0 F3 }4 {9 m* L# t8 s* o map2.drawcoastlines() #绘制海岸线
R5 ]% o( D( s5 W# E$ c map2.drawcountries() #绘制国家
# S0 C: [% ^* g) T2 |+ j# Y4 m map2.drawmapboundary() #绘制边界
1 D. D& {9 c4 Q5 }! ]" _ map2.drawstates() #绘制州- e( M r- f5 y- z
map2.fillcontinents(color=blue,alpha=0.5) #填充颜色
$ s# V4 m& A! O, e6 E( m map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线
5 F8 ~9 U/ S6 P7 ?: P9 V; e# r map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线/ c* [) z5 I3 y) u
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 x2 B6 \% A& `/ H
map2.drawcoastlines() #绘制海岸线. u/ x" Z# |' h* \; W& F
map2.drawcountries() #绘制国家* Y) Q( y8 h0 [9 i% p+ T9 n
map2.drawmapboundary() #绘制边界3 Z% c0 W' G6 V3 e& N: _) V' _
map2.drawstates() #绘制州7 G8 R' H7 J; I& k
map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线
0 |* e& P6 N8 |( W. q | map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线8 u0 y4 n" P6 P/ W4 I |1 ?" K
lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标
]) F; c3 A9 ?8 K map2.plot(x, y, ro, markersize=8) #绘制散点图
' _% a4 L9 @) |, e, 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)
" v) {+ u) \9 T% u, \$ `, R: a map2.drawcoastlines() #绘制海岸线0 q: [1 C! ^) W0 [3 ]# N; X
map2.drawcountries() #绘制国家9 B7 x. ?7 A: u _
map2.drawmapboundary() #绘制边界
8 [ @* ]5 e A3 A/ o map2.drawstates() #绘制州6 n- v \. M( L8 c, ]! {
map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线( [ B2 B9 r9 @; t: @+ t1 c h
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线9 N- u; ~! f7 Y t- g2 d
lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标
' z \$ F9 F' C d% }# g# t' ^ map2.plot(x, y, ro, markersize=8) #绘制散点图
* ~2 [ P3 G* u9 R4 y2 N plt.text(x,y,New York) #文本注释0 ^$ ], A$ ?* B8 n
- D/ u7 \8 z% a: L5 b6 A
学习编程没有什么捷径可言,“书山有路勤为径,学海无涯苦作舟”。多学、多练、多总结。 9 I0 X7 Z( Y8 f2 N+ O- j
本文来源于公众号:大话数据分析 5 I7 B0 u0 _1 q6 j
更多实用的数据分析知识,请关注后,一同学习!
" G; b$ w% k& h) b o, \( C' i
- O5 a$ T+ G x
4 z+ y+ q2 d) t Z1 ?+ V2 {
: e B% B' ^1 N0 d S6 r; B) \$ y
) _1 B7 w% K' b/ W8 n9 K |