[python]天地地图瓦片下载

本文介绍了一个Python脚本,用于高效下载天地图的瓦片数据。脚本中包含了多条User-Agent,避免下载过程中出现速度慢或闪退的问题。通过设置经纬度范围和缩放级别,可以定制化地下载所需地图区域。
摘要由CSDN通过智能技术生成

之前下载了一个.net GMap来下载地图发现速度太慢。而且经常会闪退。所以写了个脚本去获取。(亲测可用,直接复制吧。)

#!/usr/bin/python
# _*_coding:utf-8_*_

from urllib3 import request

import re

import urllib.request

import os

import random

import math

import sys

count = 0

agents = [

    'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36',
    'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/532.5 (KHTML, like Gecko) Chrome/4.0.249.0 Safari/532.5'
    'Mozilla/5.0 (Windows; U; Windows NT 5.2; en-US) AppleWebKit/532.9 (KHTML, like Gecko) Chrome/5.0.310.0 Safari/532.9',
    'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.7 (KHTML, like Gecko) Chrome/7.0.514.0 Safari/534.7',
    'Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/9.0.601.0 Safari/534.14',
    'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.14 (KHTML, like Gecko) Chrome/10.0.601.0 Safari/534.14',
    'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.20 (KHTML, like Gecko) Chrome/11.0.672.2 Safari/534.20',
        'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/534.27 (KHTML, like Gecko) Chrome/12.0.712.0 Safari/534.27',
    'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.1 (KHTML, like Gecko) Chrome/13.0.782.24 Safari/535.1']
resolution={18:5.36441802978515E-06,

要使用Python爬取高德地图的XYZ瓦片,可以使用以下步骤进行操作: 1. 导入必要的库和模块,包括`requests`用于发送HTTP请求,`Pillow`用于处理图像数据。 2. 构建请求URL。高德地图的XYZ瓦片URL格式为:`http://wprd03.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}`,其中`{x}`表示瓦片的x坐标,`{y}`表示y坐标,`{z}`表示缩放级别。 3. 使用循环遍历需要下载瓦片的x和y坐标,并发送GET请求获取瓦片数据。可以根据具体情况设定循环范围和缩放级别。 4. 将获取到的瓦片数据保存为图片文件。可以使用`Pillow`库的`Image`模块将数据解码为图片,然后保存到本地文件夹中。 下面是一个简单的Python代码示例: ```python import requests from PIL import Image # 构建请求URL url_template = "http://wprd03.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}" # 设置需要下载瓦片的范围和缩放级别 min_x = 0 max_x = 10 min_y = 0 max_y = 10 zoom_level = 10 # 循环遍历需要下载瓦片 for x in range(min_x, max_x+1): for y in range(min_y, max_y+1): # 构建请求URL url = url_template.format(x=x, y=y, z=zoom_level) # 发送GET请求获取瓦片数据 response = requests.get(url) # 将获取到的瓦片数据保存为图片文件 file_name = f"tile_{zoom_level}_{x}_{y}.png" with open(file_name, "wb") as f: f.write(response.content) print("瓦片下载完成。") ``` 上述代码将会下载高德地图的XYZ瓦片,保存为相应的图片文件,图片文件的命名格式为`tile_{缩放级别}_{x坐标}_{y坐标}.png`。根据实际需求,可以调整代码中的循环范围、URL模板、保存文件的路径等。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

又要取名字我是女的

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值