|
/ ]9 a8 _) O! A9 f3 ^! } 今天给大家推送的是地图可视化的知识,如何用Python实现地图可视化,地图可视化常用于地理信息系统,本节选用python中的自带库matplotlib,实现地图可视化,一起学习吧! * g2 a2 h! n0 ^; c6 o" c$ u2 f% R/ w
可视化直观理解就是转化为视觉所能感知。可视化的基本含义是将科学计算中产生的大量非直观的、抽象的或者不可见的数据,借助计算机图形学和图像处理等技术,以图形图像信息的形式,直观、形象地表达出来,并进行交互处理。地理信息可视化是运用图形学、计算机图形学和图像处理技术,将地学信息输入、处理、查询、分析以及预测的结果和数据以图形符号、图标、文字、表格、视频等可视化形式显示并进行交互的理论、方法和技术。 ) m1 \% d: j& |$ t3 g1 b+ L* W
在地理信息系统中,可视化则以地理信息科学、计算机科学、地图学、认知科学、信息传输学与地理信息系统为基础,并通过计算机技术、数字技术、多媒体技术动态,直观、形象地表现、解释、传输地理空间信息并揭示其规律,是关于信息表达和传输的理论、方法与技术的一门学科。 import numpy as np #导入库3 E, ?3 i% a K* ?8 v; g
import pandas as pd
0 S1 f& g+ f+ u9 }- c2 t. L% W import matplotlib.pyplot as plt7 J, o6 g4 p& g. w1 l4 H
from mpl_toolkits.basemap import Basemap
2 ~! D4 k& K! n0 q* X" F+ \4 F %matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) F- p5 _- Q3 r$ Q6 J
map1.drawcoastlines()map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)8 I& j6 Q! \4 S9 c( T0 F
map1.drawcoastlines() #绘制海岸线
/ P) [- M: g; ^ | map1.drawcountries() #绘制国家2 O X7 O3 @: ~! f& w: i
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
( \ _7 W7 a# K+ |& E3 o: W map1.drawcoastlines() #绘制海岸线% |; n5 u6 ~( A! C, A
map1.drawcountries() #绘制国家
) Z' Z! X: M0 Y/ _! [9 N3 E map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
$ y. h. ^0 V, G3 q map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
1 L, Y7 D% B" Y3 {* u& F map1.drawcoastlines() #绘制海岸线
) ~/ i* J. c8 E& k8 x* W* J7 G map1.drawcountries() #绘制国家2 N( K# Q9 ]! A/ S, e
map1.drawmapboundary() #绘制边界
/ G2 |+ ?: Y1 {+ o: d0 q map1.fillcontinents(color=blue,alpha=0.5) #填充颜色
! B3 ~5 I' b2 m+ B map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线
, U( V. r1 ]6 l2 B map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
7 o; i2 o* q# F2 i map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)
; x! E( }3 n2 L/ K3 J; _+ t. T map1.drawcoastlines() #绘制海岸线
# ^) W; l" e# c& K4 I map1.drawcountries() #绘制国家
f; ~- Z! m" m map1.drawmapboundary() #绘制边界2 t5 o8 V. m0 ]! G/ f' D" V
map1.fillcontinents(color=blue,alpha=0.5) #填充颜色# T0 b7 b& ~% q9 e0 j: X* {
map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线0 p$ \( t) U! N I J
map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
8 v7 a, I1 Q4 a2 Z 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)
8 ]9 u% |% O% `9 h3 ~ map2.drawcoastlines() #绘制海岸线
1 _" g9 ^# @) n* m map2.drawcountries() #绘制国家; O9 Y1 V/ C/ r
map2.drawmapboundary() #绘制边界/ U/ o9 C3 l* I8 j# D' |: |: P8 z
map2.drawstates() #绘制州
( @2 k" c* C# `, {. O" F0 p- { map2.fillcontinents(color=blue,alpha=0.5) #填充颜色4 Z' s. E' q4 a; r& R( A; X8 {- w7 i
map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线
$ ]: W. `3 b! t& V3 L0 h6 y3 j0 N map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
! ], U3 e. ~1 V0 s0 k4 r0 \5 ? 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). \ A- J& |& }, I2 o; M
map2.drawcoastlines() #绘制海岸线- a5 f% F4 A5 }! R
map2.drawcountries() #绘制国家
% a1 h/ R; o0 F4 \9 ] map2.drawmapboundary() #绘制边界
; x/ w" n6 {' c+ @+ c map2.drawstates() #绘制州! J/ `: r+ V t+ \, i
map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线2 N8 \% k6 m" g' D
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线6 |! L$ v' g2 G+ t2 ?: a: y
lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标5 y4 E+ V! k0 d# U9 u" d( m
map2.plot(x, y, ro, markersize=8) #绘制散点图6 S' v" m7 M& c, ~+ X3 G
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)
# x3 X* ?' P7 K2 P. @: c map2.drawcoastlines() #绘制海岸线4 _4 o3 D- G! [3 ~+ `! Y$ Z
map2.drawcountries() #绘制国家
: _2 L) \! k! q: r; H map2.drawmapboundary() #绘制边界
2 v" S; d) s+ i! ?) `8 f5 q map2.drawstates() #绘制州
M8 q; M% W* ? map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线3 s$ S, S; u& {4 K# N
map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线
^* [; U5 K- s lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标
4 m: Q3 |( M- r& C map2.plot(x, y, ro, markersize=8) #绘制散点图1 c/ L3 y8 |3 c
plt.text(x,y,New York) #文本注释
1 n q8 |; b3 C, o3 T( A2 ?& i" D
; K2 h2 a+ r# t! F" L4 K0 J 学习编程没有什么捷径可言,“书山有路勤为径,学海无涯苦作舟”。多学、多练、多总结。
! W$ ~* j1 a2 u4 q; e$ ~ 本文来源于公众号:大话数据分析 % e& w. e! D" u% T
更多实用的数据分析知识,请关注后,一同学习!
& i7 L% q) V7 X! |/ }1 d, i
1 x7 {# b e$ y& M+ ?2 J; t' }9 z& [ A9 L/ `; I7 U3 \0 ?. ]9 f
. s3 L; ^5 b) Y7 i9 ?7 F, v0 n/ k* m4 ?6 J! y4 G+ |4 d1 V5 l
|