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

数据可视化—地图可视化

[复制链接]
* K% T" S6 \. a0 x

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

+ h0 d* x! G1 Y/ u" Q

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

. c# Y5 @1 _5 k

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

import numpy as np #导入库 0 o( k0 O. f8 ]/ O8 }1 a6 W( v import pandas as pd$ _1 W) S L+ z0 a8 s' M2 {8 S import matplotlib.pyplot as plt# B2 R+ y0 S; u7 l# g% B. Q9 N from mpl_toolkits.basemap import Basemap* D9 X5 }* `5 ]; `/ M$ `3 ]' A %matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) / u) U$ j+ C3 E# t% e6 q map1.drawcoastlines()
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) / J7 s6 d: p7 @. K# _' ] map1.drawcoastlines() #绘制海岸线 - y8 j5 g5 g- K" v. G7 B( m map1.drawcountries() #绘制国家 5 C# _9 h. h. s3 T6 n1 j# \
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) 9 G; N3 |3 q8 o. l! a4 \ map1.drawcoastlines() #绘制海岸线/ F* |" d$ |. N- }9 V" m0 ^& } map1.drawcountries() #绘制国家 + A( j1 f$ w3 q& B' w. c: Q map1.fillcontinents(color=blue,alpha=0.5) #填充颜色+ T7 j& @4 @: \, H( ?( ^
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)/ X* D+ C' `: {( H3 d map1.drawcoastlines() #绘制海岸线- M5 m8 t* x7 {6 j4 } map1.drawcountries() #绘制国家 5 R& f7 U) ^9 j map1.drawmapboundary() #绘制边界 ) y* C( J. g6 y map1.fillcontinents(color=blue,alpha=0.5) #填充颜色 ! G+ ~: D2 j0 _+ u* \ map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线' O! H2 Q- K9 ~- C2 ` G map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线& Z8 J6 i4 c* Q% V$ y7 B9 z
map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)3 w( `2 K% A% f6 S map1.drawcoastlines() #绘制海岸线3 U/ J2 U( `4 S0 X2 n* a% o W* u map1.drawcountries() #绘制国家 $ y9 Z4 _4 w. p7 U: |2 c map1.drawmapboundary() #绘制边界" E( e- q& Z8 f0 @ z map1.fillcontinents(color=blue,alpha=0.5) #填充颜色2 \2 t e: Y0 i* M% {- S map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线0 \- P" B( F& } map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线* E, x1 a( U: f& c* F( I+ q
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) * Z$ |; l+ O4 |) S map2.drawcoastlines() #绘制海岸线+ [, a+ C8 w% i map2.drawcountries() #绘制国家" _9 U/ d2 N5 }2 z' @5 Q: M map2.drawmapboundary() #绘制边界% E+ x/ t# O: z5 _6 S map2.drawstates() #绘制州6 K1 b8 ]( N- j/ }2 U; s map2.fillcontinents(color=blue,alpha=0.5) #填充颜色# v" Z+ Q5 x1 Z* U- ?/ C map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线 % ^2 X! e" P/ w1 ~& u2 r map2.drawparallels(np.arange(-90, 90, 30))   #绘制纬线 + V$ C, A! Q9 b( b
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); |4 K E, j- L& R map2.drawcoastlines() #绘制海岸线 0 z" h$ [! e8 k5 U) m map2.drawcountries() #绘制国家 4 }2 w- N" }1 X6 @ map2.drawmapboundary() #绘制边界4 Z! y' A! {9 A5 y( Z map2.drawstates() #绘制州" H" C5 `" k$ E6 ~1 a4 |, w map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线! ^+ m L; H' @7 n map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线 % u5 I, @8 p& ~+ j lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标 7 A8 X: c* T% t# ^1 q6 v W map2.plot(x, y, ro, markersize=8) #绘制散点图 $ K: c' N- ]& x' U4 v3 R2 P3 ~
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)1 e. K, e" v* m. j# M3 A7 z2 v6 v map2.drawcoastlines() #绘制海岸线% i. A! f: J7 [/ o# U* C& N5 I map2.drawcountries() #绘制国家 * z: H+ v6 a1 f; P$ Z! h map2.drawmapboundary() #绘制边界4 P( |# e4 D8 h7 K+ L% F; z0 t map2.drawstates() #绘制州( F$ a+ ?. y; A' v: d; M. d map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线 ! `- o/ [8 a, W( e3 e3 F map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线 $ w" x# {0 O0 l lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标* Z, o) F6 U! p7 [ map2.plot(x, y, ro, markersize=8) #绘制散点图 8 P) p q* Q9 P; _# U/ o8 |$ B0 L plt.text(x,y,New York) #文本注释/ F: i/ x6 \7 [* C; c: R
. a4 {+ H2 |+ q7 C6 u

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

, H7 R5 F7 o( k* ]

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

7 ]8 T! `! ]: r2 R/ v% m

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

0 d/ R- R, z# l" B. i4 w5 q 5 j% l3 K a" t * e) `4 G% x1 O" g& D" h0 d1 C/ v . X* l' X6 Y* M# M0 |3 }
回复

举报 使用道具

相关帖子

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