如何用python画出中国地图-用Python画一个中国地图

你用 Java 的 4 行代码画一个地图出来?m.drawcountries(linewidth=1.5)

就变成了如许:

bd547c3f039f9b320740b03f3b8360d4.jpg

用 Java 可能吗?用 PHP 可能吗?

如不雅我们想显示中国地图,只须要在创建 Basemap 时指定一下经纬度就行了:m = Basemap(llcrnrlon=73, llcrnrlat=18, urcrnrlon=135, urcrnrlat=53)

然后就获得了中国地图:

425d91ceaa453d19c79f8eff98ada6ff.jpg

看上却竽暌剐点变形,这是因为我们没有添加任何投影的原因, Basemap 供给 24 种不合的投影方法,你可以本身一个个试一下,比较常用的是 兰勃特投影 ,我们添加一下:m = Basemap(llcrnrlon=77, llcrnrlat=14, urcrnrlon=140, urcrnrlat=51, projection='lcc', lat_1=33, lat_2=45, lon_0=100)

此次终于看上去比较正常了:

2440280f73aa093b25626ff4e491fc1e.jpg

因为 Python 这个说话生成就是脚本说话,可能将来独一有欲望往里移植的就是 Javascript ,这货也是一个脚本说话。脚本说话的好处就是不消编译,一行一个结不雅。纵不雅计算机说话成长汗青,就是一个大年夜繁到家的过程,C说话须要编译+链接才能运行, Java 只要 javac 一下,把编译和链接合二为一, PHP 更简单,直接运行就行了,连编译都省了。然则还不敷直接,因为还要编写一个 .php 文件存盘,然后才能运行,到了 Python 以及其它脚本说话这里,可以直接在壳里运行,但最大年夜的问题是运行可以运行,无法保存,要保存就又要跟传统方法一样,找个编辑器来,或者 vi ,存成文件今后才可以运行。 Jupyter 最大年夜的长处就是:它本身照样一个外壳情况,可以运行脚本,但同时也帮你主动把这些脚本代码保存了下来,不只保存脚本代码,并且你插裹足本代码傍边的所有注释不是通俗注释,而是各类格局化的 Markdown 都一并帮你保存下来,并且可以随时修改。所以它兼具了脚本外壳和文件治理体系的长处,大年夜此你开辟 Python 代码再也不消先在IDE里写好代码,然后再到终妒攀里去运行,而直接在一个 web 页面上就全部搞定了。 Java 有如许的对象吗? PHP 有如许的对象吗?没有,所以我们必须选择 Python 。

我们想加上省的界线怎么办呢? Basemap 缺省的包琅绫腔有中国的省区,只有美国的州,毕竟是美国人做的嘛。不过好活着界很大年夜,有专门的国际组织干这事,在 这里 你可以下载全世界任何一个国度的行政区划 Shape 文件,然后我们给它加上:

然后就获得了下图:

5f7d8714ceee3257b13b2d1d64afcce7.jpg

再往后,你还可以往图上改色彩啦,写数字啦,这些就留待钠揭捉?究吧。总之,我想说的是,用 Python 画地图真的超轻易。brew install geos

pip3 install https://github.com/matplotlib/basemap/archive/v1.1.0.tar.gz

最后再为 Java 和 PHP 美言几句:大年夜家分工不合, Java 和 PHP 固然做如许的数字研究不是很便利,但照样异常合适 web 开辟的,而 Python 在这方面并不合适。所以平日的做法是:起首用 Python 验证算法,经由一系列复杂的计算,把算法肯定下来之后,当要应用到 web 上的时刻,再用 Java 或者 PHP 把最终形成的结论重写一遍,如许就能充分应用各类说话的优势。m.readshapefile('CHN_adm_shp/CHN_adm1','states', drawbounds=True)

推荐阅读

【51CTO.com原创稿件】作为全球ICT的行业嘉会,HUAWEI CONNECT 2017(华为全联接大年夜会)将于 2017年9月5日-7日在上海新国际博览中间┞焚开。本次全联接大年夜会将以“Grow with the Cloud”(云领将来)为>>>详细阅读

地址:http://www.17bianji.com/lsqh/36970.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值