---
# System prepended metadata

title: 高雄淹水匯入紀錄

---

# 檔案說明

```

分群A : 降雨延時1小時
	A1_0p1m_1hr.tif : 造成淹水深度達0.1公尺的雨量脆弱度(單位:1小時累積雨量mm)
	A2_0p3m_1hr.tif : 造成淹水深度達0.3公尺的雨量脆弱度(單位:1小時累積雨量mm)
	A3_0p5m_1hr.tif : 造成淹水深度達0.5公尺的雨量脆弱度(單位:1小時累積雨量mm)
	A4_1p0m_1hr.tif : 造成淹水深度達1.0公尺的雨量脆弱度(單位:1小時累積雨量mm)
	A5_2p0m_1hr.tif : 造成淹水深度達2.0公尺的雨量脆弱度(單位:1小時累積雨量mm)

分群B : 降雨延時3小時
	B1_0p1m_3hr.tif : 造成淹水深度達0.1公尺的雨量脆弱度(單位:3小時累積雨量mm)
	B2_0p3m_3hr.tif : 造成淹水深度達0.3公尺的雨量脆弱度(單位:3小時累積雨量mm)
	B3_0p5m_3hr.tif : 造成淹水深度達0.5公尺的雨量脆弱度(單位:3小時累積雨量mm)
	B4_1p0m_3hr.tif : 造成淹水深度達1.0公尺的雨量脆弱度(單位:3小時累積雨量mm)
	B5_2p0m_3hr.tif : 造成淹水深度達2.0公尺的雨量脆弱度(單位:3小時累積雨量mm)

分群C : 降雨延時6小時
	C1_0p1m_6hr.tif : 造成淹水深度達0.1公尺的雨量脆弱度(單位:6小時累積雨量mm)
	C2_0p3m_6hr.tif : 造成淹水深度達0.3公尺的雨量脆弱度(單位:6小時累積雨量mm)
	C3_0p5m_6hr.tif : 造成淹水深度達0.5公尺的雨量脆弱度(單位:6小時累積雨量mm)
	C4_1p0m_6hr.tif : 造成淹水深度達1.0公尺的雨量脆弱度(單位:6小時累積雨量mm)
	C5_2p0m_6hr.tif : 造成淹水深度達2.0公尺的雨量脆弱度(單位:6小時累積雨量mm)

分群D : 降雨延時12小時
	D1_0p1m_12hr.tif : 造成淹水深度達0.1公尺的雨量脆弱度(單位:12小時累積雨量mm)
	D2_0p3m_12hr.tif : 造成淹水深度達0.3公尺的雨量脆弱度(單位:12小時累積雨量mm)
	D3_0p5m_12hr.tif : 造成淹水深度達0.5公尺的雨量脆弱度(單位:12小時累積雨量mm)
	D4_1p0m_12hr.tif : 造成淹水深度達1.0公尺的雨量脆弱度(單位:12小時累積雨量mm)
	D5_2p0m_12hr.tif : 造成淹水深度達2.0公尺的雨量脆弱度(單位:12小時累積雨量mm)

分群E : 降雨延時24小時
	E1_0p1m_24hr.tif : 造成淹水深度達0.1公尺的雨量脆弱度(單位:24小時累積雨量mm)
	E2_0p3m_24hr.tif : 造成淹水深度達0.3公尺的雨量脆弱度(單位:24小時累積雨量mm)
	E3_0p5m_24hr.tif : 造成淹水深度達0.5公尺的雨量脆弱度(單位:24小時累積雨量mm)
	E4_1p0m_24hr.tif : 造成淹水深度達1.0公尺的雨量脆弱度(單位:24小時累積雨量mm)
	E5_2p0m_24hr.tif : 造成淹水深度達2.0公尺的雨量脆弱度(單位:24小時累積雨量mm)

```

# VRT
```
VRT 檔案是一種 XML 檔案，用於描述光柵資料的元資料和組織結構，而不包含實際的光柵資料。它可以引用其他光柵資料檔案，如 GeoTIFF、JPEG、PNG 等，並在邏輯上將它們組合為單一虛擬資料集。這使得你可以對多個光柵資料集進行邏輯上的組合、裁剪、重採樣等操作，而無需實際複製或修改原始資料。

VRT 檔案可用於許多地理資訊系統（GIS）軟體，例如 GDAL（地理資料抽象化庫）工具、QGIS 等。它提供了一種靈活且可擴展的方式來處理和操作光柵資料，使得資料處理和分析更加方便和高效。

通過撰寫 VRT 檔案，你可以定義光柵資料的元資料、空間參考資訊、像素大小、裁剪範圍、資料集合併等操作。VRT 檔案還支援各種光柵資料集操作，例如調整顏色、重採樣、重投影等。

總而言之，VRT 檔案是一種用於描述虛擬光柵資料集的 XML 檔案，允許你在不實際複製或修改光柵資料的情況下進行操作和處理。這為光柵資料的管理和分析提供了更大的靈活性和效率。
```

# Step1
- 利用vrt將分群的圖檔組成一個vrt檔案

```
gdalbuildvrt -separate merged.vrt A1_0p1m_1hr.tif A2_0p3m_1hr.tif A3_0p5m_1hr.tif A4_1p0m_1hr.tif A5_2p0m_1hr.tif

gdalinfo merged.vrt
```

# Step2
- 打開merged.vrt修改ColorInterp
- 這個tag就是之後用來query同一時間區間不同淹水高度的參數
<ColorInterp>A1hr0p1m</ColorInterp>
<ColorInterp>A1hr0p3m</ColorInterp>

- 編譯好的檔案如下
```
<VRTDataset rasterXSize="837" rasterYSize="1574">
  <GeoTransform>  1.6201850000000000e+05,  4.0000000000000000e+01,  0.0000000000000000e+00,  2.5492605000000000e+06,  0.0000000000000000e+00, -4.0000000000000000e+01</GeoTransform>
  <VRTRasterBand dataType="Float32" band="1">
    <ColorInterp>A1hr0p1m</ColorInterp>
    <NoDataValue>-99</NoDataValue>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">A10p1m1hr_202305.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="837" RasterYSize="1574" DataType="Float32" BlockXSize="837" BlockYSize="2" />
      <SrcRect xOff="0" yOff="0" xSize="837" ySize="1574" />
      <DstRect xOff="0" yOff="0" xSize="837" ySize="1574" />
      <NODATA>-99</NODATA>
    </ComplexSource>
  </VRTRasterBand>
  <VRTRasterBand dataType="Float32" band="2">
    <ColorInterp>A1hr0p3m</ColorInterp>
    <NoDataValue>-99</NoDataValue>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">A20p3m1hr_202305.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="837" RasterYSize="1574" DataType="Float32" BlockXSize="837" BlockYSize="2" />
      <SrcRect xOff="0" yOff="0" xSize="837" ySize="1574" />
      <DstRect xOff="0" yOff="0" xSize="837" ySize="1574" />
      <NODATA>-99</NODATA>
    </ComplexSource>
  </VRTRasterBand>
  <VRTRasterBand dataType="Float32" band="3">
    <ColorInterp>A1hr0p5m</ColorInterp>
    <NoDataValue>-99</NoDataValue>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">A30p5m1hr_202305.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="837" RasterYSize="1574" DataType="Float32" BlockXSize="837" BlockYSize="2" />
      <SrcRect xOff="0" yOff="0" xSize="837" ySize="1574" />
      <DstRect xOff="0" yOff="0" xSize="837" ySize="1574" />
      <NODATA>-99</NODATA>
    </ComplexSource>
  </VRTRasterBand>
  <VRTRasterBand dataType="Float32" band="4">
    <ColorInterp>A1hr1p0m</ColorInterp>
    <NoDataValue>-99</NoDataValue>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">A41p0m1hr_202305.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="837" RasterYSize="1574" DataType="Float32" BlockXSize="837" BlockYSize="2" />
      <SrcRect xOff="0" yOff="0" xSize="837" ySize="1574" />
      <DstRect xOff="0" yOff="0" xSize="837" ySize="1574" />
      <NODATA>-99</NODATA>
    </ComplexSource>
  </VRTRasterBand>
  <VRTRasterBand dataType="Float32" band="5">
    <ColorInterp>A1hr2p0m</ColorInterp>
    <NoDataValue>-99</NoDataValue>
    <ComplexSource>
      <SourceFilename relativeToVRT="1">A52p0m1hr_202305.tif</SourceFilename>
      <SourceBand>1</SourceBand>
      <SourceProperties RasterXSize="837" RasterYSize="1574" DataType="Float32" BlockXSize="837" BlockYSize="2" />
      <SrcRect xOff="0" yOff="0" xSize="837" ySize="1574" />
      <DstRect xOff="0" yOff="0" xSize="837" ySize="1574" />
      <NODATA>-99</NODATA>
    </ComplexSource>
  </VRTRasterBand>
</VRTDataset>
```
- 輸入指令轉換vrt成單一圖檔
- gdal_translate merged.vrt merged.tif

# Step3
- 匯入的ingest.template.json內容如下
- bands對應vrt的ColorInterp tag
```
{
  "config": {
    "service_url": "http://localhost:8080/rasdaman/ows",
    "automated": false
  },
  "input": {
    "coverage_id": "Flooding_Vurnerbility_by_Accumulation_Rainfall_All_1hr",
    "paths": [
      "/home/lung/14_Kaohsung_flood/A_202305.tif"
    ]
  },
  "recipe": {
    "name": "general_coverage",
    "options": {
      "coverage": {
        "crs": "OGC/0/AnsiDate@EPSG/0/3826",
        "metadata": {
          "type": "json",
          "global": {}
        },
        "slicer": {
          "type": "gdal",
          "bands": [
            {
              "name": "A1hr0p1m",
              "identifier": 0
            },
	    {
              "name": "A1hr0p3m",
              "identifier": 1
            },
            {
              "name": "A1hr0p5m",
              "identifier": 2
            },
            {
              "name": "A1hr1p0m",
              "identifier": 3
            },
            {
              "name": "A1hr2p0m",
              "identifier": 4
            }
          ],
          "axes": {
	    "ansi": {
              "gridOrder": 0,
              "min": "datetime(regex_extract('${file:name}', '.*?_(\\d\\d\\d\\d\\d\\d).*', 1), 'YYYYMM')",
              "type": "ansidate",
	      "resolution": "1",
              "irregular": true,
              "dataBound": false
            },
            "X": {
              "gridOrder": 1,
              "min": "${gdal:minX}",
              "max": "${gdal:maxX}",
              "resolution": "${gdal:resolutionX}"
            },
            "Y": {
              "gridOrder": 2,
              "min": "${gdal:minY}",
              "max": "${gdal:maxY}",
              "resolution": "${gdal:resolutionY}"
            }
	  }
        }
      },
      "wms_import": true,
      "scale_levels": [
        2, 4 ,8, 16, 32, 64, 128, 256
      ]
    }
  }
}


```

# Step5
- 直接拿這份json跟合併的tif匯入即可, 之後流程跟一般匯入無異