! I' y+ F" ?4 C! y7 g0 v 今天给大家推送的是地图可视化的知识,如何用Python实现地图可视化,地图可视化常用于地理信息系统,本节选用python中的自带库matplotlib,实现地图可视化,一起学习吧!
6 h. V. }# ` {# e7 H) E2 n0 S6 w4 [ 可视化直观理解就是转化为视觉所能感知。可视化的基本含义是将科学计算中产生的大量非直观的、抽象的或者不可见的数据,借助计算机图形学和图像处理等技术,以图形图像信息的形式,直观、形象地表达出来,并进行交互处理。地理信息可视化是运用图形学、计算机图形学和图像处理技术,将地学信息输入、处理、查询、分析以及预测的结果和数据以图形符号、图标、文字、表格、视频等可视化形式显示并进行交互的理论、方法和技术。
/ V3 S# b6 [/ n2 U 在地理信息系统中,可视化则以地理信息科学、计算机科学、地图学、认知科学、信息传输学与地理信息系统为基础,并通过计算机技术、数字技术、多媒体技术动态,直观、形象地表现、解释、传输地理空间信息并揭示其规律,是关于信息表达和传输的理论、方法与技术的一门学科。 import numpy as np #导入库: T. X- T d M8 E8 V- {, t% h0 y
import pandas as pd
" t( U' ]8 ?7 m a" b# |( O3 {7 ` import matplotlib.pyplot as plt0 L( X2 ?$ j c* x& e
from mpl_toolkits.basemap import Basemap- C' o' A/ B: e% E1 d$ ?1 G# M
%matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
7 R6 t \( s7 g0 w2 W) m: {4 } map1.drawcoastlines()map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)! T% ^/ H+ x1 R* Z6 p
map1.drawcoastlines() #绘制海岸线
6 A$ h, }6 q: ]5 Y map1.drawcountries() #绘制国家
- y! T3 M5 }: K* B& S map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)+ d1 C" t4 S* S O, D2 O: ?$ C2 z
map1.drawcoastlines() #绘制海岸线% H) Y; I% K1 w7 c9 ]
map1.drawcountries() #绘制国家% M" Y& f+ [" m
map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
- o" L% \ @* h) Y! M W" y- ^ map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
: J3 M0 G. S* V7 @5 i$ X' ^. c map1.drawcoastlines() #绘制海岸线- B( N: k6 C( w+ _
map1.drawcountries() #绘制国家" n/ V+ q, G! I- O M8 `( j
map1.drawmapboundary() #绘制边界. z$ ^ `, y2 `* g
map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
$ D) R, n6 _. w2 E. k C map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线
1 t* a( G) w4 U, [+ O map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线9 }/ l" y J6 z* t3 j5 S# X" U) t
map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)3 d3 k+ ^2 L" p
map1.drawcoastlines() #绘制海岸线
1 s0 C; U- R! G' D map1.drawcountries() #绘制国家
. _4 j) \( i- c; X9 y map1.drawmapboundary() #绘制边界, ^! c( {1 o9 S% [9 G. `/ V
map1.fillcontinents(color=blue,alpha=0.5) #填充颜色, `, d$ ]" }, y1 J/ a7 D
map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线
4 p& C* M4 j R, Q" Q map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
( c2 B. H5 S( G5 A V 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)( \7 b5 L1 f) W' q" B0 Y
map2.drawcoastlines() #绘制海岸线) }5 s9 x/ Y2 P) ^( b" y. s
map2.drawcountries() #绘制国家) ?% s, G( V0 D: N# u F9 C
map2.drawmapboundary() #绘制边界
4 y& H1 |( i* {& J map2.drawstates() #绘制州2 p+ H. I3 H% [$ C$ F6 D' v6 N
map2.fillcontinents(color=blue,alpha=0.5) #填充颜色
% z0 s) A: F, [4 d9 e, p' M3 c map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线2 m* _) o8 k8 t" `
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
2 h" P' l" k4 }$ t; O# h# P 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)
; i0 L0 |( U1 ^' J% {* A9 T map2.drawcoastlines() #绘制海岸线! I! P; O9 Y- Z8 {2 F3 s3 j6 j, s
map2.drawcountries() #绘制国家- X8 ~* s& G' q2 o' ~
map2.drawmapboundary() #绘制边界5 f+ U# l& b$ }0 }
map2.drawstates() #绘制州) I4 B; X1 [6 C7 ?3 T# S |
map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线0 X3 o! H0 {+ G! V
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线! F: t. C {4 Y( [, F c
lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标, J2 K! z; T9 u/ e: t. B
map2.plot(x, y, ro, markersize=8) #绘制散点图' f# d/ w! m: B9 O" t( A
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)
' p, s" {- J% s' x/ n d! Q map2.drawcoastlines() #绘制海岸线$ n0 O, e! _9 X, a4 S
map2.drawcountries() #绘制国家1 Q+ d n r. k& G e; X) `
map2.drawmapboundary() #绘制边界
1 `6 j2 F2 B4 p# l J, ] map2.drawstates() #绘制州
3 Z6 v- M8 g+ U map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线: H0 y, b7 p, y2 g: ~1 ]
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
h$ U4 r' Z* Y% A3 m lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标0 U! U* k$ E9 O" `, c* G
map2.plot(x, y, ro, markersize=8) #绘制散点图2 ]8 p7 [& f/ P* h& q! A
plt.text(x,y,New York) #文本注释7 `. S8 M4 {9 C8 Z2 i. S# C. I! K
; j) C. {7 ~8 n4 \0 A7 c
学习编程没有什么捷径可言,“书山有路勤为径,学海无涯苦作舟”。多学、多练、多总结。 ! I. }& `% b3 i1 {4 M' l
本文来源于公众号:大话数据分析
% t; i. l# S* q6 W$ l# n9 `* Z 更多实用的数据分析知识,请关注后,一同学习! ' v9 m0 R% f1 d6 T2 _
' l- z% q: @: Z. @+ Y/ ^: D% m. b/ _
3 Y. Z: Q9 G) R2 X8 K- K2 t$ Y$ j+ J7 Z4 U( }( e
I* t1 W- C- M5 u- M6 {/ C: F
|