【问题标题】:Connecting Google Maps to SHP files in Python在 Python 中将 Google 地图连接到 SHP 文件
【发布时间】:2020-07-28 02:28:29
【问题描述】:

我想将谷歌卫星地图与 shp 中的边界连接起来,以便裁剪城外的所有内容。我有Wroclaw city borders 的shp 文件和从谷歌地图下载卫星地图的代码。地图的中间是已知的 (lat = 51.1078852, lon = 17.0385376),所以也许有可能以某种方式将两者联系起来?

我发现了许多使用其他软件的方法,例如:

但不是 Python。 这是下载弗罗茨瓦夫卫星地图的代码(在 chenging API 密钥之后):

import requests
import shutil

#API
with open('apikey.txt') as f:
    apikey = f.readline()
    f.close 


lat = 51.1078852
lon = 17.0385376    
zoom = 14
size_tile_x, size_tile_y = 1024, 1024
scale = 2
format_image='png'
maptype='satellite'
style=''
url_s = f"https://maps.googleapis.com/maps/api/staticmap?key={apikey}&scale={scale}&center={lat},{lon}&zoom={zoom}&format={format_image}&maptype={maptype}{style}&size={size_tile_x}x{size_tile_y}"

r = requests.get(url_s, stream=True, headers={'User-agent': 'Mozilla/5.0'})
name = 'Map.png'
if r.status_code == 200:
    with open(name, 'wb') as f:
        r.raw.decode_content = True
        shutil.copyfileobj(r.raw, f)

【问题讨论】:

    标签: python google-maps shapefile


    【解决方案1】:

    如果您可以将地图下载为地理参考栅格(例如 GeoTIFF),则可以使用 GDAL/OGR。我不认为PNG文件通常是地理参考的(我从未见过地理参考的PNG),因此您可能必须首先对PNG进行地理参考并将其保存为PNG以外的其他内容,例如GeoTIFF。

    如果您能以某种方式获得地理参考文件,那么这里是 Python GDAL Cookbook 中的tutorial,关于使用 shapefile 裁剪栅格。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-08-20
      • 1970-01-01
      • 1970-01-01
      • 2020-01-07
      • 1970-01-01
      • 2020-08-10
      • 2012-05-22
      相关资源
      最近更新 更多