收藏本站 劰载中...网站公告 | 吾爱海洋论坛交流QQ群:835383472

数据可视化—地图可视化

[复制链接]
5 i3 u1 T0 i5 T4 u- ]

今天给大家推送的是地图可视化的知识,如何用Python实现地图可视化,地图可视化常用于地理信息系统,本节选用python中的自带库matplotlib,实现地图可视化,一起学习吧!

2 E$ a5 G+ S5 z

可视化直观理解就是转化为视觉所能感知。可视化的基本含义是将科学计算中产生的大量非直观的、抽象的或者不可见的数据,借助计算机图形学和图像处理等技术,以图形图像信息的形式,直观、形象地表达出来,并进行交互处理。地理信息可视化是运用图形学、计算机图形学和图像处理技术,将地学信息输入、处理、查询、分析以及预测的结果和数据以图形符号、图标、文字、表格、视频等可视化形式显示并进行交互的理论、方法和技术。

. a6 i; s$ S, f& K$ G) d- u3 M

在地理信息系统中,可视化则以地理信息科学、计算机科学、地图学、认知科学、信息传输学与地理信息系统为基础,并通过计算机技术、数字技术、多媒体技术动态,直观、形象地表现、解释、传输地理空间信息并揭示其规律,是关于信息表达和传输的理论、方法与技术的一门学科。

import numpy as np #导入库 5 n, V! V: W$ t, i% o4 y8 j import pandas as pd9 J( J7 k5 x' Q) ?; U" a import matplotlib.pyplot as plt 1 u7 @, J. T+ j from mpl_toolkits.basemap import Basemap - K* t1 d' a" b) B %matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) 7 Y% z* [1 V3 S map1.drawcoastlines()
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) % f- U& }. o! z5 w, y- Y map1.drawcoastlines() #绘制海岸线 8 T- i6 ?. S6 a map1.drawcountries() #绘制国家, o& E+ [* S5 n+ D$ _, h/ N
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) - v% \. q$ j' [2 O. d. ` map1.drawcoastlines() #绘制海岸线* L8 Y" y+ ]1 u; R7 c8 ?" a& l4 D map1.drawcountries() #绘制国家 1 ~$ I% C! n: Q4 r; F2 o map1.fillcontinents(color=blue,alpha=0.5) #填充颜色, o/ F, I J& R0 K, p# J0 m( m
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) ) E5 K% D F. j4 z% V$ S) f8 C map1.drawcoastlines() #绘制海岸线, Q/ O; v6 Q7 Q3 f1 R) E( u map1.drawcountries() #绘制国家 - g J) N3 [5 r7 I map1.drawmapboundary() #绘制边界 7 h3 ^% N' |8 X map1.fillcontinents(color=blue,alpha=0.5) #填充颜色 0 a; ]/ I% v f1 H map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线 4 }, j0 Z1 w5 A1 m; K6 M map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线' [9 m6 j/ P4 w
map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) $ ^4 b( ~1 S/ Q3 U' @* {, u6 h map1.drawcoastlines() #绘制海岸线 h# K& i' k; i4 c map1.drawcountries() #绘制国家 6 s# s6 a& I* c6 E' L- ]: { map1.drawmapboundary() #绘制边界8 T% u! \0 |! m0 g! ?9 J2 x map1.fillcontinents(color=blue,alpha=0.5) #填充颜色 " D* ~; u \: h; [1 j1 o n- s% Q1 u map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线8 f: K- {7 Q2 x# s map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线 ; ^4 u9 _( q4 s* H/ D
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) & ?, L" w. |6 x( p; Y map2.drawcoastlines() #绘制海岸线+ p1 N- `/ `& p+ n% T+ O9 N map2.drawcountries() #绘制国家- C7 B- r y* F; c ]4 c/ `% G: p map2.drawmapboundary() #绘制边界( c' r: S, e' m! | map2.drawstates() #绘制州 M6 [0 p, _4 O4 a! o( H. a( x map2.fillcontinents(color=blue,alpha=0.5) #填充颜色 & i1 @+ Z& P8 w' A. W) g- @ map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线! D* J) X# |/ Q5 r& x/ Y map2.drawparallels(np.arange(-90, 90, 30))   #绘制纬线 * u5 c7 P- i% n! g" 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) 7 K0 @6 F1 u+ _2 ^6 V map2.drawcoastlines() #绘制海岸线 - y( T; Y1 W: e map2.drawcountries() #绘制国家+ ~8 w8 u; P* {! b# g5 Z$ T$ b( c map2.drawmapboundary() #绘制边界5 a+ Z" @$ b; Q0 [' N% N map2.drawstates() #绘制州) |! K, _' y2 p/ u3 j map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线' @2 o3 E w) k9 M1 c map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线 3 [; i6 e+ z& m. ^# ]5 Y3 Y lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标+ b! p5 \2 @% K4 a0 N( \ map2.plot(x, y, ro, markersize=8) #绘制散点图% A+ p7 M' R$ D( _6 K9 i: 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)% x5 U( O: q- x+ V& S, ]8 P map2.drawcoastlines() #绘制海岸线 * K; l. x; \2 K0 h; h map2.drawcountries() #绘制国家 7 Y5 d1 E7 I0 V+ K6 j map2.drawmapboundary() #绘制边界. p9 ^ L; Q0 g; j9 c map2.drawstates() #绘制州 $ v6 a1 D9 M- p7 L4 p) Q0 c& M7 F map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线$ m4 [, l* ], @3 z) y map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线! R; _* E; }& Q2 l' b lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标 ' Y5 I4 C# _% F0 D: [ map2.plot(x, y, ro, markersize=8) #绘制散点图$ s# l+ O' r5 r; Q" u plt.text(x,y,New York) #文本注释 ; b$ h; M& x+ r0 ^+ y6 ~# D
( O2 B$ S+ Y0 f, _. S

学习编程没有什么捷径可言,“书山有路勤为径,学海无涯苦作舟”。多学、多练、多总结。

# n* r! }. b& z) h8 J3 d

本文来源于公众号:大话数据分析

# {- _2 d8 J1 \& t8 ~8 r) N9 Q

更多实用的数据分析知识,请关注后,一同学习!

9 q1 {$ g* \8 Z7 c$ U: [: m+ f0 _2 g m' B% _3 q & W% i1 S' T3 b9 {& x6 E5 I- ? 3 V0 G/ I4 c, }4 w: f$ b 2 X( l) J+ W. Z
回复

举报 使用道具

相关帖子

全部回帖
暂无回帖,快来参与回复吧
懒得打字?点击右侧快捷回复 【吾爱海洋论坛发文有奖】
您需要登录后才可以回帖 登录 | 立即注册
那些果儿
活跃在2026-1-25
快速回复 返回顶部 返回列表