数据可视化—地图可视化

[复制链接]
! I' y+ F" ?4 C! y7 g0 v

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

6 h. V. }# ` {# e7 H) E2 n0 S6 w4 [

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

/ V3 S# b6 [/ n2 U

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

import numpy as np #导入库: T. X- T d M8 E8 V- {, t% h0 y import pandas as pd " t( U' ]8 ?7 m a" b# |( O3 {7 ` import matplotlib.pyplot as plt0 L( X2 ?$ j c* x& e from mpl_toolkits.basemap import Basemap- C' o' A/ B: e% E1 d$ ?1 G# M %matplotlib inlinemap1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) 7 R6 t \( s7 g0 w2 W) m: {4 } map1.drawcoastlines()
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)! T% ^/ H+ x1 R* Z6 p map1.drawcoastlines() #绘制海岸线 6 A$ h, }6 q: ]5 Y map1.drawcountries() #绘制国家 - y! T3 M5 }: K* B& S
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)+ d1 C" t4 S* S O, D2 O: ?$ C2 z map1.drawcoastlines() #绘制海岸线% H) Y; I% K1 w7 c9 ] map1.drawcountries() #绘制国家% M" Y& f+ [" m map1.fillcontinents(color=blue,alpha=0.5) #填充颜色 - o" L% \ @* h) Y! M W" y- ^
map1 = Basemap(projection=ortho, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0) : J3 M0 G. S* V7 @5 i$ X' ^. c map1.drawcoastlines() #绘制海岸线- B( N: k6 C( w+ _ map1.drawcountries() #绘制国家" n/ V+ q, G! I- O M8 `( j map1.drawmapboundary() #绘制边界. z$ ^ `, y2 `* g map1.fillcontinents(color=blue,alpha=0.5) #填充颜色 $ D) R, n6 _. w2 E. k C map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线 1 t* a( G) w4 U, [+ O map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线9 }/ l" y J6 z* t3 j5 S# X" U) t
map1 = Basemap(projection=robin, lat_0=90, lon_0=-105,resolution=l, area_thresh=1000.0)3 d3 k+ ^2 L" p map1.drawcoastlines() #绘制海岸线 1 s0 C; U- R! G' D map1.drawcountries() #绘制国家 . _4 j) \( i- c; X9 y map1.drawmapboundary() #绘制边界, ^! c( {1 o9 S% [9 G. `/ V map1.fillcontinents(color=blue,alpha=0.5) #填充颜色, `, d$ ]" }, y1 J/ a7 D map1.drawmeridians(np.arange(0, 360, 30)) #绘制经线 4 p& C* M4 j R, Q" Q map1.drawparallels(np.arange(-90, 90, 30)) #绘制纬线 ( c2 B. H5 S( G5 A 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)( \7 b5 L1 f) W' q" B0 Y map2.drawcoastlines() #绘制海岸线) }5 s9 x/ Y2 P) ^( b" y. s map2.drawcountries() #绘制国家) ?% s, G( V0 D: N# u F9 C map2.drawmapboundary() #绘制边界 4 y& H1 |( i* {& J map2.drawstates() #绘制州2 p+ H. I3 H% [$ C$ F6 D' v6 N map2.fillcontinents(color=blue,alpha=0.5) #填充颜色 % z0 s) A: F, [4 d9 e, p' M3 c map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线2 m* _) o8 k8 t" ` map2.drawparallels(np.arange(-90, 90, 30))   #绘制纬线 2 h" P' l" k4 }$ t; O# h# P
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) ; i0 L0 |( U1 ^' J% {* A9 T map2.drawcoastlines() #绘制海岸线! I! P; O9 Y- Z8 {2 F3 s3 j6 j, s map2.drawcountries() #绘制国家- X8 ~* s& G' q2 o' ~ map2.drawmapboundary() #绘制边界5 f+ U# l& b$ }0 } map2.drawstates() #绘制州) I4 B; X1 [6 C7 ?3 T# S | map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线0 X3 o! H0 {+ G! V map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线! F: t. C {4 Y( [, F c lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标, J2 K! z; T9 u/ e: t. B map2.plot(x, y, ro, markersize=8) #绘制散点图' f# d/ w! m: B9 O" t( A
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) ' p, s" {- J% s' x/ n d! Q map2.drawcoastlines() #绘制海岸线$ n0 O, e! _9 X, a4 S map2.drawcountries() #绘制国家1 Q+ d n r. k& G e; X) ` map2.drawmapboundary() #绘制边界 1 `6 j2 F2 B4 p# l J, ] map2.drawstates() #绘制州 3 Z6 v- M8 g+ U map2.drawmeridians(np.arange(0, 360, 30)) #绘制经线: H0 y, b7 p, y2 g: ~1 ] map2.drawparallels(np.arange(-90, 90, 30)) #绘制纬线 h$ U4 r' Z* Y% A3 m lon = -74lat = 40.43x,y = map2(lon, lat) #映射坐标0 U! U* k$ E9 O" `, c* G map2.plot(x, y, ro, markersize=8) #绘制散点图2 ]8 p7 [& f/ P* h& q! A plt.text(x,y,New York) #文本注释7 `. S8 M4 {9 C8 Z2 i. S# C. I! K
; j) C. {7 ~8 n4 \0 A7 c

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

! I. }& `% b3 i1 {4 M' l

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

% t; i. l# S* q6 W$ l# n9 `* Z

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

' v9 m0 R% f1 d6 T2 _ ' l- z% q: @: Z. @+ Y/ ^: D% m. b/ _ 3 Y. Z: Q9 G) R2 X8 K- K2 t$ Y$ j+ J7 Z4 U( }( e I* t1 W- C- M5 u- M6 {/ C: F
回复

举报 使用道具

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