Python是一種強大的編程語言,可用于許多應用程序,例如數據分析、Web開發和科學計算。最近,它在城市規劃和地圖制圖方面變得非常流行,因為它可以使用許多庫來生成城市剪影。 本文將介紹如何使用Python生成城市剪影。
#導入必要的庫 import requests from io import BytesIO from PIL import Image import matplotlib.pyplot as plt import numpy as np #設置地圖中心點和縮放級別 center = 'Paris, France' zoom = 13 #使用Google Static Maps API獲取靜態地圖 url = f'https://maps.googleapis.com/maps/api/staticmap?center={center}&zoom={zoom}&size=640x640&maptype=roadmap&style=feature:all|element:labels|visibility:off&style=feature:landscape|element:geometry.fill|color:0xf5f5f5&key=YOUR_API_KEY' response = requests.get(url) img = Image.open(BytesIO(response.content)) #將圖像轉換為灰度圖像 gray_img = img.convert('L') #將灰度圖像轉換為二進制圖像 binary_img = gray_img.point(lambda x: 255 if x >128 else 0, '1') #將二進制圖像轉換為numpy數組 np_img = np.array(binary_img) #繪制城市剪影 plt.imshow(np_img, cmap='binary') plt.axis('off') plt.show()
代碼中,我們首先設置了地圖的中心點和縮放級別。然后,使用Google Static Maps API獲取靜態地圖的圖像。接著,將圖像轉換為灰度圖像,并將灰度圖像轉換為二進制圖像。最后,將二進制圖像轉換為numpy數組,用matplotlib繪制城市剪影并顯示出來。
通過這個簡單的代碼,我們可以輕松地生成城市剪影,幫助城市規劃者和地圖制圖者更好地展示城市的結構和輪廓。