DEM格式轉換 轉換國標DEM資料格式為通用格式

2021-08-19 20:45:33 字數 2897 閱讀 2363

*.dem是一種比較常見的dem資料格式,其有兩種檔案組織方式,即nsdtf-dem和usgs-dem 1。

nsdtf-dem和usgs-dem都是明碼的資料交換格式,理論上,二者間的對應轉換只需要將nsdtf中的標頭檔案資料按usgs的格式重新組織後再通過arcgis中的」dem轉到柵格」工具即可轉換為其他軟體能夠支援的通用柵格格式dem資料;但實際操作時發現這兩個檔案之間的區別不僅僅在於標頭檔案中,故而繞了點路執行下面的操作。

step 1 將nsdtf-dem標頭檔案修改為usgs-dem標頭檔案

nsdtf-dem的標頭檔案資訊如下(圖**超圖對接nsdtf-dem資料):

標頭檔案每行資料對應的含義為:

datamark:中國地球空間資料交換格式-格網資料交換格式(cnsdtf-ras或cnsdtf-dem)的標誌。基本部分,不可預設。

version:該空間資料交換格式的版本號,如1.0。基本部分,不可預設。

unit:座標單位,k表示公里,m表示公尺,d表示以度為單位的經緯度,s表示以度分秒表示的經緯度(此時座標格式為dddmmss.ssss, ddd為度, mm為分, ss.ssss為秒)。基本部分,不可預設。

alpha:方向角。基本部分,不可預設。

compress:壓縮方法。0表示不壓縮,1表示遊程編碼。基本部分,不可預設。

xo:左上角原點x座標。基本部分,不可預設。

yo:左上角原點y座標。基本部分,不可預設。

dx:x方向的間距。基本部分,不可預設。

dy:y方向的間距。基本部分,不可預設。

row:行數。基本部分,不可預設。

co:列數。基本部分,不可預設。

hzoom:高程放大倍率。基本部分,不可預設。設定高程的放大倍率,使高程資料可以整數存貯,如高程精度精確到厘公尺,高程的放大倍率為100。如果不是dem則hzoom為1。

usgs-dem的標頭檔案資訊如下(圖**超圖對接nsdtf-dem資料):

其標頭檔案每行資料對應的含義及參考轉換方式2為:

ncols:資料列數,對應co

nrows:資料行數,對應row

xllcorner: 左上角x座標值,對應xo

yllcorner: 左上角y座標值,對應yo

cellsize: 資料解析度(柵格單元的寬高),對應dxdy

nodata_value: 無值資料標識。

step 2 將usgs-dem轉換為柵格資料

直接修改後的檔案是可以直接用arcmap開啟的,但是並不能在osg中進行讀取和顯示,提示缺少對應的空間參考,因此應該在arcmap中進行相關的操作並把它轉換為柵格資料,方便各種平台的資料接入。

在arcgisz中匯出相應的柵格資料的方法為:在開啟的*.dem檔案上右鍵

→ →

「資料」

→ →

「匯出資料」,選擇匯出路徑後,在格式處選擇tiff。

這裡需要注意,國標檔案中的hzoom值無法體現在usgs-dem中,因此需要借助arctoolbox裡 「spatial analyst 工具箱」

→ →

「地圖代數」

→ →

「柵格計算器」計算轉換後的grid(注意不能填整數,不然會丟失很多資訊),使它和原始資料保持一致。

當然也可以自己手動修正*.dem檔案中的資料,程式設計實現或.csv用excel處理都是可以的,但無論怎樣,都要保證柵格中儲存的高程資料與原始資料保持一致。

step 3 為匯出的柵格資料賦空間參考資訊

我們這樣匯出的柵格資料實際上是沒有空間參考資訊的,為了能夠在osgearth或其他平台中正常使用該資料,應該利用arcgis的柵格投影工具對其進行正確的投影,這樣才能夠正確使用轉換後的資料。

為柵格資料賦投影的操作步驟如下:

1)開啟arctoolbox裡 「資料管理工具」

→ →

「投影和變換」

→ →

「柵格」

→ →

「投影柵格」。

2)在「輸入座標系」處選擇地理座標系,如「asia」»「china geodetic coordinate system 2000」;在處選擇投影座標,如「gauss kruger」»「cgcs200」»「cgcs200 3 degree gk cm 105e」,該空間參考應與使用它的場景的空間參考相一致,如正射影像地圖的空間參考。

3)執行轉換,完成操作。

這樣,就可以將國標格式的dem資料轉換為通用的柵格格式dem進行各種使用了。

我也是個傻瓜.arcgis讀取dem格式資料.link

↩流雲飛飛.nsdtf-dem格式資料.link

python轉換格式 python格式轉換的記錄

python的格式轉換太難了。與其說是難,具體來說應該是 每次都會忘記該怎麼處理 所以於此記錄,總的來說是編碼 格式轉換的記錄。經常見到的格式轉換 bytes str socket 網路通訊和 的很多資料傳輸,都是使用bytes格式在傳送訊息,而同時很多時候我們也需要把這些資訊程式設計str來試著人...

python 日期 格式轉換 英文 日期格式轉換

一 date型轉字串 filter date date,yyyymm filter date time,hh mm 在控制器中使用必須注入 filter 模組 scope.dt1 new date 控制器中使用 scope.dt2 filter date scope.dt1,yyyy mm dd h...

字元格式轉換

static void convertutf16toutf8 am int index,am u8 putf8,am u16 mutf16 else if mutf16 0x80 else index i static am u8 convertgb2312tounicode const char ...