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

数据可视化—地图可视化

[复制链接]
% Q f+ ?# ^: z7 h0 a V

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

# v7 w& F# n9 v: N6 O. S- S

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

2 g( @- g- E, ]1 K5 G, s- J

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

import numpy as np #导入库 1 K- h& T( t5 q; K; Q. e import pandas as pd. O" f# I8 w) E: g import matplotlib.pyplot as plt+ z7 p! j Y' R& R4 B& } from mpl_toolkits.basemap import Basemap 5 U0 @7 O- T# s$ Q8 a3 J) W, _8 c2 @ %matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) 1 t4 L! l7 I4 V+ |4 e! Y map1.drawcoastlines()
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) " z) E5 n# S @& v: {3 W map1.drawcoastlines() #绘制海岸线 $ L0 ?% R! ]0 T6 a. S map1.drawcountries() #绘制国家 3 ^6 o/ z+ e, u; g3 N! t* y, e* v
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)5 X- k6 b$ ^8 w8 U! Q$ P* P$ m map1.drawcoastlines() #绘制海岸线 : y( q8 u& {. i# e9 S( l* } map1.drawcountries() #绘制国家: [' |" Z! f/ D: L" e+ G map1.fillcontinents(color=blue,alpha=0.5) #填充颜色6 F" S- A* B: l$ j9 `& I
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)4 d1 G7 G7 d$ E; t- Z map1.drawcoastlines() #绘制海岸线; F7 ]6 E' T9 b7 j+ ]9 j1 p map1.drawcountries() #绘制国家 E: P q3 T1 k& [9 x& A0 K( i map1.drawmapboundary() #绘制边界 8 N7 u) m' i; P- ^* w { map1.fillcontinents(color=blue,alpha=0.5) #填充颜色 ' B2 O' D: u% d: d9 A, F map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线 ; B) ]+ }5 ], v3 I. c( y map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线 . b/ D. |. K9 W: m: g& h
map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) * h/ v# z0 Y: r" n7 Z map1.drawcoastlines() #绘制海岸线 w7 n D) W! u0 I, f map1.drawcountries() #绘制国家# x) C7 |) `- @7 V* G map1.drawmapboundary() #绘制边界- Y% _7 o$ S3 U6 G# D& E5 i map1.fillcontinents(color=blue,alpha=0.5) #填充颜色 + a6 o; o! E* t3 B map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线 , x3 I! `! e9 N8 h& M map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线$ W5 f/ H' y6 S4 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) / M/ S6 F, d% B map2.drawcoastlines() #绘制海岸线 + u' ^. h$ G! J- f8 I' B& L map2.drawcountries() #绘制国家2 L0 x$ |: E% a- m5 G map2.drawmapboundary() #绘制边界 # w9 Y4 D" H) o5 e map2.drawstates() #绘制州 " l) U P( m" `" ] map2.fillcontinents(color=blue,alpha=0.5) #填充颜色 " `" L5 ~% ], Y! \( ] map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线 . g8 ?0 e6 T" k, c5 J7 W+ C map2.drawparallels(np.arange(-90, 90, 30))   #绘制纬线 ! X/ V( q7 w/ T, f+ j3 t0 f" r
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)& y( t. ?. X3 J, w& n k map2.drawcoastlines() #绘制海岸线4 z) H8 g$ P6 c; l; A7 S4 C map2.drawcountries() #绘制国家 2 R, }9 u" X1 `5 M+ F' p" `$ Q: X map2.drawmapboundary() #绘制边界 0 c q$ \8 w/ i& ?* i map2.drawstates() #绘制州 # V+ f! S( u+ ?: Y map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线 ) h- B1 _2 s3 F8 Q* h map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线 . O# Q- Z0 x9 C lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标 $ Z- ~2 F2 E R, j7 v( l' \ map2.plot(x, y, ro, markersize=8) #绘制散点图 : R& X/ L) c* @8 n' w' @
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); Q1 k1 x6 ?* g map2.drawcoastlines() #绘制海岸线; G0 I$ v. r6 C" P9 W( A map2.drawcountries() #绘制国家2 G) z. z# w- V8 K7 @* c- K map2.drawmapboundary() #绘制边界$ k3 U+ }2 k) d7 q9 h, U map2.drawstates() #绘制州 ! Z. R( w6 V, W8 q( W1 A map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线 0 f* a3 p: H: W0 v# X map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线 @+ ?+ f# D: N& U: r5 b lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标; \: @2 h% W. ?1 x6 Q7 M map2.plot(x, y, ro, markersize=8) #绘制散点图" J0 T, q# t( A W9 F6 t) D6 ]- s plt.text(x,y,New York) #文本注释0 U2 x7 }& ?, s& I1 ?' q9 w
" F9 e# l: y6 R8 }, s

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

l( j+ F( O6 V

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

1 h! {& v. w6 H% }& F

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

" x6 o4 q4 d$ g/ f+ Z7 T6 V( X, R* v: E " p1 `7 ?: |) N z; V4 h5 ^1 x; D$ B: b/ i/ u* i5 z4 r. `$ L * T* ^! b, ^( b, ^! w- v
回复

举报 使用道具

相关帖子

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