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

数据可视化—地图可视化

[复制链接]
7 l) p1 @( u# q- C5 E

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

g$ ~$ f5 |; S) H3 V3 N: X

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

: ~$ f: W, ~+ M' p* z% x

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

import numpy as np #导入库 , j3 B: G! T* ~5 u import pandas as pd ! |6 z9 r$ G( n* I. l, s import matplotlib.pyplot as plt 3 Q1 R3 N+ y% C: f+ Q' y7 {) g; n" v1 r from mpl_toolkits.basemap import Basemap ! k4 ^4 ~, q, ]; i& R %matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) q( }; ?# t$ D map1.drawcoastlines()
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)" o, z. K9 v- H! _2 @ map1.drawcoastlines() #绘制海岸线: Q) J. g8 q+ o# ^3 _' g map1.drawcountries() #绘制国家 # v3 W: w" F% a+ g# @
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) : O* ~2 p N' V3 R5 e" d, z map1.drawcoastlines() #绘制海岸线 ( M# N$ a/ p+ q2 g$ p9 k! @. ] map1.drawcountries() #绘制国家4 j8 i# u$ |! e- v map1.fillcontinents(color=blue,alpha=0.5) #填充颜色, u; S" L+ t' C1 m+ I
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) 4 K( z+ g/ E' s! ^( K* B( D8 j map1.drawcoastlines() #绘制海岸线) T5 k5 D+ q) h map1.drawcountries() #绘制国家! s' R+ _# A5 z* b/ [$ v/ } map1.drawmapboundary() #绘制边界( X" ~+ }, @$ R6 ` map1.fillcontinents(color=blue,alpha=0.5) #填充颜色" k; c& w8 t) l& ~, W1 D: M: M1 N map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线 . U4 C' V1 B( v% \) T7 M map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线 ( h& \5 F, r+ \' ~5 {/ u3 t
map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) . J, G- i; q/ a1 E map1.drawcoastlines() #绘制海岸线 9 A8 n) d% V2 O3 k, a. I8 @+ e map1.drawcountries() #绘制国家 $ I$ M. Y8 ]" h) T$ Z( l& A1 Z# W" \' ~ map1.drawmapboundary() #绘制边界# y* l" s/ M6 k# u4 s map1.fillcontinents(color=blue,alpha=0.5) #填充颜色 & R7 l% a; f+ O- P" Y" R map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线 & V; F. d7 n6 ?/ ^0 \, [ map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线! G8 c) K3 N8 P3 T! 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) ( W" ~: ^6 G% ] map2.drawcoastlines() #绘制海岸线 ' B$ D9 Y9 a8 s8 [' C/ ^ map2.drawcountries() #绘制国家+ l U) c' r. p t4 R$ c map2.drawmapboundary() #绘制边界 ( v' i& U* _6 A- j1 Z map2.drawstates() #绘制州3 e( ^) m: a, {; _) G* ~ map2.fillcontinents(color=blue,alpha=0.5) #填充颜色$ B$ o7 Q' V+ H0 r6 b map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线 2 j4 w4 J% [$ S, v& t G/ j map2.drawparallels(np.arange(-90, 90, 30))   #绘制纬线 6 d( {2 Y& S, \6 D: T, T
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)% K: K V4 B0 \8 L1 H' U% _ map2.drawcoastlines() #绘制海岸线/ @6 h% C$ V* | ~; \9 W/ W map2.drawcountries() #绘制国家 : ~4 G# O/ r* v' b6 l map2.drawmapboundary() #绘制边界 " A4 O2 }5 u L8 i9 d3 N% q map2.drawstates() #绘制州 ) ?8 s; ~5 I9 h+ f% n map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线 5 ]& t9 q* Y( T( ^* p map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线 % i$ w& q5 u) {* [ lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标 2 h" h6 R4 O5 L. s4 c& y$ }5 o/ I; _2 H# L map2.plot(x, y, ro, markersize=8) #绘制散点图+ ~/ P# p `' b0 f3 A0 l
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)2 a8 |# T" g& c+ u- J, L) K N8 B map2.drawcoastlines() #绘制海岸线 ) X% }9 M- A1 u: o; J map2.drawcountries() #绘制国家 % n: }" H, F3 E- s, x0 s map2.drawmapboundary() #绘制边界 . J* X6 e" S9 h% A$ a' Y map2.drawstates() #绘制州 - Z3 y! u) `0 x( Y& t2 U4 ~9 K, I map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线 3 \) l0 E7 I" f/ d; y7 }- V map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线 ! L- h6 b6 ?: G0 j+ ^1 P& X! ?) q lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标- F1 a% D! h4 Z8 w2 k% {2 Y) f map2.plot(x, y, ro, markersize=8) #绘制散点图% A, z+ E$ J& C1 t2 L6 U$ f7 k plt.text(x,y,New York) #文本注释 0 X6 H# w% D$ b% O
: C- e, N' P5 q* H& w* L

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

( }: }, Z( I2 q7 [9 J$ ]/ U

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

& d1 ?- Y7 Y, B) u5 i( |0 r5 i

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

% m1 j9 ]- R$ k8 x! s% @* _' u 4 M# p! c3 w C' E% c: q4 P 6 P! d! K, l8 e% n 3 L, f* i' b! {, v* F3 c P% b; B " q4 }. X, P, Y: y9 H- b" ~) w
回复

举报 使用道具

相关帖子

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