Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

readmdb

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

readmdb

  • 1.0.0
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

安家固園數據建立三維簡化地層數據處理

一、數據基本處理:
  1. 數據來源:使用安家固園的「粗估」的有效孔數據,「粗估」代表勉強可進行HBF與NJRA液化分析,也就是樣本除基本參數外,可沒PI、可沒D50、可沒D10

  2. 各孔內樣本「統一土壤分類」需先轉整數,若無「統一土壤分類」時,則給予空字串

  3. 標記「岩層」:樣本「深度」大於等於10m且「SPTN」大於等於50者,或是樣本位於所屬孔最下層且「SPTN」大於等於50者,則此樣本視為岩層,不進行後續土層分群

  4. 標記「回填層」:樣本「深度」小於10m且「SPTN」大於等於50者(於mdb資料處理中已識別描述中出現例如柏油、塑料等,改SPTN為50視為非液化),則此樣本視為回填層,不進行後續土層分群

  5. 標記「非液化層」:樣本「統一土壤分類」字首為「C」、「O」、「P」者,或字首為「M」但非「ML」與「MH」者,則此樣本視為非液化層,不進行後續土層分群

二、統計補值:

因之後要進行自動分群,其樣本參數需為數值才可進行計算,故依照全樣本計算相關之統計資訊,統計補值原則如下:

  1. 自動偵測與補值的對象共有8種參數,分別為:「SPTN」、「含水量(%)」、「比重」、「空隙比」、「單位重(t/m^3)」、「液性限度(%)」、「塑性指數(%)」、「細料(%)」,欄位會另外儲存避免污染原儲存值

  2. 先依照全樣本的「統一土壤分類」欄位進行統計,共可有25種統計分類,並對每種分類計算所屬8參數之平均值

  3. 再依照全樣本的「繪圖單元」欄位進行統計,不同「繪圖單元」視為不同分類,並對每種分類計算所屬8參數之平均值

  4. 依照全樣本的「SPTN」統計,設計「SPTN」區間為「0-3」、「3-5」、「5-7」、「7-10」、「10-13」、「13-16」、「16-20」、「20-25」、「25-30」、「30-40」、「40-50」共11種區間,每種區間視為不同分類,並對每種分類計算所屬8參數之平均值

  5. 針對各樣本8參數進行補值。若原本就有有效值就不補,若無才進行統計補值。統計補值優先順序為:

    • 若樣本有「統一土壤分類」,但缺少8參數之一,就依照「統一土壤分類」分類統計資訊取得缺少之參數

    • 若樣本無「統一土壤分類」,但有「繪圖單元」,且依照上述補值計算後仍缺少8參數之一,則依照「繪圖單元」之分類統計資訊補上缺少參數

    • 若樣本無「統一土壤分類」且無「繪圖單元」,但有「SPTN」,且依照上述補值計算仍缺少8參數之一,則依照「SPTN」之分類統計資訊補上缺少參數

三、分群技術:

分群技術已調研「主成份分析」與「分群演算法」,簡介如下:

  1. 主成份分析(Principle Component Analysis, PCA):為一種多變數統計分析方法,也是資料降維和視覺化的常用方法

    • PCA的原理:輸入矩陣投影到一個新的正交坐標系下,使得矩陣在新坐標軸上的投影(主成分的樣本值)的方差最大。PCA核心運算主要有三種:特徵分解,奇異值分解,非線性反覆運算偏最小二乘法(NIPALS)。本研究測試後採NIPALS為主

    • 數據正規化:因數據各參數範圍值域不同,或是有字串分類(例「統一土壤分類」),故數據得先數化與正規化處理,其中:

      • 針對「統一土壤分類」由細往粗編號,例如「CL」為1而至「SP」為25

      • 因後續有降維機制,故此處數據正規化係針對主成份分析降維後的特徵向量進行正規化。主要使各特徵向量的平均值為0,各特徵向量除以特徵向量之標準差,藉此縮放各參數至同尺度

    • 數據降維:因數據維度過高會導致分群困難或效果不佳,故需先通過主成份分析做座標轉換後,將特徵向量依照絕對值大小排序,並取指定數量(NIPALS分析的nCompNIPALS數)的特徵向量出來還原成為分析數據。此法可剔除含量(權重)過低的特徵向量,使數據特性更加明顯,藉此提高分類品質

    • 本研究目前降維至5維(nCompNIPALS=5),主要會考慮樣本的「x」、「y」、「z」、「SPTN所代表的硬度」、「PI所代表的塑性」

  2. 分群演算法(Cluster Analysis, CA):分群演算法主要有「K-Means」與「K-Medoids」,簡介如下:

    • K-Means:為一種向量量化方法的分類方式,屬於切割式分群(Partitional Clustering)

      主要將所有樣本分成K群,透過隨機產生K個群中心,並通過演算法調整使各樣本到他們群的中心點距離合最小,也就代表基於相似度分群

    • K-Medoids:為一種向量量化方法的分類方式,類似K-Means,同屬於切割式分群(Partitional Clustering)

      K-Medoids一樣隨機挑選K個群中心,但各群中心都是由原樣本點挑選,通過演算法(Partitioning Around Medoids, PAM)嘗試各個原數據點後,使各樣本到他們群的中心點距離合最小

    • K-Means與K-Medoids之比較

      • K-Means因採取隨機初始中心點位置做計算,可能會每次都有不同結果

      • K-Medoids較不容易受到極端值的影響,且K-Medoids不僅僅可以處理數值型資料,還可以處理類別型的資料,可謂K-Means的進階版

      • PAM是K-Medoids常用的演算法,分聚類的過程就是不斷反覆運算,進行中心點和非中心點的反復替換過程,直到目標函數(距離合)不再有改進為止,故PAM對小的資料集非常有效,對大資料集效率則不高

      • 相比K-Medoids,K-Means在速度上具有強大的優勢,並且適用於龐大的資料量,當樣本多的時候,少數幾個噪音對K-Means的群中心影響也會降低,所以K-Means的應用明顯比K-Medoid多

      • 本研究測試後採K-Means為主要分群方式

    • 本研究輸入進行分群的欄位主要有12參數,分別為:「x」、「y」、「z」、「數值化的USCS」、「SPTN」、「含水量%」、「比重」、「空隙比」、「單位重(t/m^3)」、「液性限度(%)」、「塑性指數(%)」、「細料(%)」,當降維後會轉出新的數據資料,並在進行分群

四、土層分層處理:

土層(全樣本)數據分層處理流程如下:

  1. 全樣本數據先抽出「回填層」、「非液化層」、「岩層」,取得可能液化之砂層樣本

  2. 針對可能液化砂層進行分群,執行「統計補值」

  3. 給予要分群的數量,本研究會區分可能液化砂層成2與3群,並取得各樣本的分群代號

    • 若分2群:群代號1代表回填層,2代表非液化層,3代表岩層,4代表砂層1,5代表砂層2

    • 若分3群:群代號1代表回填層,2代表非液化層,3代表岩層,4代表砂層1,5代表砂層2,6代表砂層3

  4. 針對全樣本,依照群代號計算8種參數之平均值,分別為:「SPTN」、「含水量(%)」、「比重」、「空隙比」、「單位重(t/m^3)」、「液性限度(%)」、「塑性指數(%)」、「細料(%)」

    • 計算8種參數時,僅以樣本原本的參數值做計算,故不包含統計補值之值。原值可能會有缺值,計算時只拿樣本所屬有效值出來做統計。
  5. 針對各孔內各樣本,自動合併同群代號成為新土層,並帶入群代號所代表的8參數,輸出結果供GMS建模用

五、鑽孔高程修正處理:

鑽孔高程修正流程如下:

  1. 依照開放資料DEM(20m)與各鑽孔經緯度,進行內插取得各鑽孔高程

    • 其中x,y為TWD97二度分帶座標,z為朝上為正,depth朝下為正,單位皆為m

    • 輸出給GMS格式時,需給x,y,z,z一樣朝上為正,單位皆為m

    • 經緯度座標系統: EPSG:4326 - WGS84

    • TWD97二度分帶座標系統: EPSG:3826 - TWD97 / TM2 zone 121

  2. 依照開放資料台灣行政區邊界與各鑽孔經緯度,進行計算各鑽孔所在行政區

    • 其中有幾點會於台灣區外,例如「台北都會區捷運系統淡水線地質調查(淡水河河床)」之孔號「BR-R-3」,其座標(121.4097318,25.17435065)位於台灣輪廓外,故此類情形將標注為「外海」
  3. 因階段性需要與GMS處理極限,需將鑽孔位於「大同區」、「臺北市各區」、「臺北市」與全鑽孔分開儲存

FAQs

Package last updated on 06 Jul 2021

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc