Openlayers結合TopoJson的簡單使用

2022-09-09 07:18:15 字數 570 閱讀 1064

openlayers 6 ;topojson ;轉換topojson的** ;qgis ;postgresql

業務需求展示乙個地區社群等界線不同年份的變換。從資料庫呼叫資料太慢(一次查詢需要2s,時間耗損在 st_asgeojson函式上。若有好的方法請指出),使用geoserver發布地圖年份多、單個shp資料量也不大,除錯樣式和發布太過繁瑣得不償失。考慮到載入速度並且資料不會修改只會新增,於是決定生成json檔案儲存在前端

geojson又太大就轉換成topojson,檔案大小從31mb左右縮小到了1mb左右。

使用 qgis將shp檔案匯入postgresql並按照年份合併成一張表。(qgis可以方便新增屬性並統一賦值年份,然後建立總表,insert語句把所有年份表插入)

將表匯出成shp檔案,轉換成topojson格式的json檔案。

openlayers讀取json轉換成feature進行展示。

注意座標系和檔案編碼 

不知道為何讀取json檔案變成了object,注意格式     new ol.format.topojson().readfeatures(json.stringify(data));

結合多個表選取TOP記錄 join的用法

有3個表a,b,c結構如下 訂單表a 訂單號 主鍵 使用者id 外來鍵 密碼,消費金額,其它字段 使用者表b 使用者id 主鍵 使用者姓名,使用者組id 外來鍵 帳號模板id 外來鍵 其它字段 使用者組表c 使用者組id 主鍵 使用者組名,其它字段 需要用乙個sql語句實現如下查詢結果 從表a中選擇...

openlayers學習記錄

openlayers.util.getelement 以陣列的形式返回所有引數在document中的dom元素 openlayers.util.getelement的別名 openlayers.util.extend 目標物件,原物件 將原物件中的所有非 undefined 屬性拷貝到目標物件 包括...

openlayers 學習筆記(一)

拷貝目錄下的openlayer.js 根目錄下的lib目錄 根目錄下的img目錄到你 的scripts目錄下 當然,這個只是例子,您 的目錄結構您自己說得算,只要保證openlayers.js,lib,img在同一目錄中即可 然後,建立乙個 html作為檢視地圖的頁面。環境 geoserver1.7...