如果你是一個應用開發者,可能使用過高德、百度或者騰訊提供的地圖服務,調用過他們開放的接口,在自己的 APP 中實現一些地圖展示功能,來提高用戶體驗。
如果你既不是GIS方面的從業者,也沒有做過什么開發,那你肯定在第一次打開某些 APP 時收到允許獲取位置權限的請求,在微信中向好友共享過你的位置,在美食團購 APP 中搜索過附近的餐廳,在不同地圖 APP 中查看過導航路線,也可能在某條 APP 中收到過類似于你家小區隔壁的超市全場半價這樣的推送消息。
這些只不過是 GIS 在生活中微不足道的應用,但卻給我們帶來了極大的便利。這些功能的實現都離不開位置信息,對!就是你打開 APP 時它們死乞白賴地向你申請獲取位置權限的那個位置,也就是在地球這個超大坐標系下的坐標(x, y)。那這些 APP 是怎么實現這些功能的呢,下面我嘗試從 GIS 數據的生命周期角度來分析一下:
1.數據采集
數據是 GIS 的血液。當你點擊 「允許」按鈕時,APP 就有了獲取你當前位置的權限,它在運行的時候可以隨時獲取你的位置。
當然僅僅有你的坐標是遠遠不夠的,周圍興趣位置(POI-Position of Interest)像道路、餐廳、停車場、景點、小區、學校等等這些生活中我們離不開的設施的坐標也是必不可少的,當然這些 POI 數據有專門的公司維護,比如廣泛使用的騰訊地圖、百度地圖、高德地圖都有自己的數據采集團隊在全國各地采集、維護這些數據,來保障數據的時效性和準確性,它們也對外提供地圖服務,APP 開發商只要接入這些服務就可以使用這些數據和相關數據操作的接口。
當你打開不同 APP 中的地圖時,請注意觀察右下角或左下角,可以發現地圖提供商的 Logo。至于為什么大眾點評使用的是騰訊地圖、支付寶使用的是高德地圖就不用多說了吧。
2.數據存儲
地理空間數據結構復雜,它們的存儲關系到 GIS 數據交換、顯示、查詢、分析的能力。GIS 的數據模型有矢量、柵格;矢量模型數據用點、線、面來描述地理實體,兩點成線,三線可成面,線和面在計算機存儲時其實記錄的還是點的坐標。矢量模型常用的數據格式有Shapefile、KML、dwg、dxf 等;柵格數據用二維矩陣的位圖來表示空間地物,常見的格式有TIFF、JPEG、BMP、PCX、GIF等。矢量和柵格各有優缺點:比如矢量圖與分辨率無關,就像你在手機地圖中無論把地圖放大到多大,都不影響顯示的質量和效果,而柵格數據放大幾倍后,就會明顯地出現“馬賽克”的現象;但矢量數據結構復雜,現勢性差,而柵格數據可以通過衛星拍攝快速獲取,等等。GIS 應該根據使用場景,來確定使用矢量模型還是柵格模型。
當數據達到一定規模后,文件存儲方式已經不能滿足需求,按照傳統的解決方式,自然想到的是創建數據庫啊!地理數據包含非結構化的空間數據、結構化的屬性數據、空間關系數據,傳統的關系型數據庫無法提供存儲、管理、索引、查詢等常規的數據庫功能,所以空間數據庫應用而生,現在常見的空間數據庫有GeoDatabase,PostgreSQL,Oracle Spatial等。
3.查詢分析
地理數據按照它們該有樣子存儲在計算機中,查詢分析就是利用 GIS 挖掘藏在這些數據中的有用信息。GIS 中常用的分析功能有領域分析、疊加分析、水文分析、網絡分析等等,在實際使用時,往往是多種分析方式配合使用,結合數據制圖將查詢分析的結果可視化表達,形成方便我們能夠識別、理解的結果。
上面這張「空氣質量熱力圖」,是在 GIS 工具中,通過對各個空氣質量監控點采集的數據,用(x, y, value)表示,其中(x,y)表示監測點的位置,value 表示 AQI 值,進行空間插值分析,生成某個時間點的空氣質量熱力圖,結合多個時間點的熱力圖,就可以制作上面這種動態圖。
當我們使用 APP 查找附近500m內的餐廳時,用了 GIS 的空間查詢功能,用到了緩沖區分析、空間包含關系;當我們使用 APP 查看回家的路線時,用到了 GIS 的最短路徑分析功能;
當手機 APP 不斷記錄你的位置,對 APP 來說你的「用戶畫像」會越來越清晰,比如發現你在工作日經常在同一個范圍內活動,大概率這個位置是你的單位所在,到了晚上你又經常停留在另一個地方,大概率這個地方是你的家,這樣就可以估算出你的家到單位的距離,而判斷你的出行方式,短距離可能就是騎個單車,長距離可能就是打車、自駕。
如果這是個出行 APP, 分析出從你家到單位只有兩三公里,你使用共享單車的概率應該比打車的概率要大,APP 就可以不定期贈送你一些單車券而不是快車券,并用短信溫馨的提醒你,在下次需要騎單車時,如果你不是跟錢過不去,肯定會優先選擇有券的出行 APP,這樣一通操作,不經意間就提高了你對這個 APP 的使用粘度。當然這只是個最簡單 GIS 數據挖掘模型,實際情況肯定要比這個復雜得多,位置信息可能只是定向廣告推薦系統眾多影響因子中的一個維度而已。
4.數據制圖
采集來的數據不經加工,人是無法從中獲取有用信息的,制圖就是將數據轉換制作成人可以理解的形式,地圖就是我們常見的一種;計算機和互聯網技術的發展地圖制圖學是一門綜合性學科,涉及坐標系統、地圖投影、比例尺、地物分層、符號系統等。
1.坐標系統和地圖投影
因為地球是個近橢球體,而地圖是個平面,如何將球面上地物的相對位置,準確的在平面上表示,就需要針對實際應用場景采用合適的坐標系統(Beijing54、Xian80、WGS84等)和地圖投影(高斯克呂格、墨卡托等),制圖區域的位置、形狀和范圍,地圖的比例尺、內容、出版方式都是影響了投影種類選擇的關鍵因素。
2.比例尺
比例尺決定了地圖的顯示精度,比例尺越大顯示的地圖內容越豐富,1:2.5萬比例尺顯示的內容顯然比1:10萬豐富很多:
3.地物分層
地物分層決定了數據的組織集合方式,通常將一類地物歸置同一圖層,這里的劃分方式取決于應用場景。如果你做的是一個關于美食餐廳的 GIS ,你應該將區域內火鍋店、西餐廳等不同種類的餐廳分圖層處理,這樣才能提供更加精細的查詢分析和顯示功能,如果你做的就是一個普通的城市 GIS,此時餐廳可能不是系統的重點,可以將所有餐廳歸至一個圖層來管理。
4.符號系統
符號系統包括地物符號化和配色,比如我們在地圖中看見一個像大巴一樣的圖標,就知道這里是公交站;看見一條黑白相間的線條,就知道這是鐵路;看見大片的藍色區域,就知道這塊是水域,這些都是行業內約定俗成的標準,除非有特殊的定制需求,否則變化不會太大;下圖就是采用不同符號系統的顯示效果。
經過數據采集、數據存儲、查詢分析功能開發、制圖表達,一個有血有肉的 GIS 就這么誕生了。GIS 是簡單的,在這個互聯網時代,它在我們的生活中到處被使用,給我們帶來極大的便利;GIS 也是復雜的,對于 GIS 開發者來說,GIS 本身伴隨著計算機技術的發展,從傳統的桌面 GIS,到WebGIS,三維GIS,再到智慧城市,空間大數據挖掘,在變得強大的同時,也更加復雜。
本文作者:碼上GIS
本文作者:碼上GIS