NCSV -
ANetCDFการระบุแฟ้ม CSV ของ ASCII รุ่น 1.00
บ๊อบ ไซมอนส์ และ สตีฟ ฮันกิน "NCSV" โดย บ๊อบ ไซมอนส์ และสตีฟ ฮันนิน ได้รับใบอนุญาตให้อยู่ภาย ใต้CC by 4.0
แนะนํา
เอกสารนี้ระบุรูปแบบของข้อความแบบ CSV ASCII ที่สามารถบรรจุข้อมูลทั้งหมดได้ (ข้อมูลกํากับภาพและข้อมูล) ที่สามารถพบได้ในNetCDF .ncแฟ้มที่บรรจุตารางข้อมูลแบบ CSV ส่วนขยายของแฟ้มสําหรับแฟ้มข้อความแบบ ASCV แบบ ASCII ตามข้อกําหนดนี้ต้องเป็น .csv เพื่อให้สามารถอ่านได้อย่างง่ายและถูกต้องในโปรแกรมตารางคํานวณเช่น Excel และ Google แผ่น Bob Simons จะเขียนซอฟต์แวร์เพื่อแปลงแฟ้ม NCSV เป็นNetCDF-3 (และบางทีNetCDF-4) .ncไฟล์และย้อนกลับ ที่ไม่มีการสูญเสียข้อมูล บ๊อบ ไซมอนส์ถูกดัดแปลงERDDAP™เพื่อรองรับการอ่านและเขียนแฟ้มประเภทนี้
รูปแบบ NCCSV ถูกออกแบบมาเพื่อให้โปรแกรมตารางคํานวณเช่น Excel และ Google February สามารถนําเข้าแฟ้ม NCSV เป็นแฟ้ม csv พร้อมข้อมูลทั้งหมดในเซลล์ของตารางคํานวณที่พร้อมสําหรับการแก้ไข หรือ, ตารางคํานวณสามารถสร้างได้จากรอยขีดข่วน ภายหลังการประชุม NCSV โดยไม่คํานึงถึงแหล่งของตารางคํานวณ หากมีการส่งออกเป็นแฟ้ม .csv มันจะสอดคล้องกับข้อกําหนดของ NCSV และจะไม่มีข้อมูลสูญหาย ความแตกต่างอย่างเดียวระหว่างแฟ้ม NCSV กับแฟ้มตารางคํานวณแบบคล้ายคลึงกัน ซึ่งต่อไปนี้คือ:
- แฟ้ม NCCSV มีค่าบนบรรทัดที่แยกด้วยเครื่องหมายจุลภาค การแพร่กระจายมีค่าบนเส้นตรงในเซลล์ที่อยู่ติดกัน
- ข้อความในแฟ้ม NCCSV มักจะถูกล้อมรอบด้วยคําพูดคู่ สตริงในตารางคํานวณไม่เคยถูกล้อมรอบด้วยคําพูดคู่
- ข้อความอ้างถึงคู่ภายใน (") ในข้อความในแฟ้ม NCCSV ปรากฏเป็น 2 คําอ้างถึง การอ้างถึงคู่ภายในในตารางคํานวณปรากฏเป็น 1 คู่อ้างอิง
ดูสีพื้นหน้าด้านล่างนี้ สําหรับข้อมูลเพิ่มเติม
ประมวลผลได้
เหมือนกับแฟ้ม CSV โดยทั่วไปแล้ว แฟ้ม NCSV จะสามารถสตรีมได้ ดังนั้นหากมีการสร้าง NCSV บน-the-fly โดยเซิร์ฟเวอร์ข้อมูลเช่นERDDAP™เครื่องแม่ข่ายสามารถเริ่มกรอกข้อมูลไปยังผู้ร้องขอได้ ก่อนที่จะมีการรวบรวมข้อมูลทั้งหมด นี่เป็นคุณสมบัติที่มีประโยชน์และน่าปรารถนาNetCDFใน ทาง ตรง กัน ข้าม แฟ้ม ต่าง ๆ ไม่ อาจ หลั่ง ไหล ได้.
ERDDAP™
กําหนดนี้ถูกออกแบบมาเพื่อให้แฟ้ม NCSV และ.ncแฟ้มที่สามารถสร้างขึ้นจากแฟ้มเหล่านี้สามารถใช้ได้โดยERDDAP™เซิร์ฟเวอร์ข้อมูล (ผ่านแฟ้ม DDTable จาก Nccsvถึงแฟ้ม DDTAB จาก Ncประเภทชุดข้อมูล) แต่ข้อกําหนดนี้ภายนอกERDDAP.ERDDAP™มี คุณสมบัติ ทั่ว โลก หลาย อย่าง ที่ จําเป็น และ ลักษณะ นิสัย ทั่ว โลก และ ตัวแปร หลาย อย่าง ซึ่ง ส่วน ใหญ่ อาศัย คุณสมบัติ ของ CF และ ACD (ดู จาก) / docs/server-admin/datatets #global-atributs)
สมดุล
การออกแบบรูปแบบของ NCCSV เป็นความสมดุลของความต้องการหลายอย่าง:
- แฟ้มต้องบรรจุข้อมูลทั้งหมดและข้อมูลกํากับภาพที่จะอยู่ในแท็บNetCDFแฟ้มรวมทั้งชนิดของข้อมูลที่ระบุ
- แฟ้มต้องสามารถอ่านได้และเขียนจากตารางคํานวณ ที่ไม่มีการสูญเสียข้อมูล
- แฟ้มต้องง่ายสําหรับมนุษย์ ที่จะสร้าง แ ก้ไข อ่าน และเข้าใจ
- แฟ้มต้องถูกวิเคราะห์ได้ชัดเจนโดยโปรแกรมคอมพิวเตอร์
หาก ข้อ เรียก ร้อง บาง ประการ ใน เอกสาร นี้ ดู เหมือน แปลก หรือ ไม่ ดี ก็ อาจ จําเป็น ต้อง ทํา ตาม ข้อ เรียก ร้อง เหล่า นี้ อย่าง หนึ่ง.
การกําหนดอื่น ๆ
คํา จํากัด ความ นี้ พาด พิง ถึง ข้อ กําหนด และ ห้อง สมุด อื่น ๆ อีก หลาย แห่ง ที่ มี การ ออก แบบ เพื่อ ทํา งาน ด้วย แต่ ข้อ กําหนด นี้ ไม่ ได้ เป็น ส่วน หนึ่ง ของ เงื่อนไข อื่น ใด ทั้ง ไม่ จําเป็น ต้อง มี การ เปลี่ยน แปลง ใด ๆ สําหรับ พวก เขา และ ไม่ ขัด แย้ง กับ ข้อ กําหนด เหล่า นั้น. หาก ราย ละเอียด ที่ เกี่ยว ข้อง กับ มาตรฐาน เหล่า นี้ ไม่ ได้ ระบุ ไว้ ที่ นี่ โปรด ดู ข้อ กําหนด ที่ เกี่ยว ข้อง. น่า สั งเกต นี่ รวม ถึง:
- อนุ สัญญา เรื่อง การ ค้น พบ ข้อมูล (หมายเลข ACD) มาตรฐานข้อมูลกํากับภาพ: https://wiki.esipfed.org/Attribute\_Convention\_for\_Data\_Discovery\_1-3 .
- สภาพ อากาศ และ การ คาด การณ์ ล่วง หน้า (CF) มาตรฐานข้อมูลกํากับภาพ: https://cfconventions.org/Data/cf-conventions/cf-conventions-1.8/cf-conventions.html .
- เดอะNetCDFคู่มือผู้ใช้ (กัญชา) . https://docs.unidata.ucar.edu/netcdf-java/current/userguide/index.html .
- เดอะNetCDFไลบรารีซอฟต์แวร์เช่นNetCDF- จาวา และNetCDF- ค: https://www.unidata.ucar.edu/software/netcdf/ . ไลบรารีเหล่านี้ไม่สามารถอ่านแฟ้ม NCSV ได้ แต่พวกเขาสามารถอ่านได้.ncแฟ้มถูกสร้างจากแฟ้ม NCSV
- เจสัน : https://www.json.org/
หมายเหตุ
ในการกําหนดนี้วงเล็บ\[ \]เป็นตัวแทนของรายการทางเลือก
โครงสร้างแฟ้ม
แฟ้ม NCCSV ที่สมบูรณ์ประกอบด้วยสองตอน: ส่วนข้อมูลกํากับ ตามด้วยส่วนของข้อมูล
แฟ้ม NCCSV ต้องมีตัวอักษรแอสกีแบบ 7 บิตเท่านั้น เนื่องจากเรื่องนี้ ชุดอักขระหรือรหัสอักขระที่ใช้เขียนและอ่านแฟ้ม อาจจะเป็นชุดอักขระหรือรหัสอักขระใดๆ ที่เข้ากันได้กับชุดตัวอักษร ASCII แบบ 7 บิต เช่น ISO-88-1ERDDAP™อ่านและเขียนแฟ้ม NCSV ด้วย ISO-8859-1 charet
แฟ้ม NCCSV อาจใช้บรรทัดใหม่ (\n) (ซึ่งเป็นเรื่องปกติของลินุกซ์และ Mac OS X) หรือการกลับมาของสายการบิน (\r\n) (ซึ่งเป็นเรื่องปกติบนคอมพิวเตอร์ของวินโดวส์) เป็นเครื่องหมายปลายบรรทัด แต่ไม่ใช่ทั้งสองอย่าง
.nccsvข้อมูลกํากับภาพ
เมื่อ ทั้ง ผู้ สร้าง และ ผู้ อ่าน คาด หมาย ว่า จะ ได้ รับ การ ทํา เช่น นั้น ก็ จะ เป็น ไป ได้ และ บาง ครั้ง ก็ เป็น ประโยชน์ ด้วย ที่ จะ ทํา ให้ มี ส่วน ประกอบ ของ แฟ้ม NCSV ซึ่ง บรรจุ แค่ ส่วน ข้อมูลกํากับ (รวมทั้ง\*สิ้นสุด/ เมตาดาตา\*บรรทัด) . ผลที่ได้อธิบายคุณสมบัติ, ชื่อแฟ้ม, ชื่อตัวแปร, และประเภทข้อมูลที่สมบูรณ์ จึงให้บริการวัตถุประสงค์เดียวกันกับ .das บวก ids ตอบสนองมาจากOPeNDAPเซิฟเวอร์ERDDAP™จะกลับค่าการแปรเปลี่ยนนี้ หากคุณร้องขอแฟ้ม ประเภท=.nccsvข้อมูลกํากับภาพจากERDDAP™ชุดข้อมูล
ส่วน ข้อมูลกํากับภาพ
ในแฟ้ม NCCSV แต่ละบรรทัดของส่วนข้อมูลกํากับภาพจะใช้รูปแบบ
ตัวแปร ชื่อ.คุณสมบัติ ชื่อ.ค่า 1\[, ค่า 2\]\[, ค่า 3\]\[, ค่า 4\]\[...\]
ไม่อนุญาตให้ใช้พื้นที่ก่อนหรือหลังรายการ เนื่องจากมันจะก่อให้เกิดปัญหาเมื่อมีการนําเข้าแฟ้มไปยังโปรแกรมตารางคํานวณ
การ ประชุม ภาค
บรรทัดแรกของแฟ้ม NCCSV เป็นบรรทัดแรกของส่วนข้อมูลกํากับ และต้องมี\ภาษาละติน\ลักษณะ เฉพาะ ของ การ ประชุม ภาค มี รายการ การ ประชุม ภาค ทุก แห่ง ที่ ใช้ ใน เอกสาร เป็น ข้อ ความ ซึ่ง มี รายการ ซี เอส วี: \*ภาษาละติน\*การประชุมCOARDS, CF-1.6, ACD-1.3, NCOSV-1.0" การ ประชุม ภาค ครั้ง หนึ่ง ที่ ลง ไว้ ใน รายการ ต้อง มี การ จัด การ ประชุม ภาค นี้ ขึ้น ที่ NCSV-1.0.
ตอนจบ
ส่วนท้ายของส่วนข้อมูลกํากับภาพของแฟ้ม NCSV จะต้องแสดงด้วยบรรทัดที่มีเฉพาะ \สิ้นสุด/ เมตาดาตา\
ขอแนะนําให้ใช้ แต่ไม่ได้ต้องการให้คุณสมบัติทั้งหมดของตัวแปรที่กําหนด ปรากฏบนเส้นประชิดของส่วนข้อมูลกํากับภาพ หากการแปลงแฟ้ม NCCSV ไปเป็นNetCDFแฟ้ม, ลําดับที่ตัวแปรName จะปรากฏครั้งแรกในส่วนข้อมูลกํากับ จะเป็นลําดับของตัวแปรต่าง ๆ ในNetCDFแฟ้ม
อนุญาตให้ใช้บรรทัดว่างในส่วนของข้อมูลกํากับภาพได้หลังจากบรรทัดแรกที่ต้องการแล้ว\ภาษาละติน\ การ ประชุม ภาคข้อมูล (ดูด้านล่าง) และก่อนหน้าข้อเรียกร้องสุดท้ายด้วย\สิ้นสุด/ เมตาดาตา\.
หากมีการสร้างตารางคํานวณจากแฟ้ม NCSV ส่วนข้อมูลกํากับจะแสดงด้วยชื่อตัวแปรในคอลัมน์ A, ชื่อคุณลักษณะในคอลัมน์ B และค่าในคอลัมน์ C
หากตารางคํานวณต่อไปนี้เป็นแฟ้ม CSV มักจะมีเครื่องหมายจุลภาคเพิ่มเติมที่ปลายบรรทัดในส่วนข้อมูลกํากับภาพ โปรแกรมที่แปลงแฟ้ม NCSV เป็น.ncแฟ้มจะไม่สนใจเครื่องหมายจุลภาคเพิ่มเติม
ตัวแปร ชื่อ
ตัวแปร ชื่อ เป็นชื่อของตัวแยกแยะตัวพิมพ์เล็ก- ใหญ่ ของแฟ้มข้อมูล ทุกชื่อตัวแปรจะต้องเริ่มต้นด้วยตัวอักษร ASCII 7 บิต หรือ เน้น และประกอบด้วยตัวอักษร ASCII 7 บิต, เครื่องหมาย เน้น และเลข ASCII 7 บิต
ภาษาละติน
ตัวแปรพิเศษName\ภาษาละติน\ใช้เพื่อแสดงข้อมูลกํากับภาพทั่วโลก
คุณสมบัติ ชื่อ
คุณสมบัติ ชื่อ เป็นชื่อที่แยกแยะได้ของแอททริบิวต์ที่เกี่ยวข้องกับตัวแปร หรือ\ภาษาละติน\. ทุกชื่อต้องเริ่มต้นด้วยตัวอักษร ASCII 7 บิต หรือ เน้น และประกอบด้วยตัวอักษร ASCII 7 บิต, เครื่องหมาย เน้น, และเลข ASCII 7 บิต
ขนาด SCALAR
คุณสมบัติ พิเศษ ชื่อ\*ขนาด SCALAR\*สามารถใช้สร้างตัวแปรข้อมูลสเกลาร์ และนิยามค่าของมันได้ ชนิดของข้อมูล\*ขนาด SCALAR\*กําหนดชนิดของข้อมูลสําหรับตัวแปร, ดังนั้น อย่าระบุ\*DATE/ TYPE\*คุณสมบัติสําหรับตัวแปรสเกลาร์ โปรดสังเกตว่า ต้องไม่มีข้อมูลเกี่ยวกับตัวแปรสเกลาร์ในส่วนข้อมูล ของแฟ้ม NCSV
ตัวอย่างเช่น, เพื่อสร้างตัวแปรสเกลาร์ที่เรียกว่า "ยาน" ด้วยค่า "โอเกียโนส เอกซ์โพลเรอร์" และคุณลักษณะ cf//role, ใช้: เรือ\ขนาด SCALAR\"Okeanas Express". เรือ, cf/role, Stregery\_id เมื่อตัวแปรข้อมูลสเกลาร์ถูกอ่านERDDAP™ค่าสเกลาร์แปลงเป็นคอลัมน์ในตารางข้อมูล ที่มีค่าเท่ากันในทุกแถว
ค่า
ค่า เป็นค่าของแอททริบิวต์ และจะต้องเป็นอาร์เรย์ที่มีหนึ่งหรือมากกว่า ไม่ว่าจะเป็น byte, short, long, long, fload, two, สตริง หรือ char ไม่รองรับชนิดของข้อมูลอื่น ๆ แอททริบิวต์ที่ไม่มีค่าจะถูกละทิ้ง ถ้ามันมีค่าย่อยมากกว่าหนึ่งค่า, ค่าย่อยต้อง เป็นประเภทเดียวกัน และแยกด้วยจุลภาค, ตัวอย่างเช่น: sst.actual\_range0.17f,23.58f หากมีค่าหลายสตริงให้ใช้สตริงเดียวกับ\n (บรรทัดใหม่) การแยกอักขระเป็นอักขระย่อย
นิยามของประเภทข้อมูลคุณลักษณะคือ
ไบต์
- ค่าของแอททริบิวต์ไบต์ (8 บิต, เซ็น) ต้องเขียนด้วยวงเล็บ 'b', e.g., -7b, 0b, 7b. ช่วง ของ ค่า ไบต์ ที่ ใช้ ได้ คือ -128 ถึง 127. จํานวนที่ดูเหมือนไบต์แต่ใช้งานไม่ได้ (I.g., 128b) จะสร้างข้อความผิดพลาด
สั้น
- ค่าแอททริบิวต์แบบสั้น (16 บิต, เซ็น) ต้องเขียนด้วยอักษร 's', e.g. -30000s, 0s, 30000s. ช่วงของค่าย่อที่ใช้ได้คือ -32768 ถึง 32767. ตัวเลขที่ดูสั้นแต่ใช้งานไม่ได้ (E.g., 32768s) จะสร้างข้อความผิดพลาด
อินท
- ค่าแอตทริบิวต์ของแอททริบิวต์ (32 บิต, เซ็น) ต้องเขียนเป็น Json Ints ไม่มีทศนิยมหรือเลขยกกําลัง แต่ด้วย i, e.g., -12067978i, 0i, 12067978i. ช่วงของค่า int ที่ใช้ได้คือ -2147483648 ถึง 2147483647. หมายเลขที่ดูเหมือน Int แต่ใช้งานไม่ได้ (E.g., 2147483648i) จะสร้างข้อความผิดพลาด
ยาว
- ค่าคุณลักษณะยาว (64 บิต, เซ็น, ปัจจุบันได้รับการสนับสนุนจาก NUT และERDDAP™แต่ยังไม่รองรับ CF) ต้องเขียนโดยไม่มีทศนิยม และด้วยเครื่องหมาย 'L', e.g., -1234567898964321 L, 0L, 1234589876543211. หากคุณใช้ซอฟต์แวร์แปลงค่าเป็นแฟ้ม NCSV โดยมีค่าเป็นNetCDF-3 แฟ้ม ค่ายาวจะถูกเปลี่ยนเป็นค่าคู่ ช่วงของค่ายาวที่ใช้ได้คือ -92233 7,368547808 ถึง 92233 7,78575807. ตัวเลขที่ดูเหมือนยาวแต่ใช้งานไม่ได้ (E.g., 922337203685478088L.) จะสร้างข้อความผิดพลาด
ลอย
- ค่าของแอททริบิวต์ที่ลอยอยู่ (32 บิต) ต้องเขียนด้วย ทศนิยม 'f' และอาจมีทศนิยม และ/หรือเลขชี้กําลัง, e.g., 0f, 1f, 12.34f, 1e12f, 1.23e+12f, 1.23e12f, 1. 87E-7f. ใช้ NNF สําหรับลอย NaN (หายไป) มูลค่า เรนจ์ของลอยมีประมาณ +/-3.402847E+38f (~7 ตําแหน่งทศนิยม) . หมายเลขที่ดูเหมือนลอย แต่ใช้งานไม่ได้ (เช่น 1.0.39f) จะสร้างข้อความผิดพลาด
หมู่
- ค่าของแอททริบิวต์คู่ (64 บิต) ต้องเขียนด้วยเลขฐานสิบ 'd' และอาจมีทศนิยม และ/หรือเลขชี้กําลัง, e.g., 0d, 1d, 12.34d, 1e12d, 1.23e+12d, 1.23e12d, 1. 87E-7d. ใช้ NND สําหรับคู่ NaN (หายไป) มูลค่า เรนจ์ของคู่มีประมาณ +/-1.7997933486231570E+308d (~15 ทศนิยม) . หมายเลขที่ดูเหมือนคู่ แต่ไม่ถูกต้อง (I.g., 1.0.309d.) จะสร้างข้อความผิดพลาด