土地資產管理系統開發技術思維分析
目錄
一、技術
二、開發功能特色介紹
三、尚需改善部分/結論
一、技術
前端:HTML5, CSS3, JQuery, ArcGis.js
後端:Php
環境:Apache, MsSQL
備註:
第一次接手開發的系統案,分為兩期,第一期為開發進度約 1/3 時接手處理,直至第二期處理前後端(主要負責 JS,CSS 部分被切出去)過程中接觸包含介接 SSO、寄信及 GIS 等相關功能之開發。
二、開發功能特色介紹
圖層套疊
實踐思路:圖層為市府提供 API,透過 Arcgis.js 的 TileMapServiceLayer、DynamicMapService 實踐在網頁上顯示地圖。
在實踐這個技術時,個人有去查閱 Arcgis 的書籍,以下為簡易輸出的筆記。
主題圖套疊
實踐思路:前端透過 API 取得圖層資料後,透過篩選比對條件,當條件成功則渲染地圖,其中最大的難點在於效能,效能問題採 OpenLayers 的 BBOX 策略(只獲取當前地圖範圍內數據),避免同一時段傳回十萬筆以上資料要進行比對,讓前端畫面卡住。
(參考 Web GIS,下圖為個人輸出知識點)
範圍查詢
實踐思路:前端透過 Arcgis.js 繪製圓圈,取得地理位置資訊(格式為點座標(格式:TWD97 經緯度)及半徑)後回傳後端,後端透過使用 SQL 地理空間資訊查詢的方式,去取得點座標半徑內相關的圖層資料並回傳,最終由前端繪製到地圖上。
三、尚需改善部分/結論
【前端】
爾後在三級品管 Web App 系統中,因為屬於極小的一個系統,於是我開始在專案中導入 Vue,來解決上述所遇到的問題。
【後端】
_ 寫法簡單,維護不易(每個 php 都 include,請求 SQL,並且直接 Return,故前端請求的每個 API 都是以.php 為主) _
為了解決該問題,我在 Github 查閱大佬們寫的方法,最後嘗試自己建立 MVC(V 分離到 Vue)的架構,並封裝模組,於三級品管 Web App 系統中實踐,詳細請看該篇文章。
【共通】
- 沒有版本控制,程式只能透過複製貼上檔案來進行版本恢復(因為只有一人開發,雖然版本備份過程麻煩,但這樣的方式仍可順利開發)
為節省上述備份 Code 的時間,我在 Web App 系統中也首次將 Git 導入,並在使用一段時間後也將這個技術分享至公司的其它專案上。
(為保護公司資產,無法提供大量系統截圖,僅摘要重點部分(重要資料一律打碼處理),若有問題歡迎詢問)