python画地形地貌图_opencv检测瑕疵python

python画地形地貌图_opencv检测瑕疵python我们可以使用basemap这个工具包来实现中国地图的绘制首先需要加载一些包:importnumpyasnpimportmatplotlib.pyplotaspltfrommpl_toolkits.basemapimportbasemapbasemap包就是气象画图的利器,现在我们就可以愉快的画图了!plt.figure(1)map=basemap()map.drawcoastli…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

我们可以使用basemap这个工具包来实现中国地图的绘制

首先需要加载一些包:

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.basemap import basemap

basemap包就是气象画图的利器,现在我们就可以愉快的画图了!

plt.figure(1)

map=basemap()

map.drawcoastlines()

plt.title(r’$world\ map$’,fontsize=24)

plt.show()

第2行创建一个地图,第3行添加海岸线,这样一个世界地图就出来了,怎么样,很简单吧。(plt.show()这行代码是用来显示图片的)

6d92e9eda134fc6693384ebc994c7fa6.png

我们发现这只是海岸线图,那么怎么将国界线添加上去呢?很简单,只要添加一行代码就可以了。

map.drawcountries()

13cdc6718ce865f6f21eb19e90c2c093.png

那么怎么添加河流呢?可能有些同学已经猜到了,就是drawrivers()

map.drawrivers(color=’blue’,linewidth=0.3)

b37d83d80de182404191ea055a454446.png

好了,现在我们可以开始画中国地图了!

其实只要在创建地图时指定一下范围就可以了,查阅资料发现,中国的经纬度范围是东经135度2分30秒-东经73度40分,北纬3度52分-北纬53度33分。

map=basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=139,urcrnrlat=54)

6ecacd3f7fef4a6de3228029fbfe7d57.png

好了,一个中国地图就出来了!但是我们发现,好像少了点什么,没错就是省界。我们可以在下载中国大陆和台湾省的行政区域的shape文件,下载后解压,然后加入下面的代码。

chn=’g:\python_material\mapofchina’

chn的值就是解压后的地图文件所在的地址。

下面我们就可以加入省界了!

map.readshapefile(chn+’\gadm36_chn_shp\gadm36_chn_1′,

‘states’,drawbounds=true)

别忘了把台湾省加上去

map.readshapefile(chn+’\gadm36_twn_shp\gadm36_twn_1′,

‘taiwan’,drawbounds=true)

5e69b0422c952cdc2bb632e24f0e86c6.png

还可以在地图上加上经纬度,比如我们要画5条经纬线,可以这么做:

parallels = np.linspace(3,55,5)

map.drawparallels(parallels,labels=[true,false,false,false])

meridians = np.linspace(70,140,5)

map.drawmeridians(meridians,labels=[false,false,false,true])

38c937f0a24d2632ea829d27528517fc.png

大功告成!但是,emmm,我们发现好像有点歪?我们可以在创建地图时选择投影参数。

map=basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=137,urcrnrlat=54,

projection = ‘lcc’, lat_1 = 33, lat_2 = 45, lon_0 = 100)

98dc34f1065a68493b510f00096b7863.png

这回正式的完成了!

附上所有代码:

import numpy as np

import matplotlib.pyplot as plt

from mpl_toolkits.basemap import basemap

plt.figure(1)

map=basemap(llcrnrlon=70,llcrnrlat=3,urcrnrlon=139,urcrnrlat=54,

projection = ‘lcc’, lat_1 = 33, lat_2 = 45, lon_0 = 100)

map.drawcoastlines()

map.drawcountries()

map.drawrivers(color=’blue’,linewidth=0.3)

chn=’g:\python_material\mapofchina’

map.readshapefile(chn+’\gadm36_chn_shp\gadm36_chn_1′,

‘states’,drawbounds=true)

map.readshapefile(chn+’\gadm36_twn_shp\gadm36_twn_1′,

‘taiwan’,drawbounds=true)

parallels = np.linspace(3,55,5)

map.drawparallels(parallels,labels=[true,false,false,false])

meridians = np.linspace(70,140,5)

map.drawmeridians(meridians,labels=[false,false,false,true])

plt.title(r’$china\ map$’,fontsize=24)

plt.show()

以上就是利用python绘制中国地图的详细内容,更多关于python 绘制地图的资料请关注萬仟网其它相关文章!

希望与广大网友互动??

点此进行留言吧!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/227279.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 四大Hybrid App移动开发平台对比

    四大Hybrid App移动开发平台对比[值得一用的Apps]四大HybridApp移动开发平台对比摘要:作为一名Web开发者来说要如何站在移动互联网的浪潮之巅呢?是选择学习原生开发,研究Java、Object-C、C#等语言,还是选择继续使用网页开发,容忍HTML5功能的局限性?就在开发者左右为难的情况下HybridApp作为一个折中的解决方案诞生了。作者:来源:ZDNetCIO与应用频道|2013年04

    2022年5月31日
    36
  • android scaleanimation 动画方向,Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法…[通俗易懂]

    android scaleanimation 动画方向,Animation 动画详解(一)——alpha、scale、translate、rotate、set的xml属性及用法…[通俗易懂]一、概述Android的animation由四种类型组成:alpha、scale、translate、rotate,对应android官方文档地址:《AnimationResources》alpha渐变透明度动画效果scale渐变尺寸伸缩动画效果translate画面转换位置移动动画效果rotate画面转移旋转动画效果下面我们逐个讲讲每个标签的属性及用法。动作定义文件应该存放在res/anim文…

    2022年10月9日
    3
  • c++读取文本文件

    c++读取文本文件

    2022年1月8日
    51
  • vue分页的设置_vue视频切换过渡

    vue分页的设置_vue视频切换过渡1,在vue.config.js中添加如下代码2,在.eslint.js中注释掉重新启动项目,大功告成

    2022年9月28日
    3
  • spring dubbo集成(nacos dubbo)

    springBoot整合dubbo集成 传统Spring整合dubbo,需要繁琐的编写一堆堆的*.xml配置文件 而springBoot整合dubbo后,不在需要写*.xml,通过jar包引用,完 成整合,通过注解的形式完成配置。提高我们的开发效率目录结构1服务层生产者开发(hs-ldm-server-service)1.1添加dubbo依赖包<dependencies><dependency><groupId>org.ap

    2022年4月17日
    62
  • 都能看懂的LIS(最长上升子序列)问题[通俗易懂]

    都能看懂的LIS(最长上升子序列)问题[通俗易懂]LIS问题介绍:首先来说一下什么是LIS问题:有一个长为n的数列a0,a1,……,a(n-1)。请求出这个序列中最长的上升子序列的长度。上升子序列指的是对于任意的i<j都满足ai<aj的子序列,该问题被称为最长上升子序列(LIS,LongestIncreasingSubsequence)的著名问题。举个栗子:给你一个序列为(1,5,2,6,9,1…

    2022年6月14日
    29

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号