Thursday, September 14, 2023

筆記Natura 2000

---
tag: blog, conservation, ecoloty
---
## 筆記Natura 2000

建置Natura 2000生態網絡的目的是為了確保歐洲瀕危或易受脅生物或棲息的長久存續,其實施的方式是依據歐盟棲地指令(Habitats Directive)及鳥類指令(Birds Directive),由成員國分別指定特別保育區(Special Areas of Conservation, SACs)及特別保護區(Special Protection Areas, SPAs),這些保育區或保護區串連起來就成為一整個網絡。


特別保護區的指定是依據鳥類指令規定的科學準則,例如具備受脅物種1%族群量,或者具備國際重要濕地準則。特別保育區則是依據棲地指令附錄所規定的自然棲地型態或重要物種來加以指定。


Natura 2000並非那種排除人為活動的嚴格管制保護區,雖然此網絡內有嚴格保護區,但大部分仍包含私有地,因此需要考量人類活動如何與自然生態兼容並蓄。因此成員國必需確保棲地管理的永續性,也就是必需兼顧其生態性及經濟性。

Natura 2000 https://ec.europa.eu/environment/nature/natura2000/index_en.htm

Friday, April 21, 2023

試作地藉地號轉換

--- tag: blog, coding ---

# 試作地藉地號轉換
之前執行計畫時需輸出土地背景大圖,因此需要申請地藉資料後,再於以GIS輸出大圖。然而原始地藉地號都是以8個數字表現,例如01230001,但是輸出大圖時卻需要以123-1呈現,因此需要進行轉換。當時是直接以EXCEL轉換,轉存csv檔後載入GIS處理,最近無聊嘗試玩玩Python及R,似乎也蠻方便的。僅將操作方法略載如下,因為才剛玩程式,不甚漂亮,有機會再來優化。有需要的人儘管拿去玩。

## EXCEL
假若地藉資料文字檔xxxx.TXT,先打開EXCEL,以資料匯入的方法,從文字檔彙入xxxx.TXT。需注意的是:
- 若亂碼,則將字碼調成Big5或Unicode-8
- 欄位屬性不要讓EXCEL自動偵測,因為地號欄位需要文字屬性,才能維持8個數字型態
若地號欄位位於B,轉換後的欄位位於P,則公式如下:
>M2 = VALUE(LEFT(B2, 4))
>N2 = VALUE(RIGHT(B2, 4))
>O2 = M2 & "-" & N2
>P2 = If(N2=0, M2, O2)

## Python
或許有玩GIS的會有興趣玩Python,需配合pandas套件執行,讀取txt檔,轉換後直接存成csv檔,便於載入GIS。程式碼如下:


import pandas as pd
df = pd.read_table("xxxx.TXT", sep=",", header=0, dtype=str)
#df.head()
lword = df["地號"].str[:4].astype(int)
rword = df["地號"].str[5:].astype(int)
df["newro"] = pd.Series()
for i in range(0,len(df)):
   if rword[i] == 0:
    df["newro"][i] = str(lword[i])
  else:
    lword[i] = str(lword[i])
    rword[i] = str(rword[i])
    df["newro"][i] = lword[i] + "-" + rword[i]
#df.head()
df.to_csv('export.csv', index=False, encoding="utf-8-sig")
#ndf = pd.read_csv("export.csv", dtype=str)
#ndf.head()

## R
有統計需求,順便玩一下R,似乎更方便,直接讀txt檔,轉出txt檔,若需改欄字就以EXCEL載入,方法如前;也可直接載入GIS。程式碼如下:

data <- read.table("xxxx.TXT", header=TRUE, sep=",", fileEncoding="UTF-8-BOM", colClasses="character")
#head(data)
lword <- as.numeric(substr(data$地號, 1, 4))
rword <- as.numeric(substr(data$地號, 5, 8))
for(i in c(1:nrow(data))){
  if(rword[i] == 0){
    data$"newnum"[i] <- as.character(lword[i])
  }else{
    lword[i] <- as.character(lword[i])
    rword[i] <- as.character(rword[i])
    data$"newnum"[i] <- paste(lword[i], rword[i], sep="-")
  }
}
#head(data)
write.table(data, file="export.txt", sep=",", row.names=FALSE)

Thursday, March 23, 2023

筆記筆記

大學時代,從學長那裡學習使用資料(索引)卡紙記筆記,每張卡紙大約8cmX13cm左右,左側有兩個孔,再買硬卡片夾裝起來。那時還不知道有盧曼。開始使用電腦之後,就不斷嘗試不同的筆記軟體,最後採用mynotekeeper,主要是因為輕量、可攜、易於匯出,其筆記法仍是樹狀階層式,但使用上仍有在個別記錄間作連結的需求。後來HTML語法上出現tag用法,直覺上認為具備tag功能的軟體應該較符合需求,雖然然無法在個別紀錄作連結,但至少可以篩出相同tag的紀錄。 

作筆記最重要的是保存性,其次則是傳遞性,就像在沙灘以及在紙張作筆記的差異,紙張顯然比沙灘更易於保存以及傳遞。數位化筆記,相當依賴軟體,最擔心的就是軟體不支持後,資料就打不開了。

因此需要考量資料的匯出、匯入,或者資料檔是否有其他軟體可以存取。 近來卡片式筆記法已經有相當程度的實作,也就是Backlink的功能,有些甚至可以作腦圖tag link graph,但我考量的依量是保存性、傳遞性,若輕量、可攜就更好,其他太複雜的功能反而不是那麼需要。

David B. Clear Zettelkasten — How One German Scholar Was So Freakishly Productive https://writingcooperative.com/zettelkasten-how-one-german-scholar-was-so-freakishly-productive-997e4e0ca125

中文簡介摘錄  朱騏 用卡片盒筆記法,建立知識連結網路來活用筆記 https://medium.com/pm的生產力工具箱/zettelkasten卡片盒筆記法-建立知識連結網路來活用筆記-f85a91729521

Waki 瓦基 風靡歐美的卡片盒筆記法是什麼?12個法則和重點整理 https://readingoutpost.com/smart-notes/

獨立軟體

架構在VSCode的軟體