返回顶部
首页 > 资讯 > 后端开发 > Python >Python爬取地图瓦片
  • 479
分享到

Python爬取地图瓦片

瓦片地图Python 2023-01-30 23:01:21 479人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

由于要在内网开发地图项目,不能访问在线的地图服务了,就想把地图瓦片下载下来,网上找了一些下载器都是需要注册及收费的,否则下载到的图都是打水印的,如下: 因为地图瓦片就是按照层级、行、列规则组织的一张张图片(如下图,14是瓦片的级别,13

由于要在内网开发地图项目,不能访问在线的地图服务了,就想把地图瓦片下载下来,网上找了一些下载器都是需要注册及收费的,否则下载到的图都是打水印的,如下:

因为地图瓦片就是按照层级、行、列规则组织的一张张图片(如下图,14是瓦片的级别,13478是行号,6202是列号),所以想到可以试试用python把这些图爬取下来。

主要可以分为三步:

1.确定要下载的瓦片的级别,经度和纬度范围(可以通过百度坐标拾取获得,Http://api.map.baidu.com/lbsapi/getpoint/index.html

2.计算出这个范围内瓦片的起始和终止行列号

1 # 经纬度反算切片行列号 3857坐标系
2 def deg2num(lat_deg, lon_deg, zoom):
3     lat_rad = math.radians(lat_deg)
4     n = 2.0 ** zoom
5     xtile = int((lon_deg + 180.0) / 360.0 * n)
6     ytile = int((1.0 - math.log(math.tan(lat_rad) + (1 / math.cos(lat_rad))) / math.pi) / 2.0 * n)
7     return (xtile, ytile)

3.根据行列号拼接出瓦片的url地址

1 #Google地图瓦片为例,zoom是地图层级,x,y为行列号
2 tilepath = 'http://www.google.cn/maps/vt/pb=!1m4!1m3!1i'+str(zoom)+'!2i'+str(x)+'!3i'+str(y)+'!2m3!1e0!2sm!3i345013117!3m8!2szh-CN!3scn!5e1105!12m4!1e68!2m2!1sset!2sRoadmap!4e0'

下载图片

 1 # 下载图片
 2 def getimg(Tpath, Spath, x, y):
 3     try:
 4         f = open(Spath, 'wb')
 5         req = urllib.request.Request(Tpath)
 6         req.add_header('User-Agent', random.choice(agents))  # 换用随机的请求头
 7         pic = urllib.request.urlopen(req, timeout=60)
 8         f.write(pic.read())
 9         f.close()
10         print(str(x) + '_' + str(y) + '下载成功')
11     except Exception:
12         print(str(x) + '_' + str(y) + '下载失败,重试')
13         getimg(Tpath, Spath, x, y)

保存图片时也需要按照层级,行创建好目录存储

1 path = "D:\\GoogleImg\\" + str(zoom) + "\\" + str(x)
2     if not os.path.exists(path):
3         os.makedirs(path)

结果如下:

用Openlayers加载出来的效果和在线地图是一样的。

Python获取地图瓦片的完整代码

Openlayers加载离线瓦片参考例子

Leaflet加载离线瓦片参考例子

如果对您有用,请赞赏!谢谢!

 

--结束END--

本文标题: Python爬取地图瓦片

本文链接: https://lsjlt.com/news/181212.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Python爬取地图瓦片
    由于要在内网开发地图项目,不能访问在线的地图服务了,就想把地图瓦片下载下来,网上找了一些下载器都是需要注册及收费的,否则下载到的图都是打水印的,如下: 因为地图瓦片就是按照层级、行、列规则组织的一张张图片(如下图,14是瓦片的级别,13...
    99+
    2023-01-30
    瓦片 地图 Python
  • python爬虫如何爬取图片
    这篇文章主要介绍了python爬虫如何爬取图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。python可以做什么Python是一种编程语言,内置了许多有效的工具,Pytho...
    99+
    2023-06-14
  • Python爬虫爬取网站图片
    此次python3主要用requests,解析图片网址主要用beautiful soup,可以基本完成爬取图片功能, 爬虫这个当然大多数人入门都是爬美女图片,我当然也不落俗套,首先也...
    99+
    2024-04-02
  • python-python爬取妹子图片
    1 # -*- conding=utf-8 -*- 2 3 import requests 4 from bs4 import BeautifulSoup 5 import io 6 7 url = "ht...
    99+
    2023-01-30
    妹子 图片 python
  • 使用Python爬虫爬取妹子图图片
            最近在学习Python的爬虫部分。看到有网友在分享使用爬虫爬取各种网站的图片的代码,也想自己写个玩玩。今天花时间分析了一下妹子图网站的结构和HTML代码,使用urllib2和BeautifulSoup写出了一个自动下载妹子图...
    99+
    2023-01-31
    爬虫 妹子 图图
  • python实现简单爬取图片保存到本地
    import requests import os url="http://lofter.nos.netease.com/sogou-Y1gxMDFIeFVHeWhCTkZaMEkzYWx1bGR5WEszQTdRTEZPcndxZWo3Q...
    99+
    2023-01-31
    简单 图片 python
  • 用python爬取某个图片网站的图片
    爬取单张图片 # 爬取单张图片import requests # 导入requests库url = "https://file.lsjlt.com/upload/f/202309/12/54vwhbwy2re.jpg" # 图片地址re...
    99+
    2023-09-12
    python 爬虫
  • python爬取百度图片代码
    import json import itertools import urllib import requests import os import re import sys word=input("请输入关键字:") path="./...
    99+
    2023-01-31
    代码 图片 python
  • Python图片爬取方法总结
    1. 最常见爬取图片方法 对于图片爬取,最容易想到的是通过urllib库或者requests库实现。具体两种方法的实现如下: 1.1 urllib 使用urllib.request.urlretrieve方法,通过图片url和存储的名称完...
    99+
    2023-01-31
    方法 图片 Python
  • python爬取网站美女图片
    今天周五,项目刚刚上线完,有些时间,闲着无聊,继续复习爬虫,这次打算爬取网站的美女图片。得先找到目标,然后目标网站还不会反爬虫,因为自己只是小白,好了开始。寻找目标,发现了目标,哈哈 http://www.meizitu.com 里面图片按...
    99+
    2023-01-31
    美女 图片 网站
  • python爬虫怎么获取图片
    这篇文章主要讲解了“python爬虫怎么获取图片”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“python爬虫怎么获取图片”吧!首先导入库给文件加入头信息,伪装成模拟浏览器访问实现翻页翻页多...
    99+
    2023-06-02
  • python如何爬取网页图片
    要使用Python爬取网页图片,可以使用requests库来发送HTTP请求,然后使用beautifulsoup库或者正则表达式来解...
    99+
    2023-08-20
    python
  • Python爬虫 自动爬取图片并保存
    一、准备工作   用python来实现对图片网站的爬取并保存,以情绪图片为例,搜索可得到下图所示 f12打开源码 在此处可以看到这次我们要爬取的图片的基本信息是在img - scr中 二、代码实现 这次的爬取主要用了如下的第三方库...
    99+
    2023-10-09
    爬虫 python 数据挖掘
  • 使用python如何随心所欲地爬取百度图片
    小编给大家分享一下使用python如何随心所欲地爬取百度图片,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言之前爬取了很多静态网页的内容,包括:小说、图片等...
    99+
    2023-06-06
  • Python爬虫之教你利用Scrapy爬取图片
    目录Scrapy下载图片项目介绍使用Scrapy下载图片项目创建项目预览创建爬虫文件项目组件介绍Scrapy爬虫流程介绍页面结构分析最终目录树项目运行爬取结果后记Scrapy下载图片...
    99+
    2024-04-02
  • python爬虫实战项目之爬取pixiv图片
    自从接触python以后就想着爬pixiv,之前因为梯子有点问题就一直搁置,最近换了个梯子就迫不及待试了下。 爬虫无非request获取html页面然后用正则表达式或者beautif...
    99+
    2024-04-02
  • python爬虫怎么批量爬取百度图片
    这篇文章将为大家详细讲解有关python爬虫怎么批量爬取百度图片,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研究;3、网络爬...
    99+
    2023-06-14
  • 如何使用Python爬虫爬取网站图片
    这篇文章主要介绍了如何使用Python爬虫爬取网站图片,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。此次python3主要用requests,解析图片网址主要用beautif...
    99+
    2023-06-22
  • python 爬取天气网卫星图片
    目录项目地址:代码部分下载生成文件功能创建文件夹生成时间列表生成下载URL列表主函数爬取效果项目地址: https://github.com/MrWayneLee/weather-demo 代码部分 下载生成文件功能...
    99+
    2022-06-02
    python 爬取天气网 python 爬取图片 python 爬取卫星
  • python爬取NUS-WIDE数据库图片
    实验室需要NUS-WIDE数据库中的原图,数据集的地址为http://lms.comp.nus.edu.sg/research/NUS-WIDE.htm 由于这个数据只给了每个图片的URL,所以需要一个...
    99+
    2022-06-04
    数据库 图片 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作