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

数据可视化—地图可视化

[复制链接]
. S; R" o5 k6 {4 W; f% v

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

* L( a9 R. ^: f( L" m/ l

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

5 L0 y0 b" z- G' }" N9 s

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

import numpy as np #导入库. e$ R3 E$ c& \ t! N1 T3 g import pandas as pd5 E- Z& [$ k8 ]1 U) w( B y0 l& R' [ import matplotlib.pyplot as plt ( h- t* r4 ?3 ?3 m( r' Y from mpl_toolkits.basemap import Basemap" Y# |$ [9 d) G" A+ D %matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0). {% V. R% C6 j map1.drawcoastlines()
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) : P/ @ h$ s# q2 ^6 G map1.drawcoastlines() #绘制海岸线 # E$ j& Y' d+ j; s map1.drawcountries() #绘制国家 5 B% e9 K) T, x! `* k: }
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) + s$ p5 L5 \: n4 R1 R map1.drawcoastlines() #绘制海岸线% g* o2 X: n+ }. A) c, j% o map1.drawcountries() #绘制国家% Q( F# `; @; t V% d6 ^ map1.fillcontinents(color=blue,alpha=0.5) #填充颜色 6 N5 i/ F7 f/ I. `# t: C
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)! Q+ K/ K+ ?* E$ S- ]& E7 h' o map1.drawcoastlines() #绘制海岸线* O5 ]$ O4 Q$ \7 p# B map1.drawcountries() #绘制国家- X, d) _1 H, V( W0 r, c" ?/ ~/ } map1.drawmapboundary() #绘制边界 ; O! X: U5 ?, f, w map1.fillcontinents(color=blue,alpha=0.5) #填充颜色 ! o; w4 F. @) Q map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线 % x( T8 T# k7 Y/ Z3 |9 Y. }! B map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线 1 E. Q$ H5 R" `1 H" v! \8 B+ X5 {
map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0). n P3 t$ Z6 b& X, g8 s. { map1.drawcoastlines() #绘制海岸线 ! z X4 y9 G% w+ y map1.drawcountries() #绘制国家 $ o, C- }0 Z- ]+ G map1.drawmapboundary() #绘制边界 ' l7 o- h# {8 t) _6 [$ A$ o5 o, l map1.fillcontinents(color=blue,alpha=0.5) #填充颜色8 R4 y ?/ i) @5 V map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线 7 o, M- y" h6 G: ] map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线' {- t. u# G% d3 o2 Q6 |! 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) ; F( T, \5 k5 @( L# ~ map2.drawcoastlines() #绘制海岸线 ) B: Y9 J6 `; l- i9 Z4 N; @5 ~ map2.drawcountries() #绘制国家 d# p7 X, G2 H6 n9 L5 V6 v$ u5 I# {( L map2.drawmapboundary() #绘制边界1 v. Q" Z t8 t2 I* J map2.drawstates() #绘制州 & O& b2 W# s7 N0 G9 e! N3 T map2.fillcontinents(color=blue,alpha=0.5) #填充颜色 # S9 b( }! t* ~% T' I/ m% O& B map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线7 M) H9 L- [2 v$ i1 h+ Y: _6 S6 k; W map2.drawparallels(np.arange(-90, 90, 30))   #绘制纬线 # [' k$ c% _0 z4 g- c0 g5 k$ 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) 3 z4 W1 W( |1 _, Z' G0 i _ map2.drawcoastlines() #绘制海岸线! n5 y; Z. @, f. w) Q0 Q/ K8 y. V map2.drawcountries() #绘制国家4 ^2 k: p! @$ ]3 |2 t% B: t% C1 E map2.drawmapboundary() #绘制边界 . C) h6 l' X, Y: b* r/ W% L map2.drawstates() #绘制州 ) ?! h) B. p. M0 A } map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线 ( U" k3 Q# g, R, R1 M; e/ J& S; A map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线" u: ~0 G0 D8 A) n* c lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标' @" ]1 n6 K, f5 {+ x# `) r5 y map2.plot(x, y, ro, markersize=8) #绘制散点图 / n1 Y7 Q% Q+ a2 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) . H/ d2 b& d9 h2 J4 T map2.drawcoastlines() #绘制海岸线 ( n: @4 w. ~! x$ p3 |2 i: L1 z+ M map2.drawcountries() #绘制国家 ' H% s5 t& |; S3 t9 N map2.drawmapboundary() #绘制边界 ; t! M/ n6 |- w' K$ g+ ?. c8 W map2.drawstates() #绘制州 % b! x- T4 [ B3 s, E% H' o% e; j2 c" ~ map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线 $ O4 }* ^5 P# u9 f" m6 R map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线9 Z% I5 }3 n4 w$ E lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标 ' R8 W; _) k9 l- J6 L; V: Z map2.plot(x, y, ro, markersize=8) #绘制散点图 & a2 q( l3 l7 H) l plt.text(x,y,New York) #文本注释 % C6 Q6 \; M% F( C: E0 m
0 T! G8 O3 A- V1 r4 `4 e3 q

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

0 b" u$ q& s1 _9 y: S4 ~' i

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

* I0 I P! G3 c: ]; K! [

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

" m+ T: [8 z' c7 `& h) t# P " ^8 B/ B2 g$ q ) \/ J9 ^1 q$ D) f 1 c, f' P( u" w9 a6 k+ y% T; v, ^- ^0 L6 p) M4 x( P- r
回复

举报 使用道具

相关帖子

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