kaggle地理空間分析-coordinate reference system(座標參考系統)<ii>
阿新 • • 發佈:2020-08-08
介紹
您在本課程中建立的地圖以二維方式描繪了地球表面。但是,正如您所知,世界實際上是三維地球。因此,我們必須使用一種稱為地圖投影的方法將其渲染為平坦表面。
地圖投影不能100%準確。每個投影都會以某種方式扭曲地球表面,同時保留一些有用的屬性。例如,
-
等面積投影(例如“蘭伯特圓柱等分面積”或“非洲阿爾伯斯等分圓錐”)可保留面積。例如,如果您想計算一個國家或城市的面積,這是一個不錯的選擇。
-
等距投影(例如“方位角等距投影”)保留距離。這將是計算飛行距離的好選擇。
我們使用座標參考系統(CRS)來顯示投影點如何對應於地球上的真實位置。在本教程中,您將瞭解有關座標參考系統的更多資訊,以及如何在GeoPandas中使用它們。
import geopandas as gpd
import pandas as pd
設定CRS
當我們從shapefile建立GeoDataFrame時,已經為我們匯入了CRS。
# Load a GeoDataFrame containing regions in Ghana
regions = gpd.read_file("../input/geospatial-learn-course-data/ghana/ghana/Regions/Map_of_Regions_in_Ghana.shp")
print(regions.crs)
{'init': 'epsg:32630'}
您如何解釋?
座標參考系統由歐洲石油測量集團(EPSG)程式碼參考。
此GeoDataFrame使用EPSG 32630,通常更稱為“墨卡託”投影。 該投影保留了角度(使其對於海上航行很有用)並且使區域略微變形。
但是,從CSV檔案建立GeoDataFrame時,必須設定CRS。 EPSG 4326對應於緯度和經度的座標。
# Create a DataFrame with health facilities in Ghana facilities_df = pd.read_csv("../input/geospatial-learn-course-data/ghana/ghana/health_facilities.csv") # Convert the DataFrame to a GeoDataFrame facilities = gpd.GeoDataFrame(facilities_df, geometry=gpd.points_from_xy(facilities_df.Longitude, facilities_df.Latitude)) # Set the coordinate reference system (CRS) to EPSG 4326 facilities.crs = {'init': 'epsg:4326'} # View the first five rows of the GeoDataFrame facilities.head()
在上面的程式碼單元中,要從CSV檔案建立GeoDataFrame,我們需要同時使用Pandas和GeoPandas:
- 我們首先建立一個DataFrame,其中包含具有經度和緯度座標的列。
- 要將其轉換為GeoDataFrame,我們使用gpd.GeoDataFrame()。
- gpd.points_from_xy()函式從緯度和經度列建立Point物件。