GIS 筆記 — 香港地理中心喺邊?(1)

Eric
8 min readMay 2, 2022

--

早前有 YouTube 影片探討香港地理中心位置,片中邀得學者梁啟智計算全港以至於港九新界各地的地理中心,然後組隊由港九新界的地理中心步行至香港的地理中心,座標如下:

香港中心點:22.381581 N, 114.133992 E (梨木樹邨以北山頭)
新界中心點:22.394559 N, 114.126272 E (龍門郊遊徑 C3402 以東的大圓右澗左源附近)
九龍中心點:22.325568 N, 114.190863 E (港鐵宋皇臺站)
港島中心點:22.256255 N, 114.194828 E (黃泥涌水塘)

全文完……?

我以為我了解中心,但我真的了解中心嗎?仔細想想,我對中心的理解只是皮毛而已。在人類的歷史中,我們總是盡了一切努力想搞懂中心這樣看來,回過神才發現,思考中心的存在意義,已讓我廢寢忘食。探討中心時,如果發現非常複雜,那麼想必不簡單。了解清楚中心到底是一種怎麼樣的存在,是解決一切問題的關鍵。若能夠洞悉中心各種層面的含義,勢必能讓思維再提高一個層級。經過上述討論,這種事實對本人來說意義重大,相信對這個世界也是有一定意義的。

By 唬爛產生器

要定義一個地方的中心,其實方法眾多,而較常見的就是找出重心 (centre of gravity),沒有電腦協助計算的話,可以參考影片中的方法二,將地圖貼在一大塊厚度均勻的卡紙板上,若然竹枝能在某點撐起整塊卡紙板並保持平衡,那點就是整個形狀的重心,美國 Coast and Geodetic Survey 在 1918 年就是用了這個方法來尋找美國本土的中心 [1] (註:阿拉斯加州以及夏威夷州在 1959 年才正式加入美國),這裏忽略了地表高度變化,故此實質等同於尋找一個平面形狀的形心 (centroid),還記得初中數學有教過如何計算三角形的形心嗎?當然還有其他尋找中心的方法,例如加上考慮地表高度立體變化,這樣高山比平地的比重就會較大,不過還是先把問題簡化為 2D 平面形狀好了。

此外,誠如梁啟智在文中談及,計算重心還牽涉到不少假設,例如海面應否計算在內呢?陸地的水體如水塘、內河又是否計算在內呢?又如港九新界的邊界又採用哪個版本呢?地球表面曲率又應否考慮在內呢? 慶幸香港只是彈丸之地,忽略曲率大抵無傷大雅,唯若範圍更大,使用甚麼投影方法絕對極其影響到繪畫在平面地圖上的形狀,例如常見的墨卡托投影法 (Mercator projection)會大幅放大高緯度的面積,使得格陵蘭在一般世界地圖上看起來異常巨大,但實際上格陵蘭跟中東的沙地阿拉伯差不多大。

繼續之前,先清楚記下假設,方便日後追溯步驟:

  1. 海面不計算在內
  2. 陸地水體、漁塘計算在內 (根據規劃署 2020 年香港土地用途數字, 1114 平方公里包括了 31 平方公里的水體 (水塘、河道、明渠)以及 16 平方公里的漁塘)
  3. 高水位以下的紅樹林、淺灘未必包括在內(如后海灣大片紅樹林),「陸地」在此文以 iB50000GML 的 ELEPOLY.gml 為準
  4. 數碼地圖版本:香港 1:50000 地形圖 (25 Apr 2022),CRS 使用 EPSG:2326。 海岸線不時隨工程變動,年內三跑竣工後,中心點又會移動
  5. 行政區劃:地方行政區分界 (27 Mar 2018),但落馬洲河套區並未劃入任何區議會分區 (不過反正只會視為新界一部份,這個容後再討論),此外沿着深圳河還有不少因深圳河治理工程而致的界線、業權、管轄權變動,單是這個議題已足以談上半天,此文續以較能反映現況的 iB50000GML 的 ELEPOLY.gml 為準,故若地方行政區界線跨越治理後的深圳河中線,該等土地將不計算在內

今天這篇文,純粹是寫給自己的 QGIS 新手學習筆記,也許有天可以派上用場。梁啟智數年前寫了《草根組織及媒體地圖制作指南》,由淺入深介紹GIS 製圖步驟,是不可多得的教材。

QGIS 版本:3.16.15-Hannover

Step 1. 先行解壓縮各個數碼地圖檔案
Step 2. 按需要將地理數據拖入 Layers,例如 iB50000GML 內的 Relief\ELEPOLY.gml、地方行政區分界的 hksar_18_district_boundary.json

陸地水體如水塘、河道視為土地

Step 3. ELEPOLY.gml 似乎是不能直接編輯,故此先行 Right Click > Export > Save feature as,格式設為 Geopackage,權限問題,需要選擇適當的資料夾,不然可能無法儲存檔案,然後保留其他預設參數即可匯出數據至新圖層
Step 4. 由於圖層由多個 Features 組成(例如一個小島可能就是一個獨立 Feature),要先將所有 Features 合併方便計算形心。選取新圖層後(如下圖的 elevpoly_20220425),開啟編輯模式(Toogle Editing),然後用滑鼠選取所有 Features,要上方的工具列選擇 Edit > Merge Selected Features,使用預設參數,再按 OK 即可將輕鬆二百多個 Features 合而為一

Step 5. 計算香港中心點其實唔難,Vector > Geometry Tools > Centroids,就是如此簡單

Step 6. QGIS 已將 Centroid 自動加在地圖上,大概是在荃灣附近,只要 Zoom in,再加入 iB50000GML 其他圖層(如道路、鐵路的TSPTLINE.gml,建築物的 BLDGPOLY.gml,公共設施(公園、濾水廠等)的 FACIPOLY.gml),可見 Centroid 在梨木樹邨以北的小山頭

橙圈為香港中心點

Step 7. 如欲取得 Centroid 的詳細坐標,那就稍為複雜一點,其中一個方法是選取 Centroid 的 Feature 再複製,在 Excel/ Notepad 之類貼上就可以看到坐標,另一個方法是用內置的 Field Calculator,Right Click 圖層 Centroid > Open Attribute Table > Open field calculator,要注意的是這裡的 Northing 、Easting 並不是 Centroid 的坐標,純粹是另一個 Feature 的數據複製了過來

Step 8. 可以建立 new field,不過習慣直接更新的數值,剔選 Update existing field,選擇 EASTING (東距),在 Geometry 下找 $x,然後連擊加入左邊的 Expression,下方 Preview 隨即顯示相關數值,再按 OK 即好。然後重複以上動作,不過改為更新 NORTHING(北距),在 Geometry 下找 $y 再加入 Expression,如此即能保存坐標在 Attribute Table。

Step 9. 中心點坐標為 826907.4mN, 831835.5mE,這裡採用 HK1980 方格網坐標,換算為日常用到的經緯度的話,可以使用地政總署的換算工具, 或者是再次使用 Field Calculator,不過公式就會稍為複雜一點:
經度(long)x(transform($geometry,’ESG:2326',’ESG:4326'))
緯度(lat)y(transform($geometry,’ESG:2326',’ESG:4326'))

換算後的經緯度大概是 22.381374 N, 114.133834 E,跟片中的 22.381581 N, 114.133992 E (梨木樹邨以北山頭) 相差不遠 (大概在片中那點的西南二十多米左右,畢竟資料來源、假設未必相同,算是可接受的誤差之內吧,至於西南方有甚麼可能不同,也許是港珠澳大橋,剔除港珠澳大橋香港口岸後,誤差即減至大概十多米內)。

經度

適才已找到香港的地理中心,固然不是廣告提及的大圍,那如何尋找分區的地理中心呢?步驟有點繁複,留待下文續談。

參考資料:

草根組織及媒體地圖製作指南 (1)

尋找香港地理中心點:Mill MILK 短片伸延閱讀

地理數據來源:

文中提及的地理數據 (香港 1:50000 地形圖地方行政區分界)屬香港政府 和 資料一線通 網站所有

Eric
Last Revision: 2 May 2022

--

--