ทํางานกับ datasets.xml แฟ้ม
\[ หน้าเว็บนี้จะสนใจเฉพาะหน้าเว็บ ERDDAP™ ผู้บริหาร \]
หลังจากที่เจ้าติดตาม ERDDAP™ คําสั่งการติดตั้ง คุณต้องแก้ไข datasets.xml แฟ้มใน แว่นขยาย / intent/ erdap/ เพื่ออธิบายชุดข้อมูลต่าง ๆ ที่ใช้แสดง ERDDAP™ การติดตั้งจะให้บริการ
คุณจะเห็นตัวอย่าง datasets.xml บน กิตติฮับ .
แนะนํา
จําเป็น ต้อง มี การ ประชุม ใหญ่ บาง แห่ง
กําลังตั้งค่าชุดข้อมูลใน ERDDAP™ ไม่ใช่แค่การชี้ไปยังไดเร็กทอรีของข้อมูล หรือที่อยู่ URL คุณต้องเขียนชุด XML สําหรับ datasets.xml ซึ่งอธิบายชุดข้อมูล
- สําหรับชุดข้อมูลแบบฝังตัว เพื่อให้ชุดข้อมูลสอดคล้องกับ ERDDAP โครงสร้างข้อมูลสําหรับข้อมูลแบบฝังตัว คุณต้องระบุ สับเซตของตัวแปรที่มีมิติเดียวกัน ( ทําไม? ยังไง? )
- ข้อมูลกํากับปัจจุบันจะถูกนําเข้าโดยอัตโนมัติ แต่ถ้าคุณต้องการที่จะแก้ไขข้อมูลกํากับภาพหรือเพิ่มข้อมูลกํากับภาพอื่น ๆ คุณต้องระบุมัน datasets.xml . และ ERDDAP™ ต้องการข้อมูลกํากับอื่น ๆ รวมถึง คุณสมบัติของทั้งระบบ (เช่น infoUrl สถาบัน sourceUrl ข้อสรุป และชื่อ) ถึง คุณสมบัติของตัวแปร (เช่น long\_name และหน่วย) . เช่นเดียวกับข้อมูลกํากับภาพในปัจจุบันที่อยู่ในชุดข้อมูล เพิ่มข้อมูลกํากับไปยังชุดข้อมูล ข้อมูลกํากับภาพที่ร้องขอโดย ERDDAP™ เพิ่มข้อมูลการขยายไปยังชุดข้อมูล ข้อมูลเพิ่มเติมเป็นการเพิ่มเติมที่ดีของชุดข้อมูลและความช่วยเหลือของคุณ ERDDAP™ นําเสนอข้อมูลให้กับผู้ใช้ที่ไม่คุ้นเคยกับมัน
- ERDDAP™ อยากให้คุณทําอะไรพิเศษ ลองจิจูด, ละติจูด, ระดับความสูง (ความลึก) และตัวแปรเวลา .
ถ้าคุณซื้อแนวคิดเหล่านี้และใช้ความพยายามในการสร้าง XML สําหรับ datasets.xml คุณจะได้ข้อได้เปรียบของ ERDDAP™ - รวมไปถึง:
- ค้นหาข้อมูลเต็มข้อความ
- ค้นหาชุดข้อมูลตามหมวดหมู่
- รูปแบบการเข้าใช้งานข้อมูล ( * datasetID * . html) ดังนั้นคุณสามารถร้องขอสับเซตของข้อมูล ในรูปแบบแฟ้มที่แตกต่างกันจํานวนมาก
- รูปแบบที่ต้องการกราฟและแผนที่ ( * datasetID * ลายเซ็น)
- บริการแผนที่เว็บ ( WMS ) สําหรับชุดข้อมูลแบบฝังตัว
- RESTful เข้าถึงข้อมูลของคุณ
ทําให้ datasets.xml ใช้ความพยายามอย่างมากสําหรับชุดข้อมูลชุดแรก แต่ มันจะง่ายขึ้น . หลังจากชุดข้อมูลชุดแรก, คุณมักจะใช้ งานจํานวนมากของคุณสําหรับข้อมูลชุดต่อไป โชคดี ERDDAP™ มาสอง เครื่องมือ เพื่อช่วยคุณสร้าง XML สําหรับแต่ละชุดข้อมูล datasets.xml . ถ้าคุณติดอยู่ เห็นเรา ส่วนของการได้รับการสนับสนุนเพิ่มเติม .
ตัวแปรใน datasets.xml
ของ ERDDAP™ รุ่น 2.29.0 datasets.xml ตอนนี้ (เลือกเพิ่ม) ประมวลผลโดย ตัวจัดการข้อความ . มีประโยชน์หลายอย่างในการตั้งค่าค่าส่วนตัว (เช่น รหัสผ่าน) ใช้ตัวแปรแวดล้อม ปิดการใช้งานสิ่งนี้ได้โดยการตั้งค่าการเปิดใช้งานระบบย่อยของ Env ให้เป็นเท็จในการติดตั้ง.xml
ผู้จัดทําข้อมูล รูปแบบ
เมื่อผู้ให้บริการข้อมูลมาถึงคุณ หวังว่าจะเพิ่มข้อมูลบางอย่างของคุณ ERDDAP มันอาจจะยากและใช้เวลาในการรวบรวมข้อมูล (ข้อมูลเกี่ยวกับชุดข้อมูล) ต้องเพิ่มชุดข้อมูลเข้าไป ERDDAP . ข้อมูลหลายแหล่ง (ตัวอย่างเช่น แฟ้ม .csv แฟ้ม, ฐานข้อมูล) ไม่มีข้อมูลภายใน ERDDAP™ มีแบบฟอร์มข้อมูล ซึ่งรวบรวมข้อมูลกํากับภาพจากผู้ให้บริการข้อมูล และให้ข้อมูลแนะแนวอื่น ๆ รวมถึงคําแนะนําที่กว้างขวางสําหรับ ข้อมูลในฐานข้อมูล . ข้อมูลที่ส่งจะถูกแปลงเป็น datasets.xml ฟอร์แมตและส่งเมลไปยัง ERDDAP™ ผู้ดูแล (คุณ) แล้วทรงบันทึก (เพิ่มเข้าไป) ถึง เครื่อง มือ ขนาด ใหญ่ logs/data provider Form.log. ดังนั้น รูปแบบกึ่งอัตโนมัติ กระบวนการของได้รับชุดข้อมูลในการ ERDDAP แต่ ERDDAP™ ผู้ดูแลระบบยังคงต้องเสร็จสมบูรณ์ datasets.xml จับและจัดการกับการเอาแฟ้มข้อมูล (วินาที) จากผู้ให้บริการหรือการเชื่อมต่อฐานข้อมูล
การส่งไฟล์ข้อมูลจริงจากแหล่งภายนอก มีความเสี่ยงสูง ERDDAP™ ไม่เกี่ยวกับเรื่องนั้น คุณต้องหาคําตอบที่ใช้ได้สําหรับคุณ และผู้ให้บริการข้อมูล ตัวอย่างเช่น อีเมล (สําหรับแฟ้มขนาดเล็ก) ดึงจากเมฆ (ตัวอย่างเช่น, Drop Box หรือ Google ไดรฟ์) เว็บไซต์ Sftp (ด้วยรหัสผ่าน) , หรือ คนแอบ เน็ต (ฮาร์ดดิสก์ภายนอก) . คุณควรจะรับไฟล์จากคนที่คุณรู้จักเท่านั้น คุณจะต้องสแกนไฟล์ไวรัส และใช้การป้องกันอื่น ๆ
มันไม่มีการเชื่อมโยง ERDDAP™ ไปยังแบบฟอร์มข้อมูล (ยกตัวอย่างเช่น ERDDAP™ หน้าหลัก) . แต่เวลามีคนบอกคุณว่า เขาอยากได้ข้อมูล ERDDAP คุณส่งอีเมล์ไปให้พวกเขา แล้วบอกว่า ใช่ เราเอาข้อมูลคุณเข้าไปได้ ERDDAP . เพื่อเริ่มต้น โปรดกรอกแบบฟอร์มที่https://yourUrl/erddap/dataProviderForm.html (หรือ http:// ถ้า https:// ไม่เปิดใช้) . หลังจากคุณเสร็จ ผมจะติดต่อไป เพื่อสรุปรายละเอียดสุดท้าย ถ้าคุณอยากดูรูป (โดยไม่กรอก) คุณจะเห็นแบบฟอร์มบน ERD ' ERDDAP . แนะนํา . ตอน 1 . ตอน 2 . ตอน 3 และ ตอน 4 . ลิงก์พวกนี้บน ERD ERDDAP™ ส่งข้อมูลมาให้ฉัน ไม่ใช่นาย ดังนั้นอย่าส่งข้อมูลไปกับพวกเขา เว้นแต่นายอยากจะเพิ่มข้อมูล ERD ERDDAP .
หากคุณต้องการลบรูปแบบผู้จัดทําข้อมูล ERDDAP™ ใส่
<dataProviderFormActive>false</dataProviderFormActive>
ในแฟ้ม.xml
แรง ผลัก ดัน ใน เรื่อง นี้ คือ NOAA 2014 การ เข้า ถึง แหล่ง วิจัย ทั่ว ไป (ผิดพลาด) คําสั่ง ซึ่งต้องใช้ทั้งหมด NOAA ข้อมูลสิ่งแวดล้อมได้รับทุนจากเงินภาษี โดยผ่านทางบริการข้อมูล (ไม่ใช่แค่แฟ้ม) ภายใน 12 เดือนของการสร้างสรรค์ มันมีดอกเบี้ยเพิ่มขึ้นในการใช้ ERDDAP™ เพื่อให้มีชุดข้อมูลต่าง ๆ ได้ผ่านทางบริการอย่างเร็วที่สุด เราต้องการวิธีที่มีประสิทธิภาพมากขึ้น เพื่อจัดการกับผู้จัดหาข้อมูลจํานวนมาก
อาหารและอาหาร? แบบฟอร์มนี้ใหม่ โปรดส่งเมล erd dot data at noaa dot gov ถ้าคุณมีคําติชมหรือคําแนะนําใด ๆ สําหรับการปรับปรุงนี้
เครื่องมือ
ERDDAP™ มาพร้อมโปรแกรมคําสั่งสองโปรแกรม ซึ่งเป็นเครื่องมือที่จะช่วยคุณสร้าง XML สําหรับข้อมูลแต่ละชุดที่คุณต้องการ ERDDAP™ เพื่อรับใช้ เมื่อคุณได้ตั้งค่า ERDDAP™ และดําเนินการมัน (อย่างน้อยหนึ่งครั้ง) คุณสามารถหาและใช้โปรแกรมเหล่านี้ใน แว่นขยาย ไดเรกทอรี / webapps/erdep/WEB-NF มีสคริปต์ของเชลล์ลินุกซ์/ ยูนิกซ์ (ด้วยส่วนขยาย .sh) และสคริปต์ของวินโดวส์ (ด้วยส่วนขยาย . bat) สําหรับแต่ละโปรแกรม \[ บนลินุกซ์ ให้เรียกใช้งานเครื่องมือเหล่านี้เป็นผู้ใช้เดียวกัน (ทอมแคท?) นั่นจะใช้ทอมแคทได้ \] เมื่อคุณรันแต่ละโปรแกรม มันจะถามคําถามคุณ สําหรับแต่ละคําถาม พิมพ์การตอบสนอง แล้วกด Enter หรือกด ^C เพื่อออกจากโปรแกรมตลอดเวลา
โปรแกรมจะไม่ทํางาน?
- ถ้าคุณได้รับโปรแกรมที่ไม่รู้จัก (หรือคล้ายกัน) ข้อความผิดพลาด, ปัญหาคือ ระบบปฏิบัติการไม่สามารถพบ Java . คุณต้องคิดออกว่า Java อยู่ในคอมพิวเตอร์ของคุณ จากนั้นแก้ไขอ้างอิงจาวาในแฟ้ม .Bat หรือ .sh ที่คุณพยายามจะใช้
- หากคุณไม่พบแฟ้มโหลหรือคลาสการค้นหาข้อความผิดพลาด Java ไม่สามารถค้นหาหนึ่งในชั้นเรียน ที่มีชื่ออยู่ในแฟ้ม .Bat หรือ .sh ที่คุณพยายามจะใช้ คําตอบคือการค้นหาว่าแฟ้ม .jar นั้นอยู่ที่ไหน และแก้ไขส่วนที่อ้างถึงจาวาในแฟ้ม .bat หรือ.sh.
- หากคุณกําลังใช้รุ่นของ Java นั่นเก่าเกินไปสําหรับโปรแกรม โปรแกรมจะไม่ทํางานและคุณจะเห็นข้อความผิดพลาดเช่น
ข้อยกเว้นในเธรด "หลัก" Java. Lang. ไม่รองรับ clasverssion:
บางส่วน/ คลาส/ ชื่อ สืบค้นเมื่อ: ตัวเลข
ทาง แก้ คือ การ ปรับ ปรุง ให้ ทัน สมัย ยิ่ง ขึ้น Java และตรวจสอบให้แน่ใจว่าแฟ้ม .sh หรือ.bat สําหรับโปรแกรมกําลังใช้งานอยู่
เครื่องมือพิมพ์ข้อความวิเคราะห์ต่าง ๆ:
- คําว่า EROR ใช้เมื่อมีบางอย่างผิดพลาด จนกระบวนการล้มเหลว ถึง แม้ ว่า เป็น เรื่อง น่า รําคาญ ที่ จะ ได้ ข้อ ผิด พลาด แต่ ความ ผิด พลาด นั้น ทํา ให้ คุณ ต้อง แก้ ปัญหา.
- คําว่า "Warning" ใช้เมื่อเกิดความผิดพลาดขึ้น แต่กระบวนการนี้สามารถเสร็จสิ้นได้ พวกนี้หายากนะ
- สิ่งอื่น ๆ ก็แค่ข้อความบอก คุณสามารถเพิ่ม // verbose เข้าไป สร้าง DatatasXml หรือ ถอดรหัส คํา สั่ง เพื่อ ได้ รับ จดหมาย ที่ ให้ ความ รู้ เพิ่ม เติม ซึ่ง บาง ครั้ง ช่วย แก้ ปัญหา.
เครื่อง มือ ทั้ง สอง นี้ ช่วย ได้ มาก แต่ คุณ ก็ ยัง ต้อง อ่าน คํา แนะ นํา เหล่า นี้ ทั้ง หมด ใน หน้า นี้ อย่าง ถี่ถ้วน และ ตัดสิน ใจ เอง ใน เรื่อง สําคัญ ๆ.
สร้าง DatatasXml
- สร้าง DatatasXml เป็นโปรแกรมบรรทัดคําสั่งที่สามารถทําการร่างข้อมูลแบบหยาบๆ ของชุดข้อมูล XML สําหรับข้อมูลเกือบทุกชนิด
เราพบว่าคุณใช้ชุดสร้าง Xml แทนการสร้างชิ้นเนื้อ datasets.xml ด้วยมือเพราะ:
- ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ Xml ทํางานในวินาที การทําเรื่องนี้ด้วยมือ อย่างน้อยหนึ่งชั่วโมง ก็เป็นผลงาน แม้เมื่อคุณรู้ว่าคุณทําอะไรอยู่
- ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ XMI ทํางานดีขึ้น การ ทํา เช่น นี้ ด้วย มือ เรียก ร้อง ความ รู้ อย่าง กว้าง ขวาง เกี่ยว กับ วิธี ที่ ERDDAP™ ได้ผล คุณ คง ไม่ ทํา งาน ที่ ดี กว่า ด้วย มือ คุณ. (บ็อบ ไซมอนส์ มักใช้ชุดที่สร้างสรรค์ขึ้นมาเสมอ XMI สําหรับร่างครั้งแรกและเขาเขียน ERDDAP .)
- ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ Xml มักจะสร้างก้อนที่ใช้ได้เสมอ datasets.xml . ก้อนใด ๆ ของ datasets.xml การเขียนของคุณ อาจจะมีข้อผิดพลาดเล็กน้อย ERDDAP™ จากการโหลดข้อมูลชุด บ่อย ครั้ง ต้อง ใช้ เวลา หลาย ชั่วโมง กว่า จะ วินิจฉัย ปัญหา เหล่า นี้. อย่าเสียเวลาเลย ให้สร้าง ชุดข้อมูล XMI ทํางานหนัก จากนั้นคุณสามารถ ขัด .xml ด้วยมือได้ ถ้าคุณต้องการ
เมื่อคุณใช้การสร้าง Datatets โปรแกรม Xml:
- บนวินโดวส์ ครั้งแรกที่คุณเรียกใช้งานโปรแกรม DatatatatetsXml คุณต้องแก้ไขแฟ้มสร้าง DatatatetsXml. bat ด้วยเครื่องมือแก้ไขข้อความ เพื่อเปลี่ยนพาธไปยังจาวา เพิ่มแฟ้ม Java .
- ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ Xml ให้คุณระบุประเภทประเภท XD (ชุดข้อมูล Dp ของ% 1 ชนิด) ของชุดข้อมูล ดู รายการชนิดชุดข้อมูล (ในเอกสารนี้) เพื่อหาชนิดใดที่เหมาะสม สําหรับชุดข้อมูลที่คุณทําอยู่ นอก จาก จะ มี สัตว์ เลี้ยง ลูก ด้วย นม แบบ ปกติ แล้ว ยัง มี บาง ชนิด ประเภทชุดข้อมูลพิเศษ/ Psuedo (e.g. หนึ่งซึ่งรวบรวมข้อมูลแคตตาล็อก THEDS เพื่อผลิตชิ้นของ datasets.xml สําหรับแต่ละชุดข้อมูลในหมวดหมู่) .
- ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ XMI แล้วถามคุณชุดของคําถาม เฉพาะที่ คํา ถาม รวบ รวม ข้อมูล ที่ จําเป็น สําหรับ ERDDAP™ เพื่อเข้าถึงแหล่งข้อมูล เพื่อเข้าใจในสิ่งที่ ERDDAP™ กําลังร้องขอดูเอกสารสําหรับประเภท DD ที่คุณระบุโดยคลิกบนประเภทข้อมูลเดียวกันใน รายการชนิดชุดข้อมูล .
หากคุณต้องการป้อนข้อความที่มีอักขระพิเศษ (เช่น, อักขระสีขาวที่เริ่มต้นหรือสิ้นสุด, ตัวอักษรที่ไม่ใช่ ASCIII) เข้าสู่ ข้อความแบบ Jon- Style (มีอักขระพิเศษหนีออกมาด้วย\ ตัวอักษร) . ตัวอย่างเช่น, การป้อนเพียงตัวอักษรแท็บ ให้ป้อน "\ t" (ด้วยคําอ้างถึงคู่โดยรอบ) ซึ่งบอกได้ว่า ERDDAP™ นี่คือเส้นสายแบบเจสัน
- บ่อยครั้งที่ หนึ่งในคําตอบของคุณ จะไม่เป็นสิ่งที่สร้าง DatatetsXml ต้องการ จากนั้นคุณสามารถลองอีกครั้ง ด้วยคําตอบเพิ่มเติมสําหรับคําถาม จนกระทั่งสร้าง Datatets XMI สามารถค้นหาและเข้าใจข้อมูลของแหล่งได้สําเร็จ
- ถ้าคุณตอบคําถามที่ถูกต้อง (หรือพอให้ถูก) สร้างชุดสําเร็จ XMI จะเชื่อมต่อกับแหล่งข้อมูลและรวบรวมข้อมูลพื้นฐาน (ตัวอย่างเช่น ชื่อตัวแปรและข้อมูลกํากับภาพ) . สําหรับชุดข้อมูล ที่มาจากภายในระบบ NetCDF .nc และแฟ้มที่สัมพันธ์กัน โดยสร้าง Datatets Xml จะพิมพ์โครงสร้างคล้าย ๆ กับ ncdum ของแฟ้ม หลังจากอ่านแฟ้มครั้งแรกแล้ว นี่ อาจ ให้ ข้อมูล แก่ คุณ เพื่อ ตอบ คํา ถาม ที่ ดี ขึ้น ใน เรื่อง ที่ ว่า เกิด อะไร ขึ้น หลัง จาก นั้น โดย การ สร้าง DataetsXml.
- ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ XMI จะทําการร่างแบบหยาบๆ ของชุดข้อมูล XML สําหรับชุดข้อมูลดังกล่าว
- ข้อมูลการตรวจสอบและการร่างหยาบของชุดข้อมูล XML จะถูกเขียนไปยัง เครื่อง มือ ขนาด ใหญ่ log/GenideDatatetsXml.log.
- แบบร่างหยาบๆ ของชุดข้อมูล XML จะถูกเขียนไปยัง เครื่อง มือ ขนาด ใหญ่ logs/GenideDatatetsXml. ออก.
"0 แฟ้ม" ข้อความผิดพลาด
หากคุณเรียกใช้งาน Datatas XmI หรือ ถอดรหัส หรือถ้าคุณพยายามโหลด EDDGrid จากแฟ้ม หรือ EDTable จาก... ชุดข้อมูลแฟ้มใน ERDDAP™ และคุณได้ข้อความผิดพลาด "0 แฟ้ม" ระบุว่า ERDDAP™ พบแฟ้มที่เข้าคู่กับ 0 ในไดเรกทอรี (เมื่อคุณคิดว่า มีแฟ้มที่ตรงกับในไดเรกทอรีนั้น) .
-
โปรดตรวจสอบว่า คุณได้กําหนดชื่อเต็มของไดเรกทอรีหรือไม่ หากคุณกําหนดชื่อแฟ้มตัวอย่าง โปรดแน่ใจว่า คุณได้กําหนดชื่อเต็มของแฟ้ม รวมถึงชื่อเต็มของไดเรกทอรีด้วย
-
ตรวจสอบว่าแฟ้มอยู่ในไดเรกทอรีดังกล่าวจริงหรือไม่
-
ตรวจสอบการสะกดชื่อไดเรกทอรี
-
ตรวจสอบแฟ้มName มันง่ายที่จะทําผิดพลาดกับรีเซกซ์ สําหรับวัตถุประสงค์การทดสอบ ลอง regex. * ซึ่งควรจะตรงกับชื่อแฟ้มทั้งหมด (ดูนี่สิ เอกสารของ Regex ถึง บทเรียน regax .)
-
เลือกผู้ใช้ที่กําลังทํางานอยู่ของโปรแกรม (e.g., ผู้ใช้=tommat (?) สําหรับทอมแคท/ ERDDAP ) ได้สิทธิ์ในการอ่านไฟล์เหล่านั้น
-
ในระบบปฏิบัติการ (ยกตัวอย่างเช่น เซลีนุกซ์) และขึ้นอยู่กับการตั้งค่าของระบบ ผู้ใช้ที่เรียกใช้งานโปรแกรม จะต้องมีสิทธิ์ 'อ่าน' สําหรับห่วงโซ่ไดเรกทอรีทั้งหมดที่นํามายังไดเรกทอรีที่มีแฟ้มต่าง ๆ
-
ถ้าคุณมีปัญหาที่คุณแก้ไม่ได้ รองรับการร้องขอ ด้วยข้อมูลให้มากที่สุดเท่าที่จะทําได้ เช่นเดียวกัน, ถ้าดูเหมือนว่าเป็นรูปแบบ ADD ที่เหมาะสมสําหรับชุดข้อมูลที่ให้ ไม่ได้ทํางานกับชุดข้อมูลนั้น, หรือหากไม่มีชุด DD ที่เหมาะสม, กรุณาส่งแฟ้ม ภาษากิตฮับName กับรายละเอียด (และแฟ้มตัวอย่างหากเกี่ยวข้อง) .
คุณต้องแก้ไขผลลัพธ์ที่ได้จากการสร้าง Datatas เอ็กซ์mI เพื่อให้มันดีขึ้น
-
DisCLARIMER: แชมป์ datasets.xml สร้างจากชุดลวดลายStencils XMI ไม่ได้เป็น PERFECT คุณ ต้อง อ่าน และ เขียน ข้อมูล ใน หน้า ปก ก่อน จะ นํา ไป ใช้ ใน หนังสือ เล่ม หนึ่ง ERDDAP . ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ อมเปญในจํานวนมากของ Rules-OF-THUMB ซึ่งไม่ได้เสมอ คุณ ไม่ อาจ ทํา ได้ ใน เรื่อง ความ ผิด พลาด ที่ คุณ เคย ทํา ERDDAP 'S' datasets.xml แมลงวัน
(ฉันไม่ได้ตะโกน ด้วย เหตุ ผล ทาง ประวัติศาสตร์ ผู้ อ้าง สิทธิ์ ต้อง ถูก เขียน ลง ใน หมวก ทั้ง หมด.)
ผลที่ได้จากการสร้าง DatatasXml เป็นการร่างหยาบๆ คุณต้องแก้ไขมันเกือบทุกครั้ง เราได้พยายามอย่างมาก เพื่อทําให้ผลลัพธ์ออกมาพร้อมที่สุด แต่ก็มีข้อจํากัด บ่อย ครั้ง ไม่ มี ข้อมูล ที่ ต้องการ จาก แหล่ง ข้อมูล.
ปัญหาพื้นฐานก็คือ เรากําลังถามโปรแกรมคอมพิวเตอร์ (สร้าง DatatasXml) ถ้าคุณให้งานเดียวกันกับคน 100 คน คุณจะได้ผลลัพธ์ 100 อย่างต่างกัน ไม่มีคําตอบว่า "ถูก" เห็นได้ชัดเลยว่าโปรแกรม ใกล้เคียงกับการอ่านความคิดของบ็อบ (ไม่ใช่ของเธอ) แต่ถึงอย่างนั้น มันไม่ใช่โปรแกรม AI ที่เข้าใจง่าย แค่กลุ่มของ Heuristics (วันของโปรแกรมเอไอที่เข้าใจทั้งหมดอาจจะมาถึง แต่ยังไม่ได้ ถ้า/เมื่อมันเกิดขึ้น เราที่เป็นมนุษย์อาจมีปัญหาที่ใหญ่กว่า ระวังสิ่งที่คุณขอ)
-
เพื่อ จุด ประสงค์ ทาง ข้อมูล การ ออก ผล แสดง ให้ เห็น แหล่ง ข้อมูล ทั่ว โลก และ แหล่ง ที่ มา ของ ตัวแปร ต่าง ๆ ดัง กล่าว. ERDDAP™ รวมแหล่งรวม addAttributes (ซึ่งมีอยู่ในคัมภีร์ก่อน) เพื่อรวม แอททริบิวต์ที่แสดงกับผู้ใช้ (และคุณสมบัติอื่น ๆ จะถูกเพิ่มโดยอัตโนมัติไปยัง ลองติจูด, ระดับความสูง, ความลึก, และตัวแปรเวลาเมื่อ ERDDAP™ ทําชุดข้อมูล) .
-
หากคุณไม่ชอบแหล่งที่มา attriburg, เขียนทับมันโดยเพิ่ม attriburg with ชื่อเดียวกัน แต่มูลค่าที่แตกต่างกัน (หรือไม่มีค่า หากคุณต้องการจะลบ) .
-
ทั้งหมด addAttributes เป็นคําแนะนําจากคอมพิวเตอร์ แก้ไขพวกเขา! ถ้าคุณไม่ชอบรายชื่อเพิ่ม ก็เปลี่ยนซะ
-
ถ้าคุณอยากเพิ่มตัวอื่น addAttributes เพิ่มเข้าไป
-
ถ้าคุณอยากเปลี่ยน destinationName เปลี่ยนสิ แต่อย่าเปลี่ยน sourceName เอส.
-
คุณสามารถเปลี่ยนลําดับของ dataVariable หรือเอาออก
- คุณสามารถใช้ได้ ถอดรหัส (ดูด้านล่าง) เพื่อทดสอบ XML ซ้ําอีกครั้ง สําหรับชุดข้อมูลนั้น เพื่อให้แน่ใจว่าชุดข้อมูลผลลัพธ์ จะปรากฏตามที่คุณต้องการ ERDDAP .
- เชิญเปลี่ยนช่องได้ตามสบาย datasets.xml ตัว อย่าง เช่น เนื้อ ที่ ผลิต ขึ้น มา ทํา ให้ มี อาหาร ที่ ดี ขึ้น infoUrl สรุป หรือชื่อเล่น
Do not add standardName
หากคุณรวม\- donot adstand names เป็นพารามิเตอร์ของบรรทัดคําสั่งเมื่อคุณประมวลผล ชุดข้อมูล Xml, สร้าง ชุดข้อมูล Xml จะไม่เพิ่ม standard\_name ถึง addAttributes สําหรับตัวแปรอื่น ๆ นอกจากตัวแปรที่ชื่อละติจูด, ลองติจูด, ความสูง, ความลึกหรือเวลา (ที่ชัดเจน standard\_name วินาที) . มีประโยชน์มาก หากคุณกําลังใช้ผลลัพธ์ที่ได้จากการสร้าง ชุดข้อมูล Xml โดยตรงใน ERDDAP™ ไม่ต้องแก้ไขการแสดงผลการแสดงผล เนื่องจากสร้าง ชุดข้อมูล XMI มักจะเดา standard\_name ไม่ถูกต้อง (ควรจําไว้ว่าเราขอแนะนําให้คุณแก้ไขการแสดงผลก่อนใช้งานใน ERDDAP .) การใช้พารามิเตอร์นี้ จะมีผลกระทบที่สัมพันธ์กันเล็กน้อย เพราะการเดา standard\_name มักจะใช้เพื่อวัตถุประสงค์อื่น เช่น เพื่อสร้างใหม่ long\_name สร้างการตั้งค่าแถบสี
การเขียนสคริปต์
เพื่อเป็นทางเลือกในการตอบคําถามอย่างโต้ตอบ ที่คีย์บอร์ดและวนเพื่อสร้างชุดข้อมูลเพิ่มเติม คุณสามารถให้อาร์กิวเมนต์ของบรรทัดคําสั่ง ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ XMI จะประมวลผลพารามิเตอร์เหล่านั้น, เขียนผลลัพธ์ไปยังแฟ้มส่งออก แล้วออกจากโปรแกรม
เพื่อ จัด การ เรื่อง นี้ จง ใช้ ระเบียบ วาระ ใน แบบ ที่ มี การ ตอบ รับ และ เขียน คํา ตอบ ลง ไป. นี่คือตัวอย่างบางส่วน สมมติว่าคุณเรียกประมวลผลสคริปต์: ./ genideDatatasXml.sh จากนั้นเข้า: DDTable from Ascii Files จากนั้นใส่: /u200/data/ แล้วใส่:. /*\.asc จากนั้นใส่: /u200/data/ sample file.asc จากนั้นเข้า ISO-8859-1
ในการเรียกใช้งานคําสั่งในรูปแบบที่ไม่ตอบสนอง ให้ใช้บรรทัดคําสั่งนี้: ./ จีเนเรต ดาตาเซตส์ Xml. ch EDTable from Ascii files /u200/data/*\.asc / usc/data/sample file.asc ISO-88-1 สรุปคือ คุณแค่เขียนคําตอบทั้งหมดในบรรทัดคําสั่ง นี้ควรจะมีประโยชน์สําหรับชุดข้อมูล ที่เปลี่ยนแปลงบ่อยครั้งในวิธี ที่กําหนดการสร้าง Datatatets ใหม่ Xml (โดยเฉพาะ EDDGrid จากสมุดที่อยู่) .
รายละเอียด:
- หากพารามิเตอร์มีช่องว่างหรือตัวอักษรพิเศษบางอย่าง, แล้วการเข้ารหัสพารามิเตอร์เป็น ข้อความแบบ Jon- Style , e.g., "พารามิเตอร์ของฉันกับช่องว่างและสอง \n ไลน์".
- หากคุณต้องการกําหนดข้อความว่างเป็นพารามิเตอร์ ให้ใช้: ไม่มี
- หากคุณต้องการกําหนดค่าปริยายของพารามิเตอร์ ให้ใช้: ค่าปริยาย
- ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ Xml รองรับ a -i ชุดข้อมูล XmlName # ป้ายกํากับName พารามิเตอร์ของบรรทัดคําสั่งที่จะแทรกผลลัพธ์ไปยังค่าที่ระบุ datasets.xml แฟ้ม (ค่าปริยายคือ แว่นขยาย / ขอบเขต/ ทําซ้ํา / datasets.xml ) . ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ XMI ค้นหาสองบรรทัดในชุดข้อมูล XmlName
<!-- Begin GenerateDatasetsXml #*tagName someDatetime* -->
ถึง
<!-- End GenerateDatasetsXml #*tagName someDatetime* -->
และแทนที่ทุกอย่างที่อยู่ระหว่างบรรทัดนั้น ด้วยเนื้อหาใหม่ และเปลี่ยนค่าเวลาบางส่วน
- สวิตช์ - i ถูกประมวลผลเท่านั้น (และเปลี่ยนเป็น datasets.xml ถูกสร้างขึ้นเท่านั้น) หากคุณเรียกใช้งาน Datatas Xml พร้อมกับอาร์กิวเมนต์บรรทัดคําสั่ง ซึ่งระบุคําตอบทั้งหมดสําหรับทุกคําถามที่ใช้วนรอบเดียวของโปรแกรม (ดู 'Scripting' ข้างต้น) (แนวคิดก็คือ พารามิเตอร์นี้ใช้กับสคริปต์ หากคุณใช้โปรแกรมในโหมดโต้ตอบ (พิมพ์ข้อมูลบนแป้นพิมพ์) คุณมักจะสร้าง XML ที่ไม่ถูกต้องขึ้นมา ก่อนที่คุณจะสร้างอันที่คุณต้องการ)
- หากไม่พบเส้นเริ่มต้นและสิ้นสุด บรรทัดเหล่านั้นและเนื้อหาใหม่จะถูกใส่ก่อน<. .
- ยังมี -I (พิมพ์ใหญ่ I) สลับสําหรับการทดสอบวัตถุประสงค์ที่ทํางานเช่นเดียวกับ -i แต่สร้างไฟล์ที่เรียกว่า datasets.xml เวลา และไม่ได้เปลี่ยนแปลง datasets.xml .
- ไม่ต้องประมวลผลชุดถูกสร้าง XMI กับ -i ในสองกระบวนการในเวลาเดียวกัน มีโอกาสเพียงชุดหนึ่งของการเปลี่ยนแปลงจะเก็บไว้ อาจจะมีปัญหาร้ายแรง (ตัวอย่างเช่น แฟ้มที่เสียหาย) .
ถ้าคุณใช้ "GenideDatatetsXml - verbose" มันจะพิมพ์ข้อความวิเคราะห์มากกว่าปกติ
ประเภทชุดข้อมูลพิเศษ/ Psuedo
โดยทั่วไปแล้ว ตัวเลือก ED Times ในการสร้าง Datatas เทียบ Xml ของประเภท ED ที่บรรยายในเอกสารนี้ (ดู รายการชนิดชุดข้อมูล ) และผลิตครั้งแรก datasets.xml ชิ้นส่วนเพื่อสร้างข้อมูลชุดหนึ่ง จากแหล่งข้อมูลเฉพาะแหล่งเดียว มีข้อยกเว้นเล็กน้อยและกรณีพิเศษ:
EDDGrid จาก เอลด์ดาป
DID นี้สร้างทั้งหมดของ datasets.xml ชิ้นส่วนที่จําเป็นเพื่อให้ EDDGrid จาก เอลด์ดาป ชุดข้อมูลทั้งหมด EDDGrid ชุดข้อมูลในระยะไกล ERDDAP . คุณจะมีทางเลือกในการเก็บต้นฉบับ datasetID วินาที (ซึ่งอาจจะซ้ําบาง datasetID ในชุดของคุณ ERDDAP ) หรือสร้างชื่อใหม่ที่จะพิเศษ (แต่ปกติแล้วมันอ่านยาก) .
DDTable from Edardp
DID นี้สร้างทั้งหมดของ datasets.xml ชิ้นส่วนที่จําเป็นเพื่อให้ DDTable from Edardp ชุดข้อมูลจากชุดข้อมูล EDTable ในระยะไกล ERDDAP . คุณจะมีทางเลือกในการเก็บต้นฉบับ datasetID วินาที (ซึ่งอาจจะซ้ําบาง datasetID ในชุดของคุณ ERDDAP ) หรือสร้างชื่อใหม่ที่จะพิเศษ (แต่ปกติแล้วมันอ่านยาก) .
EDDGrid จากสมุดที่อยู่
DID นี้สร้างทั้งหมดของ datasets.xml ชิ้นส่วนที่จําเป็นสําหรับทั้งหมด EDDGrid จาก Dap ชุด ข้อมูล ที่ สามารถ พบ ได้ โดย การ คลาน เวียน ไป มา ตลอด ทาง (ย่อย) แคตตาล็อก มีรายการที่อยู่ URL หลายรูปแบบ ตัวเลือกนี้ RIFTES คือที่อยู่ URL.xml โดยมี / กาตาล็อก/ ในนั้น ตัวอย่างเช่น
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/catalog.xmlหรือ
https://oceanwatch.pfeg.noaa.gov/thredds/catalog/Satellite/aggregsatMH/chla/catalog.xml
(รายการเกี่ยวกับ .html อยู่ที่
https://oceanwatch.pfeg.noaa.gov/thredds/Satellite/aggregsatMH/chla/catalog.htmlซึ่งไม่ยอมรับ EDDGrid จาก Threds Catalog.
ถ้าคุณมีปัญหากับ EDDGrid จาก ปก แคตตาล็อก:
- ตรวจสอบให้แน่ใจว่าที่อยู่ URL ที่คุณกําลังใช้นั้นถูกต้อง รวมถึง / catalog/ และสิ้นสุดด้วย /catalog.xml.
- ถ้าเป็นไปได้ ใช้หมายเลขไอพีสาธารณะ (ยกตัวอย่างเช่นhttps://oceanwatch.pfeg.noaa.gov) ในที่อยู่ URL ไม่ใช่หมายเลข IP (ยกตัวอย่างเช่นhttps://12.34.56.78) . ถ้าที่อยู่ IP ของคุณเข้าถึงได้โดยผ่านทางที่อยู่ IP เท่านั้น<แปลง Tublic Source Url>] (# Convent to August Resourcessurl) ดังนั้น ERDDAP™ ผู้ใช้เห็นที่อยู่สาธารณะ แม้ว่า ERDDAP™ ได้ข้อมูลจากที่อยู่ตัวเลขท้องถิ่น
- ถ้าคุณมีปัญหาที่คุณแก้ไม่ได้ ตรวจสอบเคล็ดลับการยิงปัญหา .
- รหัสระดับต่ําสําหรับตอนนี้ใช้ Unidata หมวดหมู่ของ Netcdf-java (บิดเบี้ยว คลาสของหมวดหมู่) เพื่อให้สามารถจัดการกับแคตตาล็อกทั้งหมด (ซึ่งมีความซับซ้อนอย่างน่าประหลาดใจ) ขอบคุณ Unidata สําหรับรหัสนั่น
EDDGrid logy log
เครื่องดีอีนี้สร้าง datasets.xml เพื่อให้ EDDGrid ลอน PM 180 ชุดข้อมูลทั้งหมด EDDGrid ชุดข้อมูลใน ERDDAP ที่มีค่า ลองจิจูดมากกว่า 180
- ถ้าเป็นไปได้ ใช้หมายเลขไอพีสาธารณะ (ยกตัวอย่างเช่นhttps://oceanwatch.pfeg.noaa.gov) ในที่อยู่ URL ไม่ใช่หมายเลข IP (ยกตัวอย่างเช่นhttps://12.34.56.78) . ถ้า ERDDAP™ จะเข้าถึงได้โดยผ่านทางที่อยู่ IP ท้องถิ่นเท่านั้น คุณสามารถใช้ได้<แปลง Tublic Source Url>] (# Convent to August Resourcessurl) ดังนั้น ERDDAP™ ผู้ใช้เห็นที่อยู่สาธารณะ แม้ว่า ERDDAP™ ได้ข้อมูลจากที่อยู่ตัวเลขท้องถิ่น
EDDGrid logn0360 from Eddepcatalog
เครื่องดีอีนี้สร้าง datasets.xml เพื่อให้ EDDGrid ลอน0360 ชุดข้อมูลทั้งหมด EDDGrid ชุดข้อมูลใน ERDDAP ที่มีค่า ลองจิจูดน้อยกว่า 0
- ถ้าเป็นไปได้ ใช้หมายเลขไอพีสาธารณะ (ยกตัวอย่างเช่นhttps://oceanwatch.pfeg.noaa.gov) ในที่อยู่ URL ไม่ใช่หมายเลข IP (ยกตัวอย่างเช่นhttps://12.34.56.78) . ถ้า ERDDAP™ จะเข้าถึงได้โดยผ่านทางที่อยู่ IP ท้องถิ่นเท่านั้น คุณสามารถใช้ได้<แปลง Tublic Source Url>] (# Convent to August Resourcessurl) ดังนั้น ERDDAP™ ผู้ใช้เห็นที่อยู่สาธารณะ แม้ว่า ERDDAP™ ได้ข้อมูลจากที่อยู่ตัวเลขท้องถิ่น
ED จากแฟ้ม
เมื่อกําหนดไดเรกทอรีเริ่มต้นแล้ว สิ่งนี้จะผ่านไดเร็กทอรีและส่วนย่อยทั้งหมด และพยายามสร้างชุดข้อมูล สําหรับแต่ละกลุ่มของแฟ้มข้อมูลที่มันค้นพบ
- นี่สมมุติว่าเมื่อพบชุดข้อมูล ชุดข้อมูลจะรวมส่วนย่อยทั้งหมดเข้าด้วยกัน
- หากพบชุดข้อมูล ไดเรกทอรีพี่น้องที่คล้ายกัน จะถูกพิจารณาเป็นชุดข้อมูลแยก (ตัวอย่างเช่น, ไดเรกทอรีสําหรับปี 1990, 2000, 2010 จะสร้างชุดข้อมูลแยก) . มันควรรวมกันได้ง่ายกว่า -- แค่เปลี่ยนชุดข้อมูลชุดแรก<แฟ้มDir > ไปยังไดเร็กทอรีแม่และลบชุดข้อมูลพี่และน้องที่ตามมาทั้งหมด
- นี้จะพยายามที่จะสร้างชิ้นของ datasets.xml สําหรับชนิดของนามสกุลแฟ้มที่ใช้บ่อยที่สุดในไดเรกทอรี (ไม่นับ .md5 ซึ่งถูกละเลย) . จากไดเรกทอรีที่มี 10 .nc แฟ้มและ 5 แฟ้ม.txt, ชุดข้อมูลจะถูกสร้างสําหรับ .nc ไฟล์เท่านั้น
- นี่สมมุติว่าแฟ้มทั้งหมดในไดเรกทอรีที่มีนามสกุลเดียวกันอยู่ในชุดข้อมูลเดียวกัน หากมีไดเรกทอรีบางตัว .nc แฟ้มที่มีข้อมูล SST และบาง .nc แฟ้มที่มีข้อมูลคลอโรฟิลล์, แค่ตัวอย่างเดียว .nc แฟ้มจะถูกอ่าน (SST? คลอโรไฟลล์?) และชุดข้อมูลเพียงชุดเดียวจะถูกสร้างสําหรับชนิดของแฟ้มดังกล่าว ข้อมูลชุดนั้นอาจจะล้มเหลว เนื่องจากภาวะแทรกซ้อน จากการพยายามโหลดแฟ้มสองประเภทเข้าไปในชุดข้อมูลชุดเดียวกัน
- ถ้ามีแฟ้มน้อยกว่า 4 แฟ้มที่มีนามสกุลที่ทั่วไปที่สุดในไดเรกทอรี, นี่สมมุติว่ามันไม่ใช่แฟ้มข้อมูล และข้ามไดเรกทอรีไป
- หากมีแฟ้ม 4 แฟ้มหรือมากกว่าในไดเรกทอรี แต่นี้ไม่สามารถสร้างชิ้นงานได้ datasets.xml สําหรับแฟ้ม (ตัวอย่างเช่น ประเภทแฟ้มที่ยังไม่สนับสนุน) นี่จะทําให้ แก้ไขโครงการหลัก... ชุดข้อมูลของแฟ้ม
- ในตอนท้ายของการตรวจสอบนี้เขียนไปยังแฟ้มปูมบันทึกเพียงก่อนที่ datasets.xml ชิ้นนี้จะพิมพ์ตารางที่มีการสรุปของข้อมูลที่รวบรวมโดย triversing ทั้งหมด ทิศทางย่อย ตารางจะแสดงรายการย่อยทั้งหมด และระบุนามสกุลแฟ้มที่ใช้กันมากที่สุด, จํานวนของแฟ้มทั้งหมด, และชนิดของข้อมูลที่ถูกสร้างสําหรับแฟ้มเหล่านี้ (ถ้ามี) . ถ้า คุณ กําลัง เผชิญ กับ โครง สร้าง ของ ไฟล์ ที่ ซับ ซ้อน ซึ่ง อยู่ ลึก ๆ ขอ ให้ คิด ถึง ชุด ที่ ใช้ งาน ได้ XMI กับ DD TIFF=EDDs จากแฟ้มเพียงเพื่อสร้างข้อมูลนี้
- ตัวเลือกนี้อาจจะไม่สามารถคาดเดาได้ดีที่สุด ในรูปแบบ ED สําหรับกลุ่มข้อมูลที่ให้มา แต่มันเร็ว ง่าย และคุ้มค่าที่จะลอง ถ้าแฟ้มต้นทางเหมาะสม มันก็ใช้ได้ดี และเป็นก้าวแรกที่ดีในการสร้าง datasets.xml สําหรับระบบแฟ้มที่มีข้อมูลย่อยมากมาย แต่ละระบบมีไฟล์ข้อมูลจากชุดข้อมูลที่แตกต่างกัน
EDTable fromEML และ EDTable fromEMLBatch
ชุดพิเศษนี้สร้าง datasets.xml เพื่อให้ แฟ้ม DDTA จาก Ascii ชุดข้อมูลจากแต่ละตารางที่บรรยายใน ภาษา ข้อมูลกํากับภาพ ทาง นิเวศ วิทยา แฟ้ม XML ฟังก์ชัน "Batch" ทํางานได้กับแฟ้ม EML ทั้งหมดในไดเรกทอรีท้องถิ่นหรือทางไกล กรุณาดูการแยก เอกสารสําหรับ EDTable fromEML .
แก้ไขลวดลายจุดเชื่อมต่อStencils
บทความพิเศษนี้สร้าง datasets.xml เพื่อให้ แฟ้ม DDTA จาก Ascii ชุดข้อมูลจากข้อมูลใน ล็อกอิน- xml แฟ้ม หากคุณสามารถเข้าใช้งานแฟ้มต้นทางได้ (แฟ้ม Insport-xml ควรมีเงื่อนงําที่จะค้นหามัน) คุณสามารถสร้างชุดข้อมูลการทํางาน ERDDAP .
ขั้น ตอน ต่าง ๆ ต่อ ไป นี้ จะ ใช้ ชุด คํา ที่ สร้าง ขึ้น มา อย่าง ไร? Xml ด้วยแฟ้ม inport-xml เพื่อรับชุดข้อมูลการทํางาน ERDDAP .
- เมื่อคุณสามารถเข้าถึงแฟ้ม post-xml ได้ (ไม่ว่าจะเป็นที่อยู่ URL หรือแฟ้มภายในระบบ) ประมวลผล Datatas Xml, ระบุรูปแบบ IDSD=EDTable from Innpotrt, กําหนดที่อยู่ URL แบบพอร์ต-xml หรือชื่อแฟ้มเต็ม, กําหนดชื่อที่จีน=0 และระบุข้อมูลอื่น ๆ ที่ร้องขอมา (ถ้ารู้) . (ณ จุดนี้ คุณไม่จําเป็นต้องมีแฟ้มข้อมูลแหล่ง หรือระบุชื่อของมัน) การตั้งค่าที่ ไชลด์ = 0 บอกสร้าง Datatets Xml เพื่อเขียนข้อมูลสําหรับ ทั้งหมด ของ<การแจกจ่ายจดหมาย<Insport-xml file (ถ้ามี) . มันยังพิมพ์สรุปภูมิหลังออก รวมถึงรายการดาวน์โหลดทั้งหมด ในแฟ้ม Insport-xml
- ดูข้อมูลทั้งหมด (รวมข้อมูลพื้นหลังที่สร้าง Datatets การพิมพ์ Xml) และเข้าชมรายการดาวน์โหลด (วินาที) ในการหาแฟ้มต้นฉบับ (วินาที) . ถ้าคุณหาเจอ (พวกเขา) ดาวน์โหลดมัน (พวกเขา) ไดเรกทอรีที่เข้าถึงได้ ERDDAP . (ถ้าคุณไม่สามารถหาแฟ้มข้อมูลแหล่งใด ๆ มีจุดในการดําเนินการไม่มี)
- ประมวลผล ชุดข้อมูล เอ็กซ์เอ็มไออีกแล้ว หากแฟ้มต้นทางตรงกับแฟ้มอินพอร์ท-xml ของ<การแจกจ่ายจดหมาย<ISDATE>. ระบุว่า ไชลด์ = ตัวเลขของอนิเมชั่น (เช่น 1, 2, 3...) . ERDDAP™ จะพยายามตรวจเทียบชื่อคอลัมน์ในแฟ้มข้อมูลแหล่งกับชื่อในข้อมูลขององค์กร แล้วแจ้งให้ยอมรับ/ แก้ไข/ แก้ไขข้อผิดพลาดใด ๆ หรือถ้าแฟ้ม Insport-xml ไม่มี<การแจกจ่ายจดหมาย<express>. ระบุว่า ไชลด์=0.
- ในส่วนของ datasets.xml ที่สร้างโดย Datatets Xml แก้ไข [โลกาวิ< addAttributes >) (แจกจ่ายทั่วโลก) ที่ต้องการ/ต้องการ
- ในส่วนของ datasets.xml ที่สร้างขึ้นโดยการสร้าง DatatatetsXml, เพิ่ม/review the [< dataVariable >) (เปลี่ยนตัวแปรได้) ข้อมูลที่จําเป็น/ เปลี่ยนแปลง เพื่ออธิบายตัวแปรแต่ละตัว ให้แน่ใจว่าคุณระบุตัวแปรแต่ละตัวได้อย่างถูกต้อง [< sourceName >) (ชื่อแหล่ง) (ตามที่เห็นในแหล่งที่มา) . [< destinationName >) (ชื่อที่ใช้แทน) (ซึ่งมีข้อจํากัดมากกว่า sourceName ) . [<หน่วย: (หน่วย) (โดยเฉพาะถ้ามัน ตัวแปรเวลาหรือเวลาtamp ที่หน่วยต้องระบุรูปแบบ) และ [< missing\_value >) (ขาดค่า) .
- เมื่อ ใกล้ จะ เสร็จ แล้ว จง ใช้ ครั้ง แล้ว ครั้ง เล่า ถอดรหัส เครื่องมือเพื่อดูว่าคําอธิบายชุดข้อมูลใช้ได้หรือไม่ และถ้าชุดข้อมูลจะปรากฏ ERDDAP™ อย่างที่คุณต้องการ
มันจะดีถ้ากลุ่มที่ใช้ InPort เพื่อบันทึกชุดข้อมูลของพวกเขาจะใช้ ERDDAP™ เพื่อให้ข้อมูลจริงใช้ได้:
- ERDDAP™ เป็นคําตอบที่สามารถใช้ได้ในตอนนี้ ดังนั้นคุณสามารถ NOAA ' การ เข้า ถึง แหล่ง วิจัย ทั่ว ไป (ผิดพลาด) ต้องการ ตอนนี้ ไม่ใช่ในเวลาที่คลุมเครือในอนาคต
- ERDDAP™ สร้างข้อมูลจริงให้ผู้ใช้ได้ ไม่ใช่แค่ข้อมูลกํากับเท่านั้น (ข้อมูลกํากับภาพที่ไม่มีข้อมูลจะมีประโยชน์อะไร)
- ERDDAP™ รองรับข้อมูลกํากับภาพ (โดยเฉพาะหน่วยของตัวแปร) แตกต่างจากบางโปรแกรมแม่ข่ายข้อมูลอื่น ๆ ที่ถูกพิจารณา (ข้อมูลที่ไม่มีข้อมูลกํากับจะมีประโยชน์อะไร) การใช้ซอฟต์แวร์ที่ไม่สนับสนุนข้อมูลกํากับ คือการเชิญข้อมูลไปถูกเข้าใจผิด
- ERDDAP™ เป็นซอฟต์แวร์เสรีและ open-source ไม่เหมือนกับซอฟท์แวร์อื่นที่ถูกพิจารณา การพัฒนาต่อไปของ ERDDAP™ จ่ายเงินไปแล้ว รองรับ ERDDAP™ ผู้ใช้เป็นอิสระ
- ERDDAP การปรากฏตัวของรูปลักษณ์นั้นง่ายต่อการสะท้อนและเน้นกลุ่มของคุณ (ไม่ ERD หรือ ERDDAP ) .
- ERDDAP™ ให้วิธีเข้าใช้ข้อมูลทั้งหมดอย่างสม่ําเสมอ
- ERDDAP™ สามารถอ่านข้อมูลจากแฟ้มข้อมูลหลายประเภท และจากฐานข้อมูลความสัมพันธ์
- ERDDAP™ สามารถจัดการกับชุดข้อมูลขนาดใหญ่ รวมทั้งชุดข้อมูล ที่ข้อมูลแหล่งอยู่ในแฟ้มข้อมูลจํานวนมาก
- ERDDAP™ สามารถเขียนข้อมูลไปยังแฟ้มข้อมูลได้หลายประเภท ตามคําขอของผู้ใช้ รวมถึงแฟ้มข้อมูลทางวิทยาศาสตร์ประเภทเช่น NetCDF, ESRI.csv และ ODV .txt .
- ERDDAP™ สามารถสร้างกราฟและแผนที่ของข้อมูลได้ตามข้อกําหนดของผู้ใช้
- ERDDAP™ สามารถจัดการกับชุดข้อมูลที่ไม่ใช่ ดาต้า เช่น คลังภาพ, วิดีโอ, หรือแฟ้มเสียง
- ERDDAP™ ได้ถูกติดตั้งและถูกใช้ที่ สถาบัน มาก กว่า 60 แห่ง ทั่ว โลก .
- ERDDAP™ แสดงรายการเป็นเซิร์ฟเวอร์ข้อมูลตัวหนึ่งที่ขอแนะนําให้ใช้ภายใน NOAA ใน NOAA การเข้าถึงข้อมูล ไม่เหมือนกับซอฟท์แวร์อื่นที่ถูกพิจารณา
- ERDDAP™ เป็นผลคูณของ NMFS / NOAA ดังนั้น การใช้มันภายใน NMFS ถึง NOAA ควรเป็นจุดของความภูมิใจ NMFS ถึง NOAA .
กรุณาให้ ERDDAP™ พยายามอยู่ ถ้าคุณต้องการความช่วยเหลือ กรุณาส่งข้อความ ERDDAP™ กูเกิ้ลกรุ๊ป
เพิ่มรายการ
ตัวเลือกพิเศษ DD TIFF ไม่ใช่ประเภทชุดข้อมูล มันเป็นเครื่องมือที่สามารถเพิ่มคุณสมบัติ /_ fillvalue ไปยังตัวแปรบางอย่างในชุดข้อมูล ดู เพิ่มรายการ .
ค้นหาความซับซ้อน เวลา
ตัวเลือกพิเศษ DD TIFF ไม่ใช่ประเภทชุดข้อมูล ในทางกลับกัน มันบอกผู้สร้าง Datatets Xml เพื่อค้นหาผ่านชุดสะสมของ gried .nc (และความสัมพันธ์) แฟ้มที่จะค้นหาและพิมพ์รายการของแฟ้มที่มีค่าเวลาซ้ํากัน เมื่อดูค่าเวลา มันจะเปลี่ยนจากหน่วยเดิมเป็น "seconds since 1970-01-01" ในกรณีที่แฟ้มที่แตกต่างกันใช้สายหน่วยที่แตกต่างกัน คุณต้องให้ไดเรกทอรีเริ่มต้น (มีหรือไม่มีรอยตัดต่อท้าย) ชื่อแฟ้มการค้นหา (e.g., ./*\ .nc ) ชื่อของตัวแปรเวลาในแฟ้ม
ดัมพ์
ตัวเลือกพิเศษ DD TIFF ไม่ใช่ประเภทชุดข้อมูล ในทางกลับกัน มันบอกผู้สร้าง Datatets Xml เพื่อพิมพ์ ดัมพ์ พิมพ์ออกเป็นตัวอักษร .nc . .nc mI หรือ .hdf แฟ้ม มันใช้ Netcdf-java ดัมพ์ ซึ่งเป็นเครื่องมือที่จํากัดกว่า รุ่น C ของ NCdop หากคุณใช้ตัวเลือกนี้ การสร้าง DatatatetsXml จะขอให้คุณใช้ตัวเลือกหนึ่ง: "h" (หัวกระดาษ) "-ค" (ตัวปรับพิกัด) "วาล" (ค่าปริยาย) "-vvar1; War2", "-vvar1". (0,0:10,0:20) ". นี่มีประโยชน์เพราะ, ไม่มี ncdup มันยากที่จะรู้ว่ามีอะไร .nc . .nc mI หรือ .hdf แฟ้มที่ควรใช้สําหรับสร้าง Datates XMI. สําหรับ .nc แฟ้ม mI, นี่จะเป็นการพิมพ์ผลลัพธ์ของ ncdum สําหรับผลลัพธ์ของ .nc การเปลี่ยนแปลงแฟ้ม ml ที่ถูกปรับใช้กับส่วนเบื้องหลัง .nc หรือ .hdf แฟ้ม
ถอดรหัส
- ถอดรหัส เป็นโปรแกรมบรรทัดคําสั่งที่คุณสามารถใช้ได้หลังจากคุณได้สร้างความพยายามครั้งแรกที่ XML สําหรับข้อมูลชุดใหม่ใน datasets.xml . กับดาสดีส คุณสามารถทดสอบซ้ํา ๆ และปรับปรุง XML เมื่อคุณใช้โปรแกรมดาสดีส:
- บนวินโดวส์ ครั้งแรกที่คุณทํางาน Dassds คุณต้องแก้ไข DassDs แฟ้มค้างคาวที่มีเครื่องมือแก้ไขข้อความเพื่อเปลี่ยนพาธไปยังจาวา เพิ่มแฟ้ม Java .
- แดสดีสขอให้คุณสําหรับ datasetID สําหรับชุดข้อมูลที่คุณกําลังทําอยู่
- Dassds พยายามที่จะสร้างชุดข้อมูลด้วยที่ datasetID .
- แดสดีสมักจะพิมพ์ข้อความวิเคราะห์มากมาย ถ้าคุณใช้ "DasDads - verbose" DassDs จะพิมพ์ข้อความวิเคราะห์มากกว่าปกติ
- เพื่อความปลอดภัย dasds จะลบข้อมูลทั้งหมดที่เก็บข้อมูลไว้เสมอ (แฟ้ม) สําหรับชุดข้อมูล ก่อนที่จะพยายามสร้างชุดข้อมูล นี่ก็เหมือนกับการตั้ง a แฟล็กแข็ง ดังนั้น สําหรับชุดข้อมูลรวม คุณอาจต้องการปรับค่าแฟ้มที่มีชื่อใหม่ว่า Regex ชั่วคราว เพื่อจํากัดจํานวนของแฟ้มที่ตัวสร้างข้อมูลค้นหา
- หากชุดข้อมูลล้มเหลวในการโหลด (ไม่ว่าจะด้วยเหตุผลอะไรก็ตาม) dads จะหยุดและแสดงข้อความผิดพลาดสําหรับข้อผิดพลาดแรกที่มันพบ
อย่าพยายามเดานะว่าปัญหาคืออะไร อ่านจดหมายอย่างระวัง
ถ้า จําเป็น ให้ อ่าน ข้อ ความ ก่อน หน้า นี้ เพื่อ จะ พบ เบาะแส และ ข้อมูล มาก ขึ้น ด้วย. - ทําการเปลี่ยนแปลงข้อมูล XML ของข้อมูล เพื่อพยายามแก้ปัญหา
และปล่อยให้ดาสด์พยายามสร้างชุดข้อมูลอีกครั้ง - ถ้า คุณ แก้ ปัญหา แต่ ละ ข้อ ซ้ํา แล้ว ซ้ํา อีก ใน ที่ สุด คุณ จะ แก้ ปัญหา ทุก อย่าง
และชุดข้อมูลจะโหลด
- การแสดงผลแบบ DassDs ทั้งหมด (การ วินิจฉัย และ ผล) จะถูกเขียนไปยังหน้าจอและไปยัง เครื่อง มือ ขนาด ใหญ่ logs/Dinds.log.
- หาก Dassds สามารถสร้างชุดข้อมูล, Dassds แล้วจะแสดงให้คุณ . das (โครงสร้างของชุดข้อมูล) . IDs (ตัวถอดรหัสข้อมูล โครงสร้าง) และ . เวลา (ช่องว่างเวลา) ข้อมูลชุดข้อมูลบนหน้าจอของคุณ และเขียนไปยัง เครื่อง มือ ขนาด ใหญ่ logs/DADDs.out.
- บ่อยครั้งที่คุณต้องการจะทําการเปลี่ยนแปลงเล็กน้อยใน XML ของข้อมูล เพื่อทําความสะอาดข้อมูลกํากับภาพของชุดข้อมูล และทบทวนข้อมูล DassDs
โบนัส เครื่องมือส่วนที่สาม: ERDDAP - ลินต์
ERDDAP - ลินต์เป็นโปรแกรมจากร็อบ ฟูลเลอร์และอดัม ตะกั่วของสถาบันนาวิกโยธินไอริช ที่คุณสามารถใช้เพื่อปรับปรุงข้อมูลกํากับของคุณ ERDDAP™ ชุดข้อมูล ERDDAP - ลินต์ "ควบคุมกฏและโปรแกรมเว็บแบบคงที่ง่าย ๆ สําหรับดําเนินการทดสอบบางอย่างกับ ERDDAP™ เซิฟเวอร์ การทดสอบทั้งหมดจะทํางานในเว็บเบราว์เซอร์." เหมือน [เครื่องมือ Unix/ลินุกซ์ liint](https://en.wikipedia.org/wiki/Lint_(software) คุณสามารถแก้ไขกฏ หรือเพิ่มกฏใหม่ ดู ERDDAP - ลินต์ เพื่อข้อมูลเพิ่มเติม
เครื่องมือนี้มีประโยชน์โดยเฉพาะกับชุดข้อมูลที่คุณสร้างมาก่อนหน้านี้ และตอนนี้ต้องการเรียกข้อมูลให้ตรงกับค่าข้อมูลกํากับภาพของคุณ ตัว อย่าง เช่น ชุด ดาตา ชุด รุ่น แรก ๆ Xml ไม่ได้พยายามสร้างโลก creator\_name . creator\_email _ประเภท, ผู้สร้าง creator\_url ข้อมูลกํากับ คุณสามารถใช้ ERDDAP - ระบุชุดข้อมูล ที่ขาดคุณสมบัติของข้อมูลกํากับภาพ
ต้องขอบคุณร็อบและอดัมที่สร้างเครื่องมือนี้ขึ้นมา และทําให้มันว่างสําหรับ ERDDAP™ สังคม
โครงสร้างพื้นฐานของ datasets.xml แฟ้ม
อนุญาตให้ใช้ป้ายกํากับที่ต้องการและเลือกใน datasets.xml แฟ้ม (และจํานวนครั้งที่มันปรากฏขึ้น) จะแสดงด้านล่างนี้ ในการฝึกของคุณ datasets.xml จะมีมากมาย<ป้ายกํากับและใช้ป้ายกํากับอื่น ๆ ภายใน<ตามที่ต้องการ
<?xml version="1.0" encoding="ISO-8859-1" ?>
<erddapDatasets>
<angularDegreeUnits>...</angularDegreeUnits> <!-- 0 or 1 -->
<angularDegreeTrueUnits>...</angularDegreeTrueUnits> <!-- 0 or 1 -->
<cacheMinutes>...</cacheMinutes> <!-- 0 or 1 -->
<commonStandardNames>...</commonStandardNames> <!-- 0 or 1 -->
<convertInterpolateRequestCSVExample /> <!-- 0 or more -->
<convertInterpolateDatasetIDVariableList /> <!-- 0 or more -->
<convertToPublicSourceUrl /> <!-- 0 or more -->
<decompressedCacheMaxGB>...</decompressedCacheMaxGB> <!-- 0 or 1 -->
<decompressedCacheMaxMinutesOld>...</decompressedCacheMaxMinutesOld> <!-- 0 or 1 -->
<drawLandMask>...</drawLandMask> <!-- 0 or 1 -->
<emailDiagnosticsToErdData>...</emailDiagnosticsToErdData> <!-- 0 or 1 -->
<graphBackgroundColor>...</graphBackgroundColor> <!-- 0 or 1 -->
<ipAddressMaxRequests>...</ipAddressMaxRequests> <!-- 0 or 1 -->
<ipAddressMaxRequestsActive>...<ipAddressMaxRequestsActive> <!-- 0 or 1 -->
<ipAddressUnlimited>...<ipAddressUnlimited> <!-- 0 or 1 -->
<loadDatasetsMinMinutes>...</loadDatasetsMinMinutes> <!-- 0 or 1 -->
<loadDatasetsMaxMinutes>...</loadDatasetsMaxMinutes> <!-- 0 or 1 -->
<logLevel>...</logLevel> <!-- 0 or 1 -->
<nGridThreads>...</nGridThreads> <!-- 0 or 1 -->
<nTableThreads>...</nTableThreads> <!-- 0 or 1 -->
<palettes>...</palettes> <!-- 0 or 1 -->
<partialRequestMaxBytes>...</partialRequestMaxBytes> <!-- 0 or 1 -->
<partialRequestMaxCells>...</partialRequestMaxCells> <!-- 0 or 1 -->
<requestBlacklist>...</requestBlacklist> <!-- 0 or 1 -->
<slowDownTroubleMillis>...</slowDownTroubleMillis> <!-- 0 or 1 -->
<subscriptionEmailBlacklist>...</subscriptionEmailBlacklist> <!-- 0 or 1 -->
<unusualActivity>...</unusualActivity> <!-- 0 or 1 -->
<updateMaxEvents>...</updateMaxEvents> <!-- 0 or 1 --><standardLicense>...</standardLicense> <!-- 0 or 1 -->
<standardContact>...</standardContact> <!-- 0 or 1 -->
<standardDataLicenses>...</standardDataLicenses> <!-- 0 or 1 -->
<standardDisclaimerOfEndorsement>...</standardDisclaimerOfEndorsement> <!-- 0 or 1 -->
<standardDisclaimerOfExternalLinks>...</standardDisclaimerOfExternalLinks> <!-- 0 or 1 -->
<standardGeneralDisclaimer>...</standardGeneralDisclaimer> <!-- 0 or 1 -->
<standardPrivacyPolicy>...</standardPrivacyPolicy> <!-- 0 or 1 -->
<startHeadHtml5>...</startHeadHtml5> <!-- 0 or 1 -->
<startBodyHtml5>...</startBodyHtml5> <!-- 0 or 1 -->
<theShortDescriptionHtml>...</theShortDescriptionHtml> <!-- 0 or 1 -->
<endBodyHtml5>...</endBodyHtml5> <!-- 0 or 1 --><user username="..." password="..." roles="..." /> <!-- 0 or more -->
<dataset>...</dataset> <!-- 1 or more -->
</erddapDatasets>
มันเป็นไปได้ที่รหัสอื่น ๆ จะได้รับอนุญาตในอนาคต แต่สําหรับตอนนี้มีเพียง ISO-8859-1
ไม่รวม
สร้างใหม่ในเวอร์ชัน 2.25 สนับสนุน XInclude คุณต้องใช้เครื่องวิเคราะห์ของ SAX<ใช้ Sax Passer) จริง<ในการตั้งค่าของคุณ.xml ให้คุณได้เขียนข้อมูลแต่ละชุดลงในแฟ้มของมันเอง แล้วรวมทั้งหมดไว้ในหลัก datasets.xml ค่านิยามชุดข้อมูลซ้ํา หรือทั้งคู่ ถ้าคุณอยากเห็นตัวอย่าง DDTestDatatet.java ตั้งค่า XInclude เพื่อใช้นิยามตัวแปรใหม่
บันทึกย่อ
ทํางานกับ datasets.xml แฟ้มเป็นโครงงานที่ไม่ใช่แบบพากย์ โปรด อ่าน บันทึก เหล่า นี้ อย่าง ถี่ถ้วน. หลังจากที่คุณเลือก ประเภทชุดข้อมูล โปรดอ่านรายละเอียดอย่างละเอียด
เลือกประเภทชุดข้อมูล
ใน กรณี ส่วน ใหญ่ มี เพียง คน เดียว ERDDAP™ ประเภทชุดข้อมูล ที่เหมาะกับแหล่งข้อมูลที่กําหนด ในบางกรณี (อี.จี. .nc แฟ้ม) มีความเป็นไปได้ไม่กี่อย่าง แต่ปกติหนึ่งในนั้นจะดีที่สุดแน่นอน การตัดสินใจแรกและที่ใหญ่ที่สุดที่คุณต้องทํา คือ: การปฏิบัติต่อชุดข้อมูล เป็นกลุ่มของอาร์เรย์หลายมิติ (ถ้าได้เห็น EDDGrid ประเภทชุดข้อมูล ) หรือเป็นตารางข้อมูลแบบฐานข้อมูล (ถ้าได้เห็น ประเภทชุดข้อมูล EDTable ) .
รับ ใช้ ใน ฐานะ ที่ เป็น ผู้ รับ ใช้
โดยทั่วไป ไม่จําเป็นต้องแก้ไขแหล่งข้อมูล (เช่น, แปลงแฟ้มเป็นแฟ้มอื่น) ดังนั้น ERDDAP™ เสิร์ฟได้ หนึ่งในข้อสันนิษฐานของ ERDDAP™ คือแหล่งข้อมูลที่จะใช้ ปกติมันก็ดี ข้อยกเว้นบางประการคือ:
- ฐาน ข้อมูล การ กลับ ชาติ และ คาส ซาน -- ERDDAP™ สามารถให้ข้อมูลโดยตรง จากฐานข้อมูลความสัมพันธ์ และคาสเซนดร้า แต่สําหรับความปลอดภัย, การโหลดสมดุล, และปัญหาการทํางาน คุณอาจจะเลือกติดตั้งฐานข้อมูลอื่น ด้วยข้อมูลเดียวกัน หรือบันทึกข้อมูลไป NetCDF v3 .nc แฟ้มและมี ERDDAP™ รับข้อมูลจากแหล่งข้อมูลใหม่ ดู เพิ่มข้อมูล ถึง EDTable from Cassandra .
- ไม่สนับสนุนแหล่งข้อมูล -- ERDDAP™ สามารถรองรับแหล่งข้อมูลจํานวนมาก แต่โลกเต็มไปด้วย 1000 (ล้านเหรอ?) ของแหล่งข้อมูลต่าง ๆ (โดยเฉพาะโครงสร้างแฟ้มข้อมูล) . ถ้า ERDDAP™ ไม่สนับสนุนแหล่งข้อมูลของคุณ:
- ถ้าแหล่งข้อมูล NetCDF .nc แฟ้ม, คุณสามารถใช้ได้ ขนาด NcML เพื่อแก้ไขแฟ้มข้อมูลเมื่อ-the-fly หรือใช้ NCO แก้ไขแฟ้มข้อมูลอย่างถาวร
- คุณสามารถเขียนข้อมูลไปยังชนิดของแหล่งข้อมูล ERDDAP™ สนับสนุน NetCDF -3 .nc ไฟล์เป็นเอกสารที่ดี, แนะนําทั่วไปเนื่องจากเป็นแฟ้มไบนารีที่ ERDDAP™ อ่านได้เร็วมาก สําหรับข้อมูลแท็บลาร์ ให้พิจารณาการเก็บข้อมูลในคลัง .nc แฟ้มที่ใช้ CF แว่นขยาย (แบบ DSG) โครง สร้าง ข้อมูล ของ อาร์เรย์ อย่าง ต่อ เนื่อง และ สามารถ จัด การ ได้ ERDDAP ' แฟ้ม DDTable จาก NCF ) ถ้าพวกเขาถูกจัดการตามหลักเหตุผล (แต่ละด้วยข้อมูลสําหรับชิ้นส่วนของพื้นที่และเวลา) . ERDDAP™ สามารถดึงข้อมูลจากพวกมันได้อย่างรวดเร็ว
- คุณสามารถร้องขอการรองรับแหล่งข้อมูลดังกล่าวได้ ERDDAP™ โดยอีเมลหาคริส จอห์นที่โนอา โกฟ
- คุณสามารถเพิ่มการสนับสนุนสําหรับแหล่งข้อมูลที่ โดยการเขียนรหัสที่จะจัดการด้วยตัวคุณเอง ดู คือ ERDDAP™ คู่มือโปรแกรม
- ความเร็ว ERDDAP™ สามารถอ่านข้อมูลจากบางแหล่งข้อมูล ได้เร็วกว่าคนอื่น ยกตัวอย่างเช่น การอ่าน NetCDF v3 .nc แฟ้มเร็วและอ่านไฟล์ ASCII ช้า และถ้ามีขนาดใหญ่ (>1000) หรือตัวใหญ่ (> 10,000 คน) จํานวนของแฟ้มแหล่ง ERDDAP™ จะตอบสนองความต้องการข้อมูลอย่างช้า ๆ โดยปกติแล้ว ความแตกต่างนั้นไม่มีใครสังเกตเห็น อย่างไรก็ตาม ถ้าคุณคิดว่า ERDDAP™ จะช้าสําหรับชุดข้อมูลที่กําหนด คุณอาจจะเลือกที่จะแก้ปัญหาด้วยการเขียนข้อมูลไปยังการตั้งค่าที่มีประสิทธิภาพมากขึ้น (โดยปกติแล้ว มีโครงสร้างดีสองสามอย่าง NetCDF v3 .nc แฟ้ม) . สําหรับข้อมูลรอบนอก ดู คําแนะนํานี้ .
ความเข้มสี
บ่อยครั้งที่ง่ายต่อการสร้าง XML สําหรับข้อมูลชุด โดยทําสําเนาของชุดข้อมูลที่ทํางาน ในชุดข้อมูล xml แล้วแก้ไขข้อมูล
ชุดรหัสอักขระพิเศษ
ตั้งแต่ datasets.xml เป็นแฟ้ม XML, คุณกําหนด โค้ด "&"<"และ""" ในเนื้อหาใด ๆ "&","<"และ ">". ผิด:<ชื่อเพลง: เวลา</ คําบรรยาย) ขวา:<ชื่อเพลง: เวลา & amp;</ คําบรรยาย)
XML ไม่อดทนกับข้อผิดพลาดในไวยากรณ์
หลังจากที่คุณแก้ไขชุดข้อมูล.xml file, มันเป็นความคิดที่ดีที่จะตรวจสอบว่าผลลัพธ์คืออะไร XML แบบมีฟอร์มดี โดยการวางข้อความ XML เป็นตัวตรวจสอบ XML เช่น การปรับแนวแกน x .
ข้อ แนะ ใน การ แก้ ปัญหา
- วิธี อื่น ๆ ที่ จะ แก้ ปัญหา ด้วย ชุด ข้อมูล
นอกจากสองหลัก เครื่องมือ . - ปูมบันทึก. txt เป็นแฟ้มปูมบันทึกที่มีทั้งหมด ERDDAP การวินิจฉัยข้อความ
- เดอะ รายงานรายวัน มีข้อมูลมากกว่าหน้าสถานะ รวมทั้งรายการชุดข้อมูลที่ไม่ได้โหลดและยกเว้น (ผิดพลาด) พวกเขาสร้างขึ้น
- เดอะ หน้าสถานะ เป็นวิธีที่รวดเร็วที่จะตรวจสอบ ERDDAP สถานะของเว็บเบราว์เซอร์ใด ๆ มันรวมรายการชุดข้อมูลที่ไม่ได้โหลด (แม้ว่าจะไม่ใช่ข้อยกเว้น) และงานที่อ่านสถิติ (แสดงความก้าวหน้าของ EDDGrid คัดลอก ถึง โปรแกรมคัดลอก DDTable ชุดข้อมูลและอื่น ๆ EDDGrid จากแฟ้ม หรือ เลือกแฟ้ม ชุดข้อมูลที่จะใช้ แคชจากUrl (แต่ไม่ใช่แคช ขนาด GB) ) .
- ถ้าคุณติดอยู่ เห็นเรา ส่วนของการได้รับการสนับสนุนเพิ่มเติม .
ตัวแปรพิเศษ
- ** ลองจิจูด, ละติจูด, ระดับความสูง, ความ ลึก, ความ ดัน, และ เวลา (แลป) ตัวแปร destinationName เอสมันพิเศษ**
- โดยทั่วไปแล้ว:
- ตัวแปร LLAT ถูกทําให้รู้จัก ERDDAP™ หากตัวแปรแกน (สําหรับ EDDGrid ชุดข้อมูล) หรือตัวแปรข้อมูล (สําหรับชุดข้อมูล EDTable) destinationName คือ "ลองติจูด", "เส้นผ่าศูนย์กลาง", "เส้นรุ้ง", หรือ "time" .
- เราแนะนําให้คุณใช้ชื่อมาตรฐานเหล่านี้ สําหรับตัวแปรเหล่านี้เมื่อใดก็ตามที่เป็นไปได้ ไม่ มี ข้อ เรียก ร้อง เลย. ถ้าคุณไม่ใช้ชื่อตัวแปรพิเศษนี้ ERDDAP™ ไม่ตระหนักถึงความสําคัญของมัน ตัว อย่าง เช่น มี การ ปฏิบัติ ต่อ ตัวแปร ต่าง ๆ เป็น พิเศษ โดย ทํา กราฟ ( * datasetID * ลายเซ็น) ตัวแปร X Axis คือ "เส้นแวง" และตัวแปร Y Axis คือ "เส้นรุ้ง" คุณจะได้แผนที่ (ใช้การคาดการณ์มาตรฐาน และด้วยหน้ากากที่ดิน ขอบเขตการเมือง ฯลฯ) แทนที่จะเป็นกราฟ
- ERDDAP™ จะเพิ่มข้อมูลกํากับภาพไปยังตัวแปร LLAT โดยอัตโนมัติ (ยกตัวอย่างเช่น ioos\_category "" หน่วย "และคุณลักษณะที่เกี่ยวข้องกับมาตรฐานเช่น "/_คอมโพสิทอะซิส") .
- ERDDAP™ จะทําโดยอัตโนมัติ, บน- แมลงวัน, เพิ่มข้อมูลกํากับภาพทั่วไปจํานวนมากที่เกี่ยวข้องกับ LLAT ของสับเซตข้อมูลที่เลือกไว้ (ตัวอย่างเช่น "geospatial\ lon_in") .
- ลูกค้าที่สนับสนุนมาตรฐานข้อมูลกํากับภาพเหล่านี้ จะสามารถใช้ประโยชน์จากข้อมูลกํากับที่เพิ่มมาอยู่ในตําแหน่งของข้อมูล ในเวลาและพื้นที่
- ลูกค้าจะพบว่าง่ายต่อการสร้าง query ที่รวมตัวแปร LLAT เพราะชื่อของตัวแปรจะเหมือนกัน ในชุดข้อมูลที่เกี่ยวข้องทั้งหมด
- สําหรับตัวแปร "ลองติจูด" และตัวแปร "เส้นรุ้ง":
- ใช้ destinationName s "ลองติจูด" และ "เส้นรุ้ง" ก็ต่อเมื่อ หน่วย เป็นองศา/องศาตะวันออก//องศา, ตามตามลําดับ ถ้าข้อมูลของคุณไม่ตรงกับความต้องการเหล่านี้ ให้ใช้ชื่อตัวแปรที่แตกต่างกัน (ตัวอย่างเช่น, x, y, ลอนเรเดียน, แลตเรเดียน) .
- หากคุณมีข้อมูล ลองจิจูด และละติจูด ที่แสดงในหน่วยที่แตกต่างกัน จึงแตกต่างกัน destinationName ตัว อย่าง เช่น ลอน รา เดีย น และ เลต รา เดีย น ทํา กราฟ ( * datasetID * ลายเซ็น) จะสร้างกราฟ (ยกตัวอย่างเช่น วงจรเวลา) แทนแผนที่
- สําหรับตัวแปร "ความเสมอภาค", "ความแน่นอน", หรือ "ความตาย":
- ใช้ destinationName "ตําแหน่ง" เพื่อระบุระยะห่างของข้อมูลเหนือระดับน้ําทะเล (ค่าบวก="Up") . ตัวเลือกก็คือ คุณอาจใช้คําว่า "เส้นรุ้ง" สําหรับระยะใต้ระดับน้ําทะเล ถ้าค่านั้นเป็นลบใต้ทะเล (หรือถ้าคุณใช้, ตัวอย่างเช่น [<at name=" scale\_factor "ประเภท=" Int"- 1<at] (# ตัวประกอบ #) แปลงค่าความลึกเป็นค่าระดับความสูง
- ใช้ destinationName "ข้าม" เพื่อระบุระยะห่างของข้อมูลใต้ระดับน้ําทะเล (ค่าบวก= "ลง") .
- ทาง เลือก สําหรับ ความ สูง ที่ กําหนด โดย ระดับ ความ ดัน อากาศ (เช่น ไอโซโทป ) คุณควรจะตั้ง destinationName เพื่อ "ความกดดัน" นี่รองรับหน่วยใน "hpa", "Pa", "mbar" (ค่าบวก= "ลง") .
- ข้อมูลชุดอาจจะมีแค่ตัวแปรเดียว คือ "ความกดอากาศ" หรือ "ความกดอากาศ"
- สําหรับตัวแปร "alative" และ "depth" หน่วย ต้องเป็น "m", "เมตร", หรือ "เมตร" ถ้าหน่วยแตกต่างกัน (ยกตัวอย่างเช่น ความเข้าใจ) คุณสามารถใช้ [<at name=" scale\_factor ""-- บาง ค่า <at] (# ตัวประกอบ #) และ<ชื่อ AT= "หน่วย"<at] (หน่วย) เพื่อแปลงหน่วยเป็นเมตร.
- ถ้าข้อมูลของคุณไม่ตรงกับความต้องการเหล่านี้ ใช้อีก destinationName (ยกตัวอย่างเช่น เหนือเส้นขอบฟ้า ระยะทาง To Bottom) .
- หากคุณทราบ CRS แนวตั้ง โปรดระบุมันในข้อมูลกํากับภาพ เช่น "PESG: 5829" (ความสูงชั่วขณะเหนือระดับน้ําทะเล) "PESG:5831". (ความลึกชั่วขณะใต้ระดับน้ําทะเล) หรือ "PESG: 5703" (ความสูงของ NAVD88) .
- สําหรับ "time" ตัวแปร:
- ใช้ destinationName "time" สําหรับตัวแปรที่รวมวันที่ทั้งหมด+เวลา (หรือวันที่ ถ้านั่นคือทั้งหมด) . ตัวอย่างเช่น หากมีคอลัมน์ที่แยกกัน สําหรับวันที่และเวลาดูเดิล อย่าใช้ชื่อตัวแปร "time" .
- ดู หน่วย สําหรับข้อมูลเกี่ยวกับคุณสมบัติของหน่วยสําหรับเวลาและเวลา
- ตัวแปรเวลาและความสัมพันธ์ เวลา ตัวแปรสแตมป์ มีเอกลักษณ์ในการเปลี่ยนค่าข้อมูลจากรูปแบบของเวลา (ไม่ว่ามันคืออะไร) เป็นค่าตัวเลข (วินาทีตั้งแต่ 1970-01-01.00.00:00Z) หรือค่าข้อความ (ISO 8601: 2004 (E) รูปแบบ) ขึ้นอยู่กับสถานการณ์
- เมื่อผู้ใช้ร้องขอข้อมูลเวลา พวกเขาสามารถร้องขอมันได้ โดยการระบุเวลาเป็นตัวเลข (วินาทีตั้งแต่ 1970-01-01.00.00:00Z) หรือค่าข้อความ (ISO 8601: 2004 (E) รูปแบบ) .
- ERDDAP™ มีสิ่งอํานวยความสะดวก แปลงตัวเลข เวลาเข้า/ จากเวลาสตริง .
- ดู ยังไง ERDDAP จัดการกับเวลา .
ทําไม แค่ ข้อมูล พื้น ฐาน สอง อย่าง?
- เนื่องจากมันเป็นเรื่องยากสําหรับลูกค้ามนุษย์และลูกค้าคอมพิวเตอร์ ที่จะจัดการกับชุดที่ซับซ้อนของโครงสร้างข้อมูลที่เป็นไปได้ ERDDAP™ ใช้แค่โครงสร้างพื้นฐานสองแบบ
- คือ โครงสร้างข้อมูลแบบฝังตัว (ยกตัวอย่างเช่น สําหรับข้อมูลดาวเทียมและข้อมูลต้นแบบ) ถึง
- คือ โครงสร้างแท็บ (ยกตัวอย่างเช่น สําหรับผ้าปูที่นอน, สถานี, และข้อมูลวิถี) .
- แน่นอน ไม่ ใช่ ข้อมูล ทุก อย่าง ที่ สามารถ แสดง ออก ได้ ใน โครง สร้าง เหล่า นี้ แต่ เป็น ข้อมูล ส่วน ใหญ่ ที่ ทํา ได้. โดยเฉพาะตาราง เป็นโครงสร้างข้อมูลที่ยืดหยุ่นมาก (ดูความสําเร็จของโปรแกรมฐานข้อมูลความสัมพันธ์) .
- นี่ทําให้ข้อมูลสร้างง่ายขึ้น
- นี้จะทําให้การตอบรับข้อมูลมีโครงสร้างที่เรียบง่าย ซึ่งทําให้มันง่ายต่อการให้บริการข้อมูล ในความหลากหลายกว้างของชนิดแฟ้มมาตรฐาน (ซึ่งมักรองรับโครงสร้างข้อมูลพื้นฐาน) . นี่คือเหตุผลหลักที่เราตั้ง ERDDAP™ ทางนี้
- นี่ทําให้มันง่ายสําหรับเรา (หรือใครก็ตาม) เพื่อเขียนซอฟต์แวร์สําหรับลูกค้าซึ่งใช้ได้กับทั้งหมด ERDDAP™ ชุดข้อมูล
- นี่ ทํา ให้ ง่าย ขึ้น ที่ จะ เทียบ ข้อมูล จาก แหล่ง ต่าง ๆ.
- เราตระหนักดีว่าถ้าคุณเคยทํางานกับข้อมูล ในโครงสร้างข้อมูลอื่น ๆ คุณอาจคิดว่าวิธีการนี้ เล็กน้อยหรือไม่เพียงพอ แต่โครงสร้างข้อมูลทั้งหมด มีการแลกเปลี่ยน ไม่มีใครสมบูรณ์แบบ แม้แต่โครงสร้างที่ทําได้ก็มีข้อเสีย: การทํางานกับมันมีความซับซ้อน และไฟล์สามารถถูกเขียนหรืออ่านได้อย่างเดียว ถ้าคุณยอมรับ ERDDAP 'ใกล้พอที่จะพยายามทํางานกับมันคุณอาจพบว่ามันมีข้อดีของมัน (การรองรับแฟ้มหลายประเภทที่สามารถคงการตอบรับข้อมูลได้) . เดอะ ERDDAP™ แสดงภาพนิ่ง (โดยเฉพาะ ภาพนิ่งโครงสร้างข้อมูล ) พูดมากเกี่ยวกับปัญหาเหล่านี้
- และแม้ว่าวิธีการนี้ฟังดูแปลกสําหรับคุณ ERDDAP™ ลูกค้าจะไม่สังเกตเห็น -- พวกเขาจะแค่เห็นว่าชุดข้อมูลทั้งหมด มีโครงสร้างที่เรียบง่ายดี และพวกเขาจะรู้สึกขอบคุณ
ขนาด
-
ถ้าตัวแปรตารางในข้อมูลแหล่ง ไม่ใช้ตัวแปรแกนเดียวกัน?
ใน EDDGrid ชุดข้อมูล, ตัวแปรข้อมูลทั้งหมดต้องถูกใช้ (หุ้น) ตัวแปรแกนทั้งหมด ดังนั้นหากชุดข้อมูลแหล่งมีตัวแปรที่มี ชุดของมิติหนึ่ง และตัวแปรอื่น ๆ ที่มีชุดของมิติที่แตกต่างกัน ERDDAP . ตัวอย่างเช่น คุณอาจทํา ERDDAP™ ชุดข้อมูลชื่อ "บางชื่อเพลง (ที่พื้นผิว) เพื่อเก็บตัวแปรที่ใช้ \[ เวลา \] \[ เส้นรุ้ง \] \[ เส้นแวง \] ขนาดและสร้างอีก ERDDAP™ ชุดข้อมูลชื่อ "บางชื่อเพลง (ในส่วนลึก) เพื่อเก็บตัวแปรที่ใช้ \[ เวลา \] \[ ระดับความสูง \] \[ เส้นรุ้ง \] \[ เส้นแวง \] . หรือบางทีคุณอาจจะเปลี่ยนแหล่งข้อมูล เพื่อเพิ่มมิติที่มีค่าเดียว (ยกตัวอย่างเช่น ความสูง=0) เพื่อให้ตัวแปรสอดคล้องกันERDDAP™ ไม่ต้องใช้ชุดข้อมูลที่ซับซ้อนกว่านี้ (ตัวอย่างเช่น แบบจําลองที่ใช้เมชของสามเหลี่ยม) ดี คุณสามารถให้บริการชุดข้อมูลเหล่านี้ใน ERDDAP™ โดยการสร้างชุดข้อมูลสองชุดหรือมากกว่า ERDDAP™ (เพื่อให้ตัวแปรข้อมูลทั้งหมดในชุดข้อมูลใหม่ มีชุดตัวแปรแกนเดียวกัน) แต่นั่นไม่ใช่สิ่งที่ผู้ใช้ต้องการ สําหรับชุดข้อมูลบางชุด คุณอาจพิจารณาทําชุดข้อมูลแบบธรรมดา และนําเสนอที่นอกเหนือจากข้อมูลต้นฉบับ โปรแกรมลูกความบางคน สามารถจัดการได้เฉพาะกับตารางปกติ ดังนั้นด้วยการทําเช่นนี้ คุณเข้าถึงลูกค้าเพิ่ม
การแปลงข้อมูล
ข้อมูลที่ถูกย่างบางอัน มีโครงสร้างที่ซับซ้อน ยกตัวอย่างเช่น ดาวเทียมระดับ 2 ("รางรถไฟ") ข้อมูลไม่ได้ใช้โปรเจคชันง่ายๆ รุ่น (และคนอื่นๆ) มักจะทํางานกับข้อมูล การประมาณการต่าง ๆ ที่ไม่ใช่แบบไซโคลน (ยกตัวอย่างเช่น conic, porigraphic, riadolor) หรือในตารางที่ไม่มีโครงสร้าง (โครงสร้างข้อมูลที่ซับซ้อนขึ้น) . ผู้ใช้บางรายต้องการข้อมูลนี้เช่นกัน จึงไม่มีการสูญเสียข้อมูล สําหรับลูกค้าเหล่านั้น ERDDAP™ สามารถให้บริการข้อมูลเช่นเป็น ก็ต่อเมื่อ ERDDAP™ ผู้ดูแลระบบแบ่งชุดข้อมูลต้นฉบับเป็นชุดข้อมูลไม่กี่ชุด โดยแต่ละส่วนรวมถึงตัวแปร ซึ่งใช้ตัวแปรแกนเดียวกัน ใช่ นั่นดูแปลกสําหรับคนที่เกี่ยวข้อง และมันแตกต่างจากส่วนใหญ่ OPeNDAP เซิฟเวอร์ แต่ ERDDAP™ เน้นทําให้ข้อมูลมีอยู่ในหลายรูปแบบ มันเป็นไปได้เพราะ ERDDAP™ ใช้/ตรวจสอบโครงสร้างของข้อมูล ถึงแม้ว่ามันจะอึดอัดนิดหน่อย (แตกต่างไปจากที่คาดไว้) . ERDDAP™ สามารถแจกจ่ายข้อมูลที่มีโครงการ
\[ ใช่ ERDDAP™ อาจมีความต้องการแบบหลวมสําหรับโครงสร้างข้อมูล แต่ต้องรักษาความต้องการสําหรับรูปแบบผลลัพธ์ แต่นั้นจะนําไปสู่ความสับสนในหมู่ผู้ใช้หลายคน โดยเฉพาะมือใหม่ เนื่องจากหลาย ๆ คนดูเหมือนจะร้องขอข้อมูล เรากลับมาที่ระบบออกแบบในปัจจุบัน \]
ผู้ใช้บางรายต้องการข้อมูลในการฉายภาพแบบ Lat Cylindric เช่น Equirectangar / Table Carré หรือ MERD) เพื่อความสะดวก ในสถานการณ์ที่แตกต่างกัน สําหรับสถานการณ์เหล่านี้ เราสนับสนุน ERDDAP™ ผู้ดูแลระบบที่จะใช้โปรแกรมอื่น ๆ ( NCO ? Matlab ? อาร์? IDV? ...?) เพื่อเพิ่มข้อมูลไปยังภูมิศาสตร์อีกครั้ง (เอควิเรกทาเนชันแนล / คาร์เรสจาน) หรือโปรเจคชันทางธรณีวิทยาอื่น ๆ และให้บริการในรูปแบบของข้อมูลใน ERDDAP™ เป็นชุดข้อมูลที่แตกต่าง สิ่งนี้คล้ายกับสิ่งที่คนทํา เมื่อพวกเขาแปลงข้อมูลดาวเทียมระดับ 2 เป็นข้อมูลระดับ 3 มีเครื่องมือหนึ่ง NCO ซึ่งจะเสนอตัวเลือกเพิ่มเติมสําหรับการปรับเทียบข้อมูล
ข้อมูลการฉีดข้อมูล GIS และ reprocation
เนื่อง จาก โลก ของ จี ไอ เอส มัก จะ มี การ ทํา แผนที่ โปรแกรม จี ไอ เอส จึง มัก จะ ให้ การ สนับสนุน ใน การ ฉีด ข้อมูล ใหม่ ๆ, ไอ.
ตอนนี้ ERDDAP™ ไม่มีเครื่องมือที่จะแก้ไขข้อมูล เราขอแนะนําให้คุณใช้เครื่องมือภายนอกในการสร้างชุดข้อมูล โดยข้อมูลได้ถูกแยกออกจากรูปเดิมเป็นสี่เหลี่ยม (เส้นแวงละติจูด) เรียงลําดับที่เหมาะสมสําหรับ ERDDAP .
ในความคิดของเรา CF / DAP โลกนี้ต่างจากโลกของจีไอเอสเล็กน้อย และทํางานในระดับที่ต่ํากว่าเล็กน้อย ERDDAP™ สะท้อนออกมา โดยทั่วไปแล้ว ERDDAP™ ถูกออกแบบมาให้ทํางานกับข้อมูล (ไม่มีแผนที่) และไม่อยากเปลี่ยน (e.g., reprject) ข้อมูลนั่น สําหรับ ERDDAP™ ข้อมูลจาก gripped มักจะ/ โดยทั่วไปแล้ว เกี่ยวข้องกับค่าของ Lat lon และโปรเจคชันไซลินโดรติก และไม่ใช่ค่า x,y อย่างไรก็ตาม ERDDAP™ ไม่ได้ทําอะไรกับการคาดการณ์ของข้อมูล, มันเพียงแค่ส่งผ่านข้อมูล, เช่น กับการคาดการณ์ในปัจจุบันของทฤษฎีที่ ERDDAP™ ไม่อยากเกี่ยวข้องกับการเปลี่ยนแปลงที่สําคัญ นอกจากนี้ ผู้ใช้ที่ตามมาอาจจะกล่าวซ้ําข้อมูลอย่างไร้เดียงสาอีกครั้ง ซึ่งจะไม่ดีพอเท่ากับการขอถอนคะแนนเพียงครั้งเดียว (แล้วถ้า ERDDAP™ ผู้ดูแลระบบต้องการนําเสนอข้อมูลในการนําเสนอภาพอื่น ๆ ได้ เพียงแค่เพิ่มข้อมูลในออฟไลน์ และนําเสนอที่เป็นชุดข้อมูลที่แตกต่างกันใน ERDDAP . จํานวนมากของชุดข้อมูลดาวเทียมถูกเสนอเป็น สิ่งที่นาซาเรียกว่าระดับ 2 (หยุดชั่วคราว) และระดับ 3 (โปรเจคชันเชิงอเนกประสงค์) รุ่น) เมื่อ ERDDAP™ สร้างแผนที่ (โดยตรงหรือผ่านทาง WMS หรือ KML) . ERDDAP™ ปัจจุบัน มี เพียง การ เสนอ ที่ จะ ทํา แผนที่ ด้วย การ วาง แผน ล่วง หน้า แบบ เอ ค รี เรก ติก / แผ่น จาน ซึ่ง เป็น ที่ ยอม รับ โดย โครงการ ทํา แผนที่ ส่วน ใหญ่.
เราสนับสนุน ERDDAP™ ผู้ดูแลระบบที่จะใช้โปรแกรมอื่น ๆ ( NCO ? Matlab ? อาร์? IDV? ...?) เพื่อเพิ่มข้อมูลไปยังภูมิศาสตร์อีกครั้ง (เอควิเรกทาเนชันแนล / คาร์เรสจาน) หรือโปรเจคชันทางธรณีวิทยาอื่น ๆ และให้บริการในรูปแบบของข้อมูลใน ERDDAP™ เป็นชุดข้อมูลที่แตกต่าง สิ่งนี้คล้ายกับสิ่งที่คนทํา เมื่อพวกเขาแปลงข้อมูลดาวเทียมระดับ 2 เป็นข้อมูลระดับ 3 มีเครื่องมือหนึ่ง NCO ซึ่งจะเสนอตัวเลือกเพิ่มเติมสําหรับการปรับเทียบข้อมูล
เราหวังว่า ERDDAP™ จะมีการสร้างเครื่องมือในการนําเสนอแผนที่ กับโปรเจคชันอื่น ๆ ในอนาคต นอกจากนี้เรายังหวังว่าจะมีการเชื่อมต่อกับ GIS โลกในอนาคต (นอกจากปัจจุบัน WMS บริการ) . มันน่ากลัวที่ในโลกของ "โมเดิร์น" นี้ เชื่อมโยงระหว่าง CF/ DAP โลกและจีไอเอสยังอ่อนแอ ทั้ง 2 อย่างอยู่ในลิสต์ (ถ้าคุณอยากช่วย, โดดเด่นในการเชื่อมโยง ERDDAP™ ที่ Map Server โปรดส่งอีเมล จอห์นที่โนอา โกฟ)
ชนิดของข้อมูล
ERDDAP™ รองรับชนิดของข้อมูลต่อไปนี้ (ชื่อมันอ่อนไหว 'u' ส่วนนําหน้า หมายถึง "ไม่มีการเซ็น" จํานวนของชื่อในระบบอื่น ๆ คือจํานวนบิต) .
ไบต์
- ไบต์ ได้ ลง นาม ใน เลข จํานวนเต็ม ซึ่ง มี ช่วง เวลา ประมาณ -128 ถึง 127. ในระบบอื่น ๆ นี้บางครั้งเรียกว่า Int8 นี่เรียกว่า "ไทนินท์" โดย เอสคิวแอล และ คาสเซนดร้า ERDDAP™ แปลง บูเลียน จากบางแหล่ง (อี. จี., เอสคิวแอล และ คาสเซนดร้า) ไบต์เข้า ERDDAP™ ด้วยค่า 0=เท็จ, 1 = true, และ 127= missing\_value .
ubyte
- ubyte มีจํานวนเต็มบวกที่มีช่วง 0 ถึง 255 ในระบบอื่น ๆ นี้บางครั้งเรียกว่า UNT8
สั้น
- สั้น ได้เซ็นรับรองค่าจํานวนเต็ม ด้วยช่วง -32768 ถึง 32767. ในระบบอื่น ๆ นี้บางครั้งเรียกว่า Int16 นี่เรียกว่า สมอลลินต์ โดย เอสคิวแอล และ คาสซานดร้า
ปกติ
- ปกติ มีจํานวนเต็มบวก มีช่วง 0 ถึง 65535 ในระบบอื่น ๆ นี้บางครั้งเรียกว่าอุลต16
อินท
- อินท ได้ลงนามในค่าจํานวนเต็ม ด้วยช่วง -2147483648 ถึง 2147483647. ในระบบอื่น ๆ นี้บางครั้งเรียกว่า Int32 นี่เรียกว่า Interger | ตัวเลข (?) "โดย เอสคิวแอล และ Int" โดย คาสเซนดร้า
หมึก
- หมึก มีจํานวนเต็มบวก มีช่วง 0 ถึง 4294967295 ในระบบอื่น ๆ นี้บางครั้งเรียกว่า ยูนท32
ยาว
- ยาว ได้ลงนามในค่าจํานวนเต็ม ด้วยช่วง -92233 7,368547808 ถึง 922337368575807. ในระบบอื่น ๆ นี้บางครั้งเรียกว่า Int64 นี่เรียกว่า "บิ๊กอินท์ | ตัวเลข (?) "โดย เอสคิวแอล และ "บิ๊กอินท์" โดย คาสเซนดร้า เพราะแฟ้มหลายประเภท ไม่สนับสนุนข้อมูลระยะยาว การใช้แฟ้มจึงถูกยกเลิก เมื่อ เป็น ไป ได้ ให้ ใช้ สอง หน้า แทน (ดูด้านล่าง) .
ยาว
- ยาว มีค่าจํานวนเต็มมีช่วง 0 ถึง 184467743709551615 ในระบบอื่น ๆ นี้บางครั้งเรียกว่าอุนท์64 เนื่องจากแฟ้มหลายประเภท ไม่สนับสนุนข้อมูลยาว, การใช้แฟ้มจึงถูกยกเลิก เมื่อ เป็น ไป ได้ ให้ ใช้ สอง หน้า แทน (ดูด้านล่าง) .
ลอย
- ลอย เป็น IEEE 754 ลอยที่มีช่วงประมาณ +/-3.40283466E+38. ในระบบอื่น ๆ นี้บางครั้งเรียกว่าลอย นี่เรียกว่า "เรียล | ลอย (?) | ทศนิยม (?) | ตัวเลข (?) "โดย SQL และ "float" โดย คาสเซนดร้า ค่าพิเศษของ NN หมายถึง Not-a-count ERDDAP™ แปลงค่าบวกและลบอนันต์เป็น NN
หมู่
- หมู่ IEEE 754 สองเท่า โดยมีช่วงประมาณ +/- 1.7976931348623157E+308. ในระบบอื่น ๆ นี้บางครั้งเรียกว่าลอย64 นี่เรียกว่า "ความแม่นยําเชิงสถิติ" | ลอย (?) | ทศนิยม (?) | ตัวเลข (?) "โดย เอสคิวแอล และ "โร้ด" โดย คาสเซนดร้า ค่าพิเศษของ NN หมายถึง Not-a-count ERDDAP™ แปลงค่าบวกและลบอนันต์เป็น NN
ค่า
- ค่า เป็นซิงเกิล, 2 คูณ (16 บิต) อักขระยูนิโค้ด UCS-2 จาก \u0000 (0) ผ่าน \uffff (26535) . \uffff นิยามของคําว่า Not-a-character, เทียบเท่ากับค่าคู่ของ NN การใช้ character นั้น ไม่ได้รับการสนับสนุน เนื่องจากหลายประเภทแฟ้ม ไม่สนับสนุนการใช้ characters หรือรองรับเฉพาะ characters 1 ไบต์ (ดูด้านล่าง) . ลองพิจารณาการใช้สตริงแทน ผู้ใช้สามารถใช้ตัวแปร char เพื่อวาดกราฟได้ ERDDAP™ จะแปลงอักขระเป็นเลขรหัสยูนิโค้ด ซึ่งสามารถใช้เป็นข้อมูลตัวเลขได้
ข้อความ
- ข้อความ เป็นลําดับของ 0 หรือมากกว่า, 2 คูณ (16 บิต) อักขระ UCS-2 ยูนิโค้ด . ERDDAP™ ใช้/ แปลค่าข้อความ 0 เป็นค่าที่สูญหาย ERDDAP™ ไม่สนับสนุนข้อความว่าง ความยาวสูงสุดทางทฤษฎีคือ 2147483647 ตัวอักษร แต่อาจจะมีปัญหาหลายอย่างในหลายสถานที่ แม้จะมีเส้นเชือกที่สั้นกว่า ใช้ ERDDAP 'สตริงสําหรับตัวละคร SQL, varchar, ตัวละครที่แตกต่างกัน, อักขระไบนารี, ช่วง, อนุกรม, mulet, xml และชนิดฐานข้อมูลอื่น ๆ ที่ไม่เข้ากับฐานข้อมูลใด ๆ ERDDAP™ ชนิดของข้อมูล ใช้ ERDDAP ข้อความของคาสเซนดร้า และข้อมูลอื่นๆ ที่ไม่เข้ากับคนอื่น ERDDAP™ ชนิดของข้อมูล
ก่อน ERDDAP™ v2.10. ERDDAP™ ไม่สนับสนุนประเภทของจํานวนเต็มภายใน และมีการรองรับอย่างจํากัดในการอ่านข้อมูลและเขียน
จํากัดชนิดของข้อมูล
คุณคิดถึง ERDDAP™ เป็นระบบที่มีชุดข้อมูลเสมือน และใช้ได้ด้วยการอ่านข้อมูลจากแหล่งข้อมูล ไปยังโมเดลข้อมูลภายใน และเขียนข้อมูลไปยังบริการต่าง ๆ (เช่น(OPeN)DAP. WMS ) และประเภทไฟล์ในการตอบสนองต่อการร้องขอของผู้ใช้
- โปรแกรมอ่านค่านําเข้าแต่ละตัว รองรับสับเซตของชนิดข้อมูล ERDDAP™ สนับสนุน ดังนั้นการอ่านข้อมูล ERDDAP โครงสร้างข้อมูลภายในไม่ใช่ปัญหา
- ผู้เขียนผลส่งออกแต่ละรายยังรองรับสับเซตของข้อมูลด้วย นั่นเป็นปัญหาเพราะ ERDDAP ตัวอย่างเช่น ต้องบีบข้อมูลยาวเข้าไปในไฟล์ ที่ไม่สนับสนุนข้อมูลยาว
ข้าง ล่าง นี้ เป็น คํา อธิบาย เกี่ยว กับ ข้อ จํากัด (หรือไม่มี) จากผู้เขียนผลลัพธ์ต่างๆ และวิธีการที่ ERDDAP™ จัดการกับปัญหา ภาวะแทรกซ้อนดังกล่าวเป็นส่วนหนึ่งของ ERDDAP เป้าหมายในการทําให้ระบบการแบ่งชั้น เชื่อมต่อกันไม่ได้
ASCII
- ASCII (.csv .tsv ฯลฯ) แฟ้มข้อความ -
- ข้อมูลตัวเลขทั้งหมดถูกเขียนขึ้น ผ่านการแสดงข้อความ (ค่าข้อมูลสูญหาย โดยปรากฏเป็นข้อความ 0 ตัว) .
- ถึงแม้ว่า ERDDAP™ เขียนค่าทางยาวและยาวที่ถูกต้องกับแฟ้มข้อความ ASCII, ผู้อ่านจํานวนมาก (เช่น โปรแกรมตารางคํานวณ) ไม่สามารถจัดการกับค่ายาวและยาวได้อย่างถูกต้อง และเปลี่ยนมันเป็นค่าสองค่าแทน (กับการสูญเสียความแม่นยําในบางกรณี) .
- อักขระและข้อมูลสตริงจะถูกเขียนผ่านทาง jsonสตริงซึ่งจัดการอักขระยูนิโค้ดทั้งหมด (โดดเด่นมาก ตัวละคร "อนิจจัง" เกิน ASCII #127, e.g. ตัวละครยูโรปรากฏเป็น "\u20ac") .
เจ สัน
- เจ สัน ( .json . .jsonlCSV ฯลฯ) แฟ้มข้อความ -
- ข้อมูลทั้งหมดถูกเขียนขึ้น ผ่านการแสดงตัวเลข
- อักขระและข้อมูลสตริงจะถูกเขียนเป็น jsonสตริงซึ่งจัดการตัวอักษรยูนิโค้ดทั้งหมด (โดดเด่นมาก ตัวละคร "อนิจจัง" เกิน ASCII #127, e.g. ตัวละครยูโรปรากฏเป็น "\u20ac") .
- ค่าที่ขาดไปสําหรับชนิดของข้อมูลหมายเลขทั้งหมด ปรากฎเป็นโมฆะ
.nc 3 แฟ้ม
- .nc 3 แฟ้มที่ไม่รองรับชนิดของข้อมูลจํานวนเต็ม ก่อนที่ CF v1.9, CF ไม่สนับสนุนประเภทของจํานวนเต็มบวก เพื่อจัดการเรื่องนี้ ERDDAP™ 2.10+ ทําตามมาตรฐาน NURI และเพิ่มแอตทริบิวต์ "/ unignized" ด้วยค่า "จริง" หรือ "เท็จ" เพื่อระบุว่าข้อมูลนั้นมาจากตัวแปรหรือการเซ็น คุณสมบัติจํานวนเต็มทั้งหมด ถูกเขียนเป็นคุณลักษณะการเซ็น (e.g., byte) ด้วยค่าที่เซ็นแล้ว (e.g., ubyte actual\_range แอททริบิวต์ที่มีค่า 0 ถึง 255, ปรากฏเป็นแอททริบิวต์ by by by by by yat value 0 ถึง -1 (ส่วนกลับของค่าคอมพลิเมนต์ทั้งสองของค่าอยู่นอกค่า) ไม่ มี วิธี ง่าย ๆ ที่ จะ รู้ ว่า ควร อ่าน คุณสมบัติ ของ จํานวนเต็ม (สัญลักษณ์) ใด เป็น คุณสมบัติ ที่ ไม่ มี ใด เหมือน. ERDDAP™ รองรับแอตทริบิวต์ "/ ยกเลิกการเซ็น" เมื่อมันอ่าน .nc 3 แฟ้ม
- .nc 3 แฟ้มไม่สนับสนุนชนิดของข้อมูลแบบยาวหรือยาว ERDDAP™ จัดการกับเรื่องนี้โดยการเปลี่ยนพวกเขาชั่วคราว เป็นตัวแปรคู่ แฝดสามารถแทนค่าทั้งหมดได้ จนถึง +/9/007,199,254,740,992 ซึ่งก็คือ 2^53 นี่คือคําตอบที่ไม่สมบูรณ์ Unidata ปฏิเสธที่จะทําการอัพเกรดเล็กน้อย .nc 3 เพื่อรับมือกับปัญหานี้ และปัญหาที่เกี่ยวข้อง, โดยอ้างถึง .nc 4 (การเปลี่ยนแปลงครั้งใหญ่) เป็นคําตอบ
- ข้อกําหนด CF (ก่อนที่ v1. 9) กล่าว กัน ว่า การ ทํา เช่น นี้ ช่วย สนับสนุน ประเภท ข้อมูล อักขระ แต่ ไม่ เป็น ที่ แน่ชัด ว่า จะ มี การ ใช้ ดินสอ เป็น โครง สร้าง ของ ออร์ เคิล ซึ่ง มี ประสิทธิภาพ. คํา ถาม ต่าง ๆ ที่ จะ ส่ง ไป ยัง คน เหล่า นี้ มี แต่ คํา ตอบ ที่ ทํา ให้ สับสน. เพราะโรคแทรกซ้อนนี้ จะเป็นการดีที่สุดที่จะหลีกเลี่ยงตัวแปรใน ERDDAP™ และใช้ตัวแปรสตริง เมื่อใดก็ตามที่เป็นไปได้
- ตามประเพณีแล้ว .nc 3 แฟ้มที่รองรับเฉพาะข้อความที่มีรหัส ASCII (7 บิต #0 - #127) ตัวละคร กัญชา (ถึง ERDDAP ) ขยายที่ (เริ่มที่ ~2017) โดยรวมแอตทริบิวต์ "/ encoding" ด้วยค่า "ISO-8859-1" (ส่วนขยายของ ASCII ซึ่งกําหนดค่าทั้งหมด 256 ค่าของแต่ละอักขระ 8 บิต) หรือ "UTF-8" เพื่อระบุว่าข้อมูลสายเข้ารหัสได้อย่างไร รหัส อื่น ๆ อาจ ถูก ต้อง ตาม กฎหมาย แต่ ก็ รู้สึก ท้อ แท้.
.nc 4 แฟ้ม
- .nc แฟ้ม 4 รองรับทั้งหมด ERDDAP ชนิดของข้อมูล
แฟ้ม NCCSV
NCOSV 1. 0 ไม่สนับสนุนชนิดของข้อมูลจํานวนเต็ม แฟ้ม NCCSV 1. 1+ รองรับชนิดของข้อมูลจํานวนเต็มทั้งหมด
DAP
- (OPeN)DAP (.das, .dds, แฟ้ม .asc ASCII, และแฟ้มไบนารี.dods) -
- (OPeN)DAPจัดการสั้น, usort, int, uint, ลอยและค่านิยมคู่อย่างถูกต้อง
- (OPeN)DAPมีประเภทข้อมูล "byte" ที่นิยามว่าเป็นการบวก ในขณะที่ประวัติศาสตร์, THPDS และ ERDDAP™ ได้ดําเนินการ "byte" เป็นลงนามใน(OPeN)DAPบริการ เพื่อรับมือกับเรื่องนี้ ERDDAP™ 2.10+ ทําตามมาตรฐาน NURI และเพิ่มแอตทริบิวต์ "/ unignized" ด้วยค่า "จริง" หรือ "เท็จ" เพื่อแสดงว่าข้อมูลคืออะไร ERDDAP™ เรียกโดยหรือ ubyte ไบต์และ ubyte access ถูกเขียนเป็น "ไบต์" ด้วยค่าที่ลงนาม (e.g., ubyte actual\_range แอททริบิวต์ที่มีค่า 0 ถึง 255, ปรากฏเป็นแอททริบิวต์ by by by by by yat value 0 ถึง -1 (ส่วนกลับของค่าคอมพลิเมนต์ทั้งสองของค่าอยู่นอกค่า) ไม่ มี วิธี ง่าย ๆ ที่ จะ รู้ ว่า คุณลักษณะ ชนิด ใด ที่ ควร อ่าน ว่า คุณลักษณะ แบบ ubyte
- (OPeN)DAPไม่สนับสนุนการเซ็นหรือยกเลิกเวลา ERDDAP™ จัด การ กับ เรื่อง นี้ โดย เปลี่ยน พวก เขา ชั่ว คราว ให้ เป็น สอง ตัวแปร และ คุณลักษณะ. ค่าคู่สามารถแทนค่าทั้งหมดได้พอดี จนถึง 9,007,199,254,740,992 ซึ่งก็คือ 2^53 นี่คือคําตอบที่ไม่สมบูรณ์ OPeNDAP (องค์กร) ปฏิเสธที่จะทําการอัพเกรดเล็กน้อย DAP 2.0 เพื่อจัดการกับปัญหานี้และปัญหาที่เกี่ยวข้อง โดยอ้างถึง DAP 4 (การเปลี่ยนแปลงครั้งใหญ่) เป็นคําตอบ
- เพราะว่า(OPeN)DAPไม่มีข้อมูลประเภทอักขระแยกกัน และในทางเทคนิครองรับเฉพาะตัวอักษร ASCII ไบต์ (#0 - #127) ในสตริง, ตัวแปรข้อมูลอักขระจะปรากฏเป็น 1 carticer ยาว เชือกใน(OPeN)DAP.das, .dds, และ dictions
- ในทางเทคนิคแล้ว(OPeN)DAPกําหนดรองรับเฉพาะสตริงที่มีรหัสอักขระ ASCII (#0 - #127) . กัญชา (ถึง ERDDAP ) ขยายที่ (เริ่มที่ ~2017) โดยรวมแอตทริบิวต์ "/ encoding" ด้วยค่า "ISO-8859-1" (ส่วนขยายของ ASCII ซึ่งกําหนดค่าทั้งหมด 256 ค่าของแต่ละอักขระ 8 บิต) หรือ "UTF-8" เพื่อระบุว่าข้อมูลสายเข้ารหัสได้อย่างไร รหัส อื่น ๆ อาจ ถูก ต้อง ตาม กฎหมาย แต่ ก็ รู้สึก ท้อ แท้.
หมายเหตุประเภทข้อมูล
- เนื่องจากการสนับสนุนที่ยากจนสําหรับยาว, ยาว, และข้อมูล char ในหลายประเภทไฟล์ เรายับยั้งการใช้ชนิดของข้อมูลเหล่านี้ใน ERDDAP . เมื่อ เป็น ไป ได้ จง ใช้ สอง แบบ แทน ที่ จะ ใช้ เวลา ยาว และ ยาว และ ใช้ เชือก แทน ที่ จะ ใช้ ขี้ ผึ้ง.
- ข้อมูลกํากับภาพ - เพราะว่า(OPeN)DAPการตอบรับของ .das และ ids ไม่สนับสนุนคุณสมบัติหรือประเภทข้อมูลแบบยาว ๆ (และแสดงให้พวกเขาเป็นสองเท่า) คุณอาจต้องการใช้ ERDDAP รูปแบบของข้อมูลกํากับที่ปรากฏใน http ... / เซอแดป/ ข้อมูล / * datasetID * หน้าเว็บ.html (ยกตัวอย่างเช่น https://coastwatch.pfeg.noaa.gov/erddap/info/cwwcNDBCMet/index.html ) (ซึ่งคุณสามารถรับได้ในรูปแบบแฟ้มอื่น เช่น .csv .htmlTable . .itx . .json . .jsonlCSV1 . .jsonlCSV . .jsonlKVP . .mat . .nc . .nccsv . .tsv . .xhtml ) หรือ .nccsv การตอบรับข้อมูลกํากับภาพ (ยกตัวอย่างเช่น https://coastwatch.pfeg.noaa.gov/erddap/tabledap/cwwcNDBCMet.nccsvMetadata แม้ว่า .nccsv ข้อมูลกํากับภาพใช้ได้เฉพาะกับชุดข้อมูลอักขระแท็บเท่านั้น) ทั้งสองอย่างรองรับชนิดของข้อมูล (โดยเฉพาะอย่างยิ่ง ยาว, ยาว, และมงกุฎ) .
แฟ้มสื่อ
ไม่ใช่ข้อมูลทั้งหมดเป็นอาร์เรย์ของตัวเลขหรือข้อความ ชุดข้อมูลบางตัวประกอบด้วย หรือรวมแฟ้มสื่อ เช่น ภาพ, เสียงและวิดีโอ ERDDAP™ มีคุณลักษณะพิเศษบางอย่าง ที่จะทําให้ผู้ใช้เข้าถึงแฟ้มสื่อได้ง่ายขึ้น มันเป็นขั้นตอนที่ 2
- ทําให้ทุกแฟ้มเข้าถึงได้ผ่านทางที่อยู่ URL ของตัวมันเอง โดยใช้ระบบที่รองรับการใช้งานในช่วงที่ต้องการ วิธีทําที่ง่ายที่สุด คือใส่แฟ้มลงในไดเรกทอรี ERDDAP™ เข้าถึงได้ (ถ้ามันอยู่ในตู้คอนเทนเนอร์ .zip ไฟล์, ยกเลิกพวกมัน แม้คุณอาจจะเสนอ .zip แฟ้มที่ผู้ใช้ด้วย) งั้นทํา แก้ไขโครงการหลัก... ชุดข้อมูลที่จะทําให้แฟ้มเหล่านั้นเข้าถึงได้ ERDDAP™ โดยเฉพาะอย่างยิ่งผ่าน ERDDAP ' "files" ระบบ .
แฟ้มทั้งหมดถูกสร้างโดยผ่าน DDTable จากแฟ้มName ERDDAP ' "files" รองรับระบบ ต้องการช่วงไบต์ . ปกติเมื่อลูกค้า (เช่น เว็บเบราว์เซอร์) ทําการร้องขอไปยังที่อยู่ URL ซึ่งจะได้ทั้งแฟ้มเป็นการตอบสนอง แต่ด้วยการร้องขอแบบไบต์ โดยการร้องขอจะระบุช่วงของไบต์จากแฟ้ม และเซิร์ฟเวอร์จะคืนค่าเฉพาะแฟ้มเหล่านี้ที่ไบต์เท่านั้น ตัวเลือกนี้เกี่ยวข้องที่นี่ เนื่องจากโปรแกรมเล่นเสียงและวิดีโอในเว็บเบราว์เซอร์ จะทํางานก็ต่อเมื่อแฟ้มสามารถเข้าใช้ได้ตามต้องการ โดยผ่านช่วงที่ต้องการ
ตัวเลือก: หากคุณมีชุดข้อมูลมากกว่าหนึ่งชุด กับแฟ้มสื่อที่เกี่ยวข้อง คุณสามารถสร้างแค่แฟ้มแบบ DDTable จากแฟ้มหนึ่งตัว ซึ่งมีโฟลเดอร์ย่อยของแต่ละกลุ่มได้ ข้อได้เปรียบคือ หากคุณต้องการเพิ่มแฟ้มเล่นสื่อใหม่ สําหรับชุดข้อมูลใหม่ ทั้งหมดที่คุณต้องทําคือ สร้างโฟลเดอร์ใหม่ และใส่แฟ้มไว้ในโฟลเดอร์นั้น โฟลเดอร์และแฟ้มจะถูกเพิ่มโดยอัตโนมัติเข้าไปใน DDTable from Februarys
- ตัวเลือก: หากคุณมีชุดข้อมูลที่จะใช้อ้างอิงไปยังแฟ้มสื่อ ให้เพิ่มไปยัง ERDDAP . ตัว อย่าง เช่น คุณ อาจ มี แฟ้ม .csv ที่ มี แถว สําหรับ แต่ ละ ครั้ง ที่ มี คน เห็น ปลา วาฬ และ คอลัมน์ ซึ่ง รวม ถึง ชื่อ แฟ้ม ภาพ ที่ เกี่ยว ข้อง กับ ภาพ นั้น. หากชื่อของแฟ้มอิมเมจเป็นเพียงชื่อแฟ้ม, เช่น, IMg201410102424T2403Z, ไม่ใช่ที่อยู่ URL แบบเต็ม จากนั้นคุณจะต้องเพิ่ม แฟ้ม accessBase แก้ไขโครงการหลัก... คุณสมบัติของข้อมูลกํากับภาพสําหรับเรื่องนั้น dataVariable ซึ่งระบุค่าฐานURL และคํากํากับชื่อแฟ้มเหล่านั้น หากคุณทําการเข้าถึงแฟ้มผ่านทาง DDTable from Files ตําแหน่ง URL จะอยู่ในแบบฟอร์ม แท่งกระดาษ / serdap/files / * datasetID * / ยกตัวอย่างเช่น
<att name="fileAccessBaseUrl">*someBaseURL*</a>
<att name="fileAccessSuffix">.png</a>
ถ้ามี .zip หรือแฟ้มตู้คอนเทนเนอร์อื่น ๆ ที่มีแฟ้มสื่อทั้งหมดที่เกี่ยวข้องกับตัวแปรข้อมูล เราขอแนะนําให้คุณทําให้แฟ้มดังกล่าวเข้าถึงผู้ใช้ได้ (ดูขั้นที่ 1) แล้วระบุมันกับ แฟ้มAccessAchive Url อุปนิสัย
\[ เริ่มใน ERDDAP™ v1. 82 \] ถ้าคุณทําขั้นแรกด้านบน (หรือทั้งสองขั้น) เมื่อผู้ใช้มอง ERDDAP™ "files" ระบบสําหรับชุดข้อมูล (หรือขอให้ดูสับเซตของชุดข้อมูลผ่าน .htmlTable ร้องขอถ้าคุณทําขั้นตอนที่สอง) . ERDDAP™ จะแสดงไอคอน '?' ทางด้านซ้ายของชื่อแฟ้ม หากผู้ใช้ชี้เหนือไอคอนนั้น พวกเขาจะเห็นป๊อปอัปที่แสดงภาพ, หรือเครื่องเล่นเสียง, หรือเครื่องเล่นวิดีโอ เบราว์เซอร์รองรับเฉพาะประเภทจํากัดเท่านั้น
- รูปภาพ (ปกติจะเป็น .gif, jpg, และ .png) .
- เสียง (ปกติ .mp3, .ogg, และ .wav) และ
- แฟ้มวิดีโอ (ปกติ .mp4, .ogv, และ. หน้าเว็บName) .
การรองรับมีความแตกต่างระหว่างเบราว์เซอร์กับระบบปฏิบัติการที่แตกต่างกัน ดังนั้นถ้าคุณมีทางเลือกว่าจะให้ชนิดแฟ้มไหน มันก็สมเหตุสมผลที่จะเสนอประเภทนี้
หรือ หากมีการคลิกบนชื่อแฟ้มที่แสดง ERDDAP™ หน้าเว็บ, เบราว์เซอร์ของพวกเขาจะแสดงภาพ, เสียง หรือแฟ้มวิดีโอเป็นหน้าเว็บที่แยกต่างหาก มีประโยชน์อย่างมากในการดูภาพขนาดใหญ่มาก หรือปรับขนาดวิดีโอเป็นหน้าจอเต็ม แทนที่จะใช้แบบป๊อปอัป
ทํางานกับแฟ้มแบบ AWS S3
บริการเว็บของ Amazon (ขนาด AWS) เป็นผู้ขาย การคํานวณของเมฆ บริการ ขนาด S3 เป็นระบบจัดเก็บวัตถุที่นําเสนอโดย AWS แทนที่ระบบลําดับชั้นของไดเรกทอรีและแฟ้มของระบบไฟล์ดั้งเดิม (เหมือนฮาร์ดไดรฟ์ในคอมพิวเตอร์ของคุณ) S3 เสนอเพียง "Bubets" ซึ่งถือ "objects" (เราจะเรียกพวกเขา "files" ) .
สําหรับแฟ้ม ASCII (e.g., .csv) . ERDDAP™ สามารถทํางานกับไฟล์ในถังโดยตรง สิ่งเดียวที่คุณต้องทํา คือระบุ<แฟ้ม Dir > สําหรับชุดข้อมูลโดยใช้รูปแบบเฉพาะสําหรับถัง AWS, e.g.https://bucketName.s3.aws-region.amazonaws.com/subdirectory/. คุณไม่ควรใช้<แคชจาก Url>. ดูรายละเอียดข้างล่าง
แต่สําหรับแฟ้มไบนารี (อี.จี. .nc .gridge, . Buf และ .hdf แฟ้ม) คุณต้องใช้<แคชจาก Url> ระบบที่อธิบายด้านล่างนี้ ERDDAP (เพลง) (ซึ่ง ERDDAP™ ใช้อ่านข้อมูลจากแฟ้มเหล่านี้) และซอฟท์แวร์วิทยาศาสตร์อื่น ๆ ได้รับการออกแบบให้ทํางานกับไฟล์ในระบบไฟล์แบบดั้งเดิมซึ่ง ระดับการบล็อค เข้าถึงแฟ้ม (อนุญาตให้อ่านส่วนย่อยของแฟ้มได้) แต่ S3 เสนอเท่านั้น ระดับแฟ้ม (วัตถุ) เข้าถึงแฟ้ม (ซึ่งอนุญาตให้อ่านแฟ้มทั้งหมดได้) . AWS เสนอทางเลือก S3 ร้านขายกระดาษแข็ง (อีบีเอส) ) ซึ่งรองรับการเข้าถึงไฟล์ในระดับบล็อก แต่มันแพงกว่า S3, จึงไม่ค่อยใช้เก็บข้อมูลจํานวนมาก (ดังนั้นเมื่อคนพูดว่าการเก็บข้อมูลในเมฆ (ขนาด S3) มัน มี ราคา ถูก ตาม ปกติ มัน จะ เป็น แอปเปิล สําหรับ เปรียบ เทียบ ส้ม.)
ขนาดแท่ง S3
เครื่องประดับของบัคเก็ต กุญแจ วัตถุ ผู้คุม
ในทางเทคนิคแล้ว S3 ถังไม่ได้ถูกจัดการ ในโครงสร้างแฟ้มแบบลําดับชั้น เช่น ระบบไฟล์บนคอมพิวเตอร์ แต่ถังกลับบรรจุ "objects" (แฟ้ม) แต่ละอันมีคีย์ (ชื่อ) . ตัวอย่างของคีย์ว่า Noa-goes17 ถังเป็น
ABI-L1b-RadC/2019/235/22/OR\\_ABI-L1b-RadC-M6C01\\_G17\\_s20192352201196\\_e20192352203569\\_c20192352204013.nc
URI ที่ตรงกันสําหรับวัตถุที่เป็น
AWS รองรับความแตกต่างเล็กน้อยในการสร้างที่อยู่ URL นั้น แต่ ERDDAP™ ต้องการรูปแบบเฉพาะนี้: https://bucketName.s3.region.amazonaws.com/key
ของ ERDDAP v2.29, ตอนนี้คุณสามารถใช้ ขนาด s3 < br /> รูปแบบ URI แทนที่จะเป็นที่อยู่ URL ถัง นี่เป็นรูปแบบที่จะใช้โดย ขนาด AWS s3Cli .
ขนาด s3 < br /> ตะกร้าName / กุญแจ
เดอะ พื้นที่ เนื่องจาก URI ของ S3 สามารถกําหนดได้ใน 3 แบบ
- เดอะ พื้นที่ ในผู้ใช้ทอมแคท
~/.aws/configโพรไฟล์ - เดอะ
_แก้ไขตัวแปรแวดล้อม - เดอะ
aws.regionตัวแปร JVM (ใน Setenv.sh for Tomcat)
มันเป็นธรรมเนียมทั่วไป เช่นตัวอย่างนี้ ที่จะสร้างชื่อสําคัญ ให้ดูเหมือนเส้นทางลําดับชั้น เนื่องจากมันเป็นธรรมดาและมีประโยชน์ ERDDAP™ ใช้กุญแจกับ / '/' ราวกับว่ามันเป็นเส้นทางลําดับชั้นบวกกับชื่อแฟ้ม และเอกสารนี้จะอ้างอิงไปยังมัน ถ้ากุญแจของถังไม่ได้ใช้ / ของ ABI-Lib. 2018. 0518. 052.or/_ABI-L1b-Rad2-M3C10/_G16/s2018222475), ERDDAP™ จะใช้กุญแจทั้งหมดเป็นชื่อแฟ้มยาว
ส่วนตัว vs Buckets ของสาธารณะ -- ผู้ อํานวย การ ของ ถัง S3 อาจ ทํา ถัง และ สิ่ง ของ ต่าง ๆ ของ ถัง นี้ เป็น ของ สาธารณะ หรือ ของ ส่วน ตัว. ถ้าสาธารณะ แฟ้มใด ๆ ในถังอาจจะถูกดาวน์โหลดโดยใครก็ตามที่ใช้ที่อยู่ URL สําหรับแฟ้ม อเมซอนมี เปิดข้อมูล โปรแกรมที่จัดการข้อมูลสาธารณะ (รวมข้อมูลจาก NOAA นาซ่า และ USGS) ไม่คิดเงินใครที่จะดาวน์โหลดไฟล์จากถังเหล่านั้น หากถังเป็นส่วนบุคคล แฟ้มในถังจะเข้าถึงเฉพาะผู้ใช้ที่ได้รับอนุญาตและ AWS ค่าใช้จ่าย (ปกติจะจ่ายเงินจากเจ้าของถัง) สําหรับการดาวน์โหลดแฟ้มไปยังคอมพิวเตอร์ที่ไม่ใช่ AWS S3 ERDDAP™ สามารถทํางานกับข้อมูล ในถังส่วนตัวและสาธารณะ
อัลกอริอะฮ์
เพื่อให้มันดังนั้น ERDDAP™ สามารถอ่านเนื้อหาของถังส่วนตัวได้ คุณต้องมีใบรับรอง AWS และคุณต้องจัดเก็บเอกสารรับรองไว้ในตําแหน่งมาตรฐาน ERDDAP™ สามารถหาข้อมูลได้ ดู AWS SDK สําหรับ Java เอกสาร 2.x: ตั้งค่าใบรับรองปริยาย . (ตัวเลือกในการจัดเก็บค่าเป็น Java พารามิเตอร์ของบรรทัดคําสั่งใน \[ แว่นขยาย \] / บิน/ ซีเทนฟ.ช. อาจจะเป็นตัวเลือกที่ดี)
ALWS / files /
- / แฟ้ม/ ระบบ เดอะ ERDDAP™ / แฟ้ม/ ระบบ อนุญาตให้ผู้ใช้ดาวน์โหลดแฟ้มต้นฉบับสําหรับชุดข้อมูลได้ เราขอแนะนําให้คุณเปิดใช้งานมัน สําหรับชุดข้อมูลทั้งหมดที่มีแฟ้มต้นทาง เพราะผู้ใช้หลายคนต้องการดาวน์โหลดแฟ้มต้นฉบับ
- ถ้าแฟ้มอยู่ในถัง S3 ส่วนตัว ผู้ใช้ที่ร้องขอให้ดาวน์โหลดแฟ้ม จะจัดการกับแฟ้มเอง ERDDAP™ ซึ่งจะอ่านข้อมูลจากแฟ้ม แล้วส่งต่อไปยังผู้ใช้ ซึ่งจะทําให้การโหลดของคุณเพิ่มขึ้น ERDDAP™ โดยการใช้แบนด์วิธเข้ามาและออก และทําให้คุณ (คือ ERDDAP™ ผู้ดูแล) จ่ายค่าชดเชยสําหรับ AWS
- หากแฟ้มอยู่ในถัง S3 ของสาธารณะ ผู้ใช้ที่ร้องขอให้ดาวน์โหลดแฟ้ม จะถูกสลับไปยังที่อยู่ URL AWS S3 สําหรับแฟ้มดังกล่าว ดังนั้นข้อมูลจะไม่ไหลผ่าน ERDDAP™ ดังนั้น การลดภาระลง ERDDAP . และถ้าไฟล์อยู่ในข้อมูล เปิด Amazon (ว่าง) ตะกร้าสาธารณะ จากนั้นคุณ (คือ ERDDAP™ ผู้ดูแล) ไม่ต้องจ่ายค่าชดเชยให้เอดับเบิลยูเอส ดังนั้น จึงมีประโยชน์อย่างมาก ในการให้บริการข้อมูลจากสาธารณชน (ไม่ใช่เรื่องส่วนตัว) S3 ถังและประโยชน์อย่างมากในการให้บริการข้อมูลจาก Amazon open Dta (ว่าง) ตะกร้า
ERDDAP นอกจากนี้ยังสนับสนุนการรับรองนิรนาม สําหรับถังสาธารณะ เพื่อใช้ข้อมูลประจําตัว, เพิ่ม <useAwsAnonymous> จริง </useAwsAnonymous> เพื่อการตั้งค่า.xml.
ตั้งค่าจุดสิ้นสุด S3 เอง
สําหรับที่เก็บวัตถุที่เข้ากันได้กับ S3 ที่ไม่ได้บรรจุโดย Amazon คุณต้องปรับแต่ง จุดสิ้นสุด พร้อมกับการตรวจสอบถัง/คีย์ของคุณโดยใช้ ขนาด s3 < br /> URI
เดอะ จุดสิ้นสุด สามารถระบุได้สามวิธี
- เดอะ จุดสิ้นสุด ในผู้ใช้ทอมแคท
~/.aws/configโพรไฟล์ - เดอะ
_ภารกิจตัวแปรแวดล้อม - เดอะ
จุด Urlตัวแปร JVM (ใน Setenv.sh for Tomcat)
สําหรับรายการทั้งหมดของตัวแปรการปรับแต่ง S3 ดูเอกสารของ Amazon .
ใบรับรองที่กําหนดเอง
สําหรับถัง S3 ที่บรรจุตัวเอง คุณมักจะมีใบรับรอง SSL ด้วยตนเอง สําหรับ ERDDAP เพื่ออ่านจากถังเหล่านี้ คุณต้องเพิ่มห่วงโซ่ใบรับรองของคุณไปยังความเชื่อถือ JVM ที่ $JAVA_HOME/jre/lib/ความปลอดภัย/cacerts . นอกจากนี้ ERDDAP ใช้ เวลาทํางานทั่วไป AWS เพื่อเข้าไปในถังอย่างไม่ต่อเนื่อง นี่ช่วยเพิ่มประสิทธิภาพ แต่ต้องใช้ใบอนุญาตที่เซ็นเอง ให้เพิ่มความเชื่อถือใน OS ของคุณโดยเฉพาะ หากคุณต้องการหลีกเลี่ยงการทําเช่นนี้ คุณสามารถปิด AWS CRT ด้วย <useAwsCrt> เท็จ </useAwsCrt> ในการตั้งค่าของคุณ.xml
ERDDAP™ และ AWS S3 บัคเก็ต
** ERDDAP™ และ AWS S3 บัคเก็ต**
โชคดีที่ หลังจากพยายามมามาก ERDDAP™ มีคุณลักษณะหลายอย่างที่ช่วยให้มันจัดการกับปัญหาดั้งเดิม ที่ได้ทํางานร่วมกับระดับ S3 ของบล็อกที่เข้าถึงไฟล์ได้อย่างมีประสิทธิภาพ
- \[ ผู้ปฏิเสธ: ทํางานกับเอดับเบิลยูเอสเอส3 ถังพิเศษมาก AWS เป็นระบบนิเวศขนาดใหญ่ของบริการและคุณสมบัติ มีอีกหลายเรื่องที่ต้องเรียนรู้ มันใช้เวลาและความพยายาม แต่มันทําได้ อดทนไว้และคุณจะทําให้งานสําเร็จ ค้นหาและขอความช่วยเหลือ
( เอกสารของ AWS เว็บไซต์เช่น ครอบคลุมการไหล และแบบทั่วไป
ERDDAP™ ตัวเลือกการรองรับ ถ้าคุณติดอยู่ในนี้ \]
- มันอาจจะยากที่จะหาโครงสร้างไดเรกทอรี และชื่อแฟ้มในถัง S3 ERDDAP™ มีวิธีแก้ปัญหาสําหรับปัญหานี้: EDTable from Files มีชื่อพิเศษ \\♪ จากบนฟลาย ตัวเลือกต่าง ๆ ที่จะให้คุณได้ทํา DDTable from Februarys Name ซึ่งจะช่วยให้ผู้ใช้สามารถเรียกดูเนื้อหาจากช่อง S3 ได้ (และดาวน์โหลดแฟ้ม) ผ่านชุดข้อมูล "files" ทางเลือก มี ตัวอย่างนี้ด้านล่าง .
- ERDDAP™ สามารถอ่านข้อมูลได้ อัดข้อมูลภายนอก ดังนั้นจะปรับถ้าไฟล์บน S3 ที่ถูกเก็บไว้เป็น .gz . .gzip . .bz2 .Z หรือชนิดอื่น ๆ ของไฟล์ข้อมูลบีบอัดภายนอกซึ่งสามารถมาก (2 - 20x) ตัดค่าใช้จ่ายในการจัดเก็บไฟล์ บ่อยครั้งที่ไม่มีโทษสําหรับการใช้แฟ้มบีบอัดภายนอก ตั้งแต่เวลาที่บันทึกโดยการย้ายแฟ้มขนาดเล็กจาก S3 ไปยัง ERDDAP เวลาพิเศษที่จําเป็นสําหรับ ERDDAP™ ทําให้แฟ้มเสียหาย เพื่อใช้คุณสมบัตินี้ คุณต้องแน่ใจว่าชุดข้อมูล<แฟ้มName อนุญาตให้ทําการบีบอัดประเภทแฟ้มได้ (เช่น โดยเพิ่ม ( | .gz ) ถึงตอนจบของรีเรก) .
- สําหรับกรณีทั่วไป, ที่คุณมี ERDDAP™ ติดตั้งบนคอมพิวเตอร์ของคุณสําหรับการทดสอบ/ การพัฒนาและที่ชุดข้อมูลมีแฟ้มข้อมูลไบนารีที่เก็บไว้เป็นวัตถุในถัง S3 วิธีหนึ่งเพื่อให้ได้ชุดข้อมูลมา ERDDAP™ คือ
-
สร้างไดเร็กทอรีบนเครื่องของคุณเพื่อเก็บบางแฟ้มทดสอบข้อมูล
-
ดาวน์โหลดแฟ้มข้อมูลสองแฟ้มจากแหล่งไปยังไดเรกทอรีที่คุณสร้างมา
-
ใช้ สร้าง DatatasXml เพื่อสร้างก้อนของ datasets.xml สําหรับข้อมูลชุดจากแฟ้มข้อมูลท้องถิ่นทั้งสอง
-
กาเลือกที่ชุดข้อมูลที่ใช้ได้ตามที่ต้องการ ถอดรหัส และ/ หรือ ท้องถิ่นของคุณ ERDDAP .
ขั้นตอนต่อไปนี้ทําให้สําเนาของชุดข้อมูล (ซึ่งจะได้รับข้อมูลจากถัง S3) ในที่สาธารณะ ERDDAP .
-
คัดลอกชิ้นของ datasets.xml สําหรับชุดข้อมูล datasets.xml เพื่อประชาชน ERDDAP™ ที่จะให้บริการข้อมูล
-
สร้างไดเรกทอรีสําหรับสาธารณะ ERDDAP ใช้ฮาร์ดไดรฟ์ภายในเพื่อเก็บแคชของแฟ้มชั่วคราว ไดเรกทอรีจะไม่ได้ใช้เนื้อที่บนดิสก์มากนัก (ดูแคชSizeGB ข้าง ล่าง) .
-
เปลี่ยนค่าของชุดข้อมูล<แท็กแฟ้ม (แม้ว่าไดเรกทอรีว่าง) .
-
เพิ่ม แคชจากUrl แท็กที่จะใช้กําหนดชื่อถังข้อมูล และค่านําหน้า (I.E., ไดเรกทอรี) ในรายละเอียด รูปแบบที่อยู่ URL S3 ที่ ERDDAP™ ต้องการ .
-
เพิ่ม [<แคชSizeGB>] (# คาเชฟัวร์) แท็กข้อมูล Xml (เช่น 10 เป็นค่าที่ดีของชุดข้อมูลส่วนใหญ่) เพื่อบอกว่า ERDDAP™ เพื่อจํากัดขนาดของแคชภายในระบบ (เช่น อย่าพยายามเก็บแฟ้มระยะไกลทั้งหมด) .
-
ดูว่ามันจะได้ผลไหม ERDDAP . หมายเหตุว่าครั้งแรก ERDDAP™ ใส่ชุดข้อมูล มันจะใช้เวลานานในการโหลดเพราะ ERDDAP™ ต้องดาวน์โหลดและอ่านข้อมูลทั้งหมด
-
ถ้าชุดข้อมูลเป็นชุดขนาดใหญ่ของไฟล์ข้อมูล graed ขนาดใหญ่นี้จะใช้เวลามาก และไม่สามารถทํางานได้ ในบางกรณี สําหรับไฟล์ข้อมูลที่ถูกหักหลัง ERDDAP™ สามารถดึงข้อมูลที่จําเป็น (เช่น เวลาของข้อมูล ในแฟ้มข้อมูลแบบฝังตัว) จากชื่อแฟ้มและหลีกเลี่ยงปัญหานี้ ดู พารามิเตอร์ ผ่าน ชื่อแฟ้ม .
- ตัวเลือก (แต่โดยเฉพาะสําหรับ EDTable จากแฟ้มข้อมูลชุด) คุณสามารถเพิ่ม เปิด/ ปิด เสียง ป้ายกํากับที่บอกข้อมูล ERDDAP เพื่อใช้เธรดมากกว่าหนึ่งเธรด เมื่อมีการตอบสนองต่อการร้องขอของผู้ใช้ นี่ ทํา ให้ ผล ของ ความ ล่า ช้า น้อย ลง เมื่อ ERDDAP™ อ่านแฟ้มข้อมูลจาก (ระยะไกล) AWS S3 ตะกร้าเข้าไปยังแคชภายในและ (บางที) กําจัดพวกมัน
ข้อมูลการเปิดของ AWS S3
เป็นส่วนหนึ่งของ NOAA ' โปรแกรมข้อมูลขนาดใหญ่ . NOAA มีความร่วมมือกับองค์กร 5 แห่ง รวมถึงเอดับเบิลยูเอส "เพื่อศึกษาถึงผลประโยชน์ที่อาจเกิดขึ้น ของการเก็บรวบรวมการสังเกตที่สําคัญ และผลลัพธ์จําลองในเมฆ AWS รวมชุดข้อมูลที่ได้รับจาก NOAA เป็นส่วนหนึ่งของโปรแกรมที่จะนําเสนอการเข้าถึงสาธารณะเพื่อรวบรวมขนาดใหญ่ของ เปิดข้อมูลเมื่อ AWS S3 จากคอมพิวเตอร์ใด ๆ ไม่ว่าจะเป็นกรณีคํานวณ Amazon (คอมพิวเตอร์ ที่ เช่า ไว้) บนเครือข่าย AWS หรือเครื่องของคุณบนเครือข่ายใด ๆ ตัว อย่าง ข้าง ล่าง สมมุติ ว่า คุณ กําลัง ทํา งาน ร่วม กับ ชุด ข้อมูล ที่ เข้า ถึง ได้ ใน ที่ สาธารณะ.
กําลังเข้าใช้งานแฟ้มในระบบ AWS S3 Bucket
สําหรับถังข้อมูล S3 เอกชน เจ้าของถังต้องให้คุณเข้าถึงถัง (ดูเอกสาร AWS)
ในทุกกรณี คุณจะต้องมีบัญชี AWS เพราะ AWS SDK สําหรับ Java (ซึ่ง ERDDAP™ ใช้ขอรับข้อมูลเกี่ยวกับเนื้อหาของถัง) ต้องการรับรองบัญชีของ AWS (บนนี้ด้านล่าง)
ERDDAP™ เข้าถึงได้เฉพาะช่อง AWS S3 ถ้าคุณระบุช่อง<แคชจาก URI] (# คาเชฟัวร์) (หรือ<Dir >) ในรูปแบบเฉพาะ:
https://bucketName.s3.aws-region.amazonaws.com/prefix/
ที่ไหน
- ตะกร้านี้มีชื่อย่อของชื่อถัง เช่น Noa-goes17
- aws-region, e.g., our- East-1 มาจากคอลัมน์ "Region" ในตารางหนึ่งของ จุด จบ ของ การ รับ ใช้ AWS ที่ที่ถังตั้งอยู่จริงๆ
- การเสนอราคาเป็นทางเลือก ถ้า ปัจจุบัน ต้อง จบ ลง ด้วย '/' .
ยกตัวอย่างเช่นhttps://noaa-goes17.s3.us-east-1.amazonaws.com/ABI-L1b-RadC/
รูปแบบที่อยู่ URL นี้เป็นหนึ่งในคําแนะนําของ AWS S3: ดู เข้า ถึง บัคเก็ต ถึง คําอธิบายของคํานําหน้านี้ . ERDDAP™ ต้องการให้ทําการรวมที่อยู่ URL ของถัง และส่วนนําหน้าที่ต้องการเข้าไปไว้ในที่อยู่ URL หนึ่ง เพื่อระบุ<แคชจาก Url> (หรือ)<fileDir) ที่ตําแหน่งแฟ้ม
การทดสอบ AWS S3 บัคเก็ต
สําหรับถังสาธารณะ คุณสามารถทดสอบที่อยู่ URL ถังของไดเร็กทอรี AWS S3 ในเบราว์เซอร์ของคุณ เช่น https://noaa-goes17.s3.us-east-1.amazonaws.com หากตําแหน่ง URL ของถังถูกต้องและเหมาะสมสําหรับ ERDDAP มันจะคืนเอกสาร XML ที่ (บาง) รายการเนื้อหาของถังที่ โชคไม่ดี ที่อยู่ URL เต็ม (เช่น ที่อยู่ URL ถัง บวกคํานําหน้า) นั่น ERDDAP™ ต้องการชุดข้อมูลที่ให้มา ใช้ไม่ได้กับเบราว์เซอร์ AWS ไม่ได้เสนอระบบที่จะดูลําดับชั้นของถังในเว็บของคุณได้ง่ายๆ (ถ้าไม่ถูกต้อง โปรดส่งอีเมลหาคริส จอห์นที่โนอา โกฟ ไม่อย่างนั้น, Amazon, กรุณาเพิ่มการสนับสนุนสําหรับเรื่องนี้!)
การ มอง ดู เนื้อหา ของ บัคเก็ต
S3 ถังมักบรรจุแฟ้มหลายประเภท ในชุดย่อยปลอมๆ ซึ่งอาจกลายเป็น ERDDAP™ ชุดข้อมูล เพื่อทําให้ ERDDAP™ ชุดข้อมูล, คุณต้องรู้ไดเรกทอรีเริ่มต้นสําหรับ<แคชจาก Url> (หรือ)<fileDir) และรูปแบบของชื่อแฟ้ม ที่ระบุสับเซตของแฟ้ม หากคุณพยายามแสดงเนื้อหาทั้งหมดของถังในเบราว์เซอร์ S3 จะแสดงเพียง 1,000 แฟ้มแรกที่ไม่เพียงพอ ใน ปัจจุบัน วิธี ที่ ดี ที่ สุด ที่ คุณ จะ มอง เนื้อหา ทั้ง หมด ของ ถัง คือ การ ทํา ถัง แก้ไขโครงการหลัก... ชุดข้อมูล (ในคอมพิวเตอร์ของคุณ ERDDAP™ หรือต่อหน้าสาธารณชน ERDDAP ) ซึ่งยังช่วยให้คุณสามารถเรียกดูโครงสร้างไดเรกทอรีและดาวน์โหลดได้ง่ายขึ้น เดอะ<แฟ้ม Dir) สําหรับมัน จะเป็นที่อยู่ URL ที่คุณสร้างไว้ด้านบน เช่นhttps://noaa-goes17.s3.us-east-1.amazonaws.com. \[ ทําไมเอดับเบิลยูเอสเอส3 ไม่เสนอวิธีง่ายๆ ให้ใครทําโดยไม่มีบัญชีเอดับเบิลยูเอส \] หมายเหตุว่าเมื่อฉันทําเช่นนี้บนคอมพิวเตอร์ของฉันบนเครือข่ายที่ไม่ใช่อะมาซอน ดูเหมือนว่าอะเมซอนจะชะลอการตอบสนองไปยัง (ประมาณ 100 คน (?) แฟ้มต่อก้อน) หลังจากชิ้นแรกๆ (จาก 1000 แฟ้มต่อก้อน) ถูกดาวน์โหลดมาแล้ว เนื่องจากถังอาจมีแฟ้มจํานวนมาก (Noa-goes17 มี 26 ล้าน) การได้รับเนื้อหาทั้งหมดของถังอาจจะใช้ EDTable จากแฟ้มName (อี.จี., 12!) เพื่อจบ \[ อเมซอน ใช่ไหม \]
ทํา ดี ดีที จากแฟ้มName
หากคุณมีชื่อถัง แต่ยังไม่มีรายการของแฟ้มในถัง S3 หรือคํานําหน้าที่ระบุตําแหน่งของแฟ้มที่เกี่ยวข้องในถัง ให้ใช้คําสั่งด้านล่างนี้ เพื่อสร้างชุดข้อมูล DDTable จากแฟ้มName ERDDAP ' "files" ระบบ
- เปิดบัญชีผู้ใช้แบบ AWS ERDDAP™ ใช้ ขนาด AWS SDK สําหรับ Java เพื่อหาข้อมูลถังจาก AWS ดังนั้นคุณต้อง สร้างและเปิดใช้งานบัญชีผู้ใช้ AWS . นั่นเป็นงานที่ใหญ่มาก มีหลายอย่างที่ต้องเรียนรู้
- ใส่ AWS Cresentials ของคุณที่ ERDDAP™ หาพวกมันได้ ทําตามคําแนะนําที่ ตั้งค่า ARWS Cresential and ขอบเขตสําหรับการพัฒนา ดังนั้น ERDDAP™ (โดยเฉพาะ AWS SDK สําหรับ Java ) จะสามารถค้นหาและใช้เอกสารรับรอง AWS ของคุณ ถ้า ERDDAP™ หาใบรับรองไม่เจอ คุณจะเห็น จาวา แลง Expodate ไม่ถูกต้อง: โพรไฟล์แฟ้มไม่สามารถผิดพลาดได้ ERDDAP แฟ้มปูมบันทึก.t.
แนะนําให้ใช้ลินุกซ์และ Mac OS: แฟ้มใบรับรองต้องอยู่ในไดเร็คทอรีส่วนตัวของผู้ใช้ที่กําลังทํางานอยู่ (ถึง ERDDAP ) (สําหรับย่อหน้านี้ เราจะถือว่าผู้ใช้=tommcat) ในแฟ้มที่ชื่อ ~/.aws/credentials อย่าสมมุติว่า ~คือ / home/tommcat -- ที่จริงใช้ cd ~ เพื่อหาว่าระบบปฏิบัติการคิดว่า ~ สําหรับผู้ใช้=tommcat สร้างไดเรกทอรีหากไม่มีอยู่ และหลังจากที่คุณใส่แฟ้มใบรับรองลงไปแล้ว ให้ตรวจสอบว่าผู้ใช้และกลุ่มของแฟ้มคือ tomct และใช้ comd 400 access เพื่อให้มั่นใจว่าแฟ้มนี้อ่านได้เฉพาะผู้ใช้เท่านั้น=tommcat
- สร้างที่อยู่ URL ของถังใน รูปแบบที่ ERDDAP™ ต้องการ อี.จี. https://noaa-goes17.s3.us-east-1.amazonaws.com และ (สําหรับถังสาธารณะ) ทดสอบในเบราว์เซอร์เพื่อให้แน่ใจว่าเอกสาร XML ที่มีการเรียงลําดับของเนื้อหาของถังดังกล่าว
- ใช้ สร้าง DatatasXml เพื่อสร้าง แก้ไขโครงการหลัก... ชุดข้อมูล:
- สําหรับไดเรกทอรีเริ่มต้น ใช้ไวยากรณ์นี้: \\/ จากออนฟลาย Bucketurl ของคุณ♪ ยกตัวอย่างเช่น \*\*จากบนฟลายhttps://noaa-goes17.s3.us-east-1.amazonaws.com/
- ชื่อแฟ้มRegex? . /*
- สํานึกผิด? จริง
- โหลดใหม่ ทุกคนเหรอ? 10080
- infoUrl ?https://registry.opendata.aws/noaa-goes/
- สถาบัน? NOAA
- สรุป? ไม่มีอะไร ( ERDDAP™ จะทําการสรุปอย่างเหมาะสมโดยอัตโนมัติ)
- ชื่อ? ไม่มีอะไร ( ERDDAP™ จะสร้างชื่อเล่นที่เหมาะสมให้โดยอัตโนมัติ) ตามปกติ คุณควรแก้ไขผลของ XML เพื่อตรวจสอบความถูกต้องและทําการปรับปรุงก่อนที่ชิ้นข้อมูลชุดที่จะใช้ใน datasets.xml .
- ถ้าคุณทําตามคําแนะนําด้านบนและโหลดข้อมูลชุดใน ERDDAP คุณได้สร้าง ADTable จากแฟ้มข้อมูล เพื่อเป็นตัวอย่าง และเพื่อทําให้ทุกคนสามารถเรียกดูและดาวน์โหลดไฟล์จากช่องข้อมูล AWS ได้ง่ายขึ้น เราได้สร้าง DDTable from Files (ดูรายการที่
https://upwell.pfeg.noaa.gov/erddap/search/index.html?searchFor=awsS3Files\_ สําหรับเกือบทั้งหมด ช่องข้อมูล AWS S3 .
\[ ถังสองสามใบที่เราไม่ได้รวมไว้ มีแฟ้มจํานวนมากอยู่ในไดเร็กทอรีราก (กว่าที่สามารถดาวน์โหลดได้ในระยะเวลาที่เหมาะสม) ไม่งั้นก็ไม่อนุญาตให้ประชาชนเข้า (พวกเขาทุกคนควรจะเป็นคนเปิดเผยไม่ใช่เหรอ?) หรือผู้ขอจ่ายถัง (อี.) . \]
ถ้าคุณคลิกบน "files" ลิงก์สําหรับชุดข้อมูลเหล่านี้ คุณสามารถเรียกดูไดเร็กทอรีต้นไม้และแฟ้มในถัง S3 ได้ เพราะหนทาง\\_* จาก OntheFly EDTable from Files ทํางาน รายการไดเร็กทอรีเหล่านี้มักจะมีวันที่ดีขึ้นเสมอเพราะ ERDDAP™ พาพวกเขาบิน หากคุณคลิกต้นไม้ไดเรกทอรีลงที่ชื่อแฟ้มจริง ๆ แล้วคลิกที่ชื่อแฟ้ม ERDDAP™ จะเปลี่ยนค่าคําขอของคุณไปเป็น AWS S3 เพื่อให้สามารถดาวน์โหลดแฟ้มโดยตรงจาก AWS ได้ จากนั้นคุณสามารถตรวจสอบไฟล์ที่
ปัญหา? ถ้า DDTable ของคุณจากแฟ้มจะไม่โหลด ERDDAP™ (หรือ dads) ดูในแฟ้มปูมบันทึก.txt สําหรับข้อความผิดพลาด ถ้าคุณเห็น จาวา แลง ส่วนเสริม Argument Expressed: แฟ้มโพรไฟล์ไม่สามารถเป็นข้อผิดพลาดว่างได้ ปัญหาอยู่ที่ว่าแฟ้ม AWS SDK สําหรับ Java (ใช้โดย ERDDAP ) หาแฟ้มประวัติไม่เจอ ดูคําแนะนําในเอกสาร
น่าเสียดายที่ เอดับเบิลยูเอส ไม่อนุญาตให้คนใช้เว็บเบราว์เซอร์ เพื่อดูเนื้อหาของถังสาธารณะ
แล้วคุณก็ทําได้ ERDDAP™ ชุดข้อมูลที่จะให้ผู้ใช้เข้าถึงข้อมูลในแฟ้ม
ดูคําแนะนําใน ERDDAP™ และ S3 บัคเก็ต (เหนือ) .
สําหรับตัวอย่าง EDTable จากแฟ้มNames ข้อมูลต่าง ๆ ที่คุณทําไว้ด้านบน หากคุณลองเล่นกับไดเร็กทอรีและชื่อแฟ้มในต้นไม้ไดเร็กทอรีดู จะเห็นอย่างชัดเจนถึงชื่อไดเรกทอรีระดับบนสุด (E.g., ABI-L1b-RadC) ตรงกับอะไร ERDDAP™ จะเรียกว่าชุดข้อมูลแยก ถัง ที่ คุณ ทํา อยู่ อาจ คล้าย กัน. คุณสามารถไล่ตามการสร้างชุดข้อมูลแยกใน ERDDAP™ สําหรับข้อมูลแต่ละชุด โดยใช้, e.g.
https://noaa-goes17.s3.us-east-1.amazonaws.com/ABI-L1b-RadC/
คือ<แคชจาก URI]. โชคไม่ดี, สําหรับตัวอย่างนี้, ชุดข้อมูลในถัง ดูเหมือนจะเป็นข้อมูลระดับ 1 หรือระดับ 2 ERDDAP™ ไม่ค่อยดีเท่าไหร่ เนื่องจากชุดข้อมูล เป็นชุดตัวแปรที่ซับซ้อนกว่า ซึ่งใช้มิติต่าง ๆ
แฟ้ม NcML
แฟ้ม NcML ให้คุณได้ระบุการเปลี่ยนแปลงบน-the-fly ไปยังแหล่งกําเนิดดั้งเดิมหนึ่งหรือมากกว่า NetCDF (v3 หรือ v4) .nc . กริบ, . บุฟ, หรือ .hdf (v4 หรือ v5) ไฟล์ แล้วก็ ERDDAP™ รักษา .nc แฟ้ม mI เป็นแฟ้มต้นทาง ERDDAP™ ชุดข้อมูลจะยอมรับ .nc แฟ้ม ml เมื่อไหร่ก็ได้ .nc คาดว่าจะเป็นแฟ้ม แฟ้ม NcML ต้องมีการส่วนขยาย .nc เอ็มไอ ดู Unidata เอกสารของ NcML . NcML มีประโยชน์เพราะคุณสามารถทําอะไรบางอย่างกับมันได้ (ตัวอย่างเช่น ทําการเปลี่ยนแปลงแฟ้มต่าง ๆ ในชุดสะสม รวมถึงเพิ่มมิติด้วยค่าเฉพาะไปยังแฟ้ม) ที่นายทําไม่ได้ ERDDAP ' datasets.xml .
- เปลี่ยนเป็น .nc เวลาที่แปลงเป็น ml ของแฟ้ม จะทําการโหลดแฟ้มใหม่อีกครั้ง เมื่อไรก็ตามที่ชุดข้อมูลจะถูกโหลดใหม่ แต่การเปลี่ยนแปลงเป็นราก .nc ไฟล์ข้อมูลจะไม่ถูกสังเกตเห็นโดยตรง
- ข้อความ: NcML คือ\*มาก\*แยกแยะลําดับของรายการในแฟ้ม NcML คิดถึง NcML ที่ระบุชุดของคําสั่งในลําดับที่ระบุ โดยมีวัตถุประสงค์จะเปลี่ยนแฟ้มต้นฉบับ (สถานะที่เริ่มต้น/ บนบนของแฟ้ม NcML) ไปยังแฟ้มปลายทาง (สถานะที่ท้าย/ ล่างสุดของแฟ้ม NcML) .
ทางเลือก NcML คือ NetCDF ตัวดําเนินการ ( NCO ) . ความแตกต่างใหญ่ก็คือ NCML เป็นระบบสําหรับการเปลี่ยนแปลงเมื่อบิน (แฟ้มแหล่งไม่ได้เปลี่ยนแปลง) ในขณะที่ NCO สามารถใช้ในการทําการเปลี่ยนแปลงไปยัง (หรือรุ่นใหม่ของ) ไฟล์ ทั้งคู่ NCO และ NcML ยืดหยุ่นมาก และช่วยให้คุณเปลี่ยนแปลงได้เกือบทุกอย่าง สําหรับทั้งสองอย่าง อาจเป็นเรื่องยากที่จะค้นหาว่า จะทําอย่างไรดี ตรวจดูเว็บตัวอย่างที่คล้ายกัน ทั้งคู่เป็นเครื่องมือที่มีประโยชน์ในการเตรียม NetCDF และ HDF แฟ้มที่จะใช้ ERDDAP โดดเด่นที่จะทําการเปลี่ยนแปลงเกินสิ่งที่ ERDDAP ระบบควบคุมทําได้
ตัวอย่าง #1: เพิ่มมิติเวลาด้วยค่าเดียว นี่ไง .nc แฟ้ม ml ที่สร้างมิติภายนอกตัวใหม่ (เวลา 1 มูลค่า 1041379200) และเพิ่มมิตินั้นกับตัวแปรรูปภาพ ในแฟ้มที่มีชื่อว่า A200301.L3mm\ DAY\_PIC\ ปิก/4km .nc .
<netcdf xmlns='https://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2'>
<variable name='time' type='int' shape='time' />
<aggregation dimName='time' type='joinNew'>
<variableAgg name='pic'/>
<netcdf location='A2003001.L3m\\_DAY\\_PIC\\_pic\\_4km.nc' coordValue='1041379200'/>
</aggregation>
</netcdf>
ตัวอย่าง # 2: เปลี่ยนค่าเวลา บางครั้งแหล่งที่มา .nc แฟ้มมีมิติเวลาและเวลาอยู่แล้ว แต่ค่าของมันไม่ถูกต้อง (เพื่อวัตถุประสงค์ของคุณ) . นี่ .nc แฟ้ม ml กล่าวว่า: สําหรับแฟ้มข้อมูลที่ชื่อ "1981082300-ANCI..." สําหรับตัวแปรมิติ "time" กําหนดคุณสมบัติของหน่วยเป็น 'วินาที' ตั้งแต่ 1970-01-01T00:00:00Z' และตั้งค่าเวลาเป็น 367588800.
<netcdf xmlns='https://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2'
location="19810825230030-NCEI-L3C\\_GHRSST-SSTskin-AVHRR\\_Pathfinder-PFV5.3\\_NOAA07\\_G\\_1981237\\_day-v02.0-fv01.0.nc">
<variable name="time">
<attribute name='units' value='seconds since 1970-01-01T00:00:00Z' />
<values>367588800</values>
</variable>
</netcdf>
NetCDF ตัวดําเนินการ ( NCO )
"ผู้ดําเนินการของ NetCDF ( NCO ) คอมไพล์โปรแกรมพื้นฐานและบรรทัดคําสั่งโหลที่ใช้ NetCDF \[ v3 หรือ v4 \] . HDF \[ v4 หรือ v5 \] . \[ . กก. \] &/ หรือ DAP แฟ้มเป็นข้อมูลเข้า จากนั้นจึงประมวลผล (e.g., สืบค้นข้อมูลใหม่, คํานวณสถิติ, การพิมพ์, ความโปร่งแสง, การจัดการข้อมูลกํากับภาพ) และส่งผลลัพธ์ไปยังหน้าจอหรือแฟ้มต่าง ๆ ในรูปแบบข้อความ, แบบไบนารี หรือรูปแบบ NetCDF NCO ช่วยวิเคราะห์ข้อมูลทางวิทยาศาสตร์ รูปแบบคําสั่งเชลล์ของ NCO อนุญาตให้ผู้ใช้จัดการและวิเคราะห์แฟ้มแบบโต้ตอบ หรือใช้สคริปต์แสดงอารมณ์ ที่หลีกเลี่ยงการควบคุมบางอย่าง (จาก NCO หน้าหลัก) .
ทางเลือก NCO คือ ขนาด NcML . ความแตกต่างใหญ่ก็คือ NCML เป็นระบบสําหรับการเปลี่ยนแปลงเมื่อบิน (แฟ้มแหล่งไม่ได้เปลี่ยนแปลง) ในขณะที่ NCO สามารถใช้ในการทําการเปลี่ยนแปลงไปยัง (หรือรุ่นใหม่ของ) ไฟล์ ทั้งคู่ NCO และ NcML ยืดหยุ่นมาก และช่วยให้คุณเปลี่ยนแปลงได้เกือบทุกอย่าง สําหรับทั้งสองอย่าง อาจเป็นเรื่องยากที่จะค้นหาว่า จะทําอย่างไรดี ตรวจดูเว็บตัวอย่างที่คล้ายกัน ทั้งคู่เป็นเครื่องมือที่มีประโยชน์ในการเตรียม NetCDF และ HDF แฟ้มที่จะใช้ ERDDAP โดดเด่นที่จะทําการเปลี่ยนแปลงเกินสิ่งที่ ERDDAP ระบบควบคุมทําได้
ตัวอย่างเช่น คุณสามารถใช้ NCO เพื่อให้หน่วยของตัวแปรเวลาสอดคล้องกัน ในกลุ่มแฟ้มที่มันไม่สอดคล้องกันตอนแรก หรือคุณสามารถใช้ NCO ปรับใช้ scale\_factor ถึง add\_offset ในกลุ่มของแฟ้ม scale\_factor ถึง add\_offset มีค่าที่ต่างกันในแฟ้มแหล่งต่างๆ (หรือตอนนี้คุณสามารถจัดการกับปัญหาเหล่านั้น ERDDAP™ ผ่าน EDDGrid แฟ้มจาก Nc ซึ่งเป็นองค์ประกอบของ EDDGrid จากแฟ้ม NcFiles ที่บรรจุข้อมูลและตั้งค่าเวลามาตรฐานไว้ในระดับต่ํา เพื่อจัดการกับแฟ้มชุดสะสมที่มีความแตกต่าง scale\_factor s และ add\_offset หรือหน่วยเวลาต่างกัน.)
NCO เป็นซอฟต์แวร์เสรีและโอเพนซอร์สที่ใช้ GPL 3. 0 ใบอนุญาติ
ตัวอย่าง #1: การสร้างหน่วยสอดคล้อง
EDDGrid จากแฟ้มและ EDTable จากแฟ้มยืนยันว่าหน่วยสําหรับตัวแปรที่กําหนดจะเหมือนกันในแฟ้มทั้งหมด ถ้าบางไฟล์เป็นเรื่องเล็กน้อย (ไม่ใช้ฟังก์ชัน) แตกต่างจากคนอื่น (เช่น หน่วยเวลาของ
"วินาทีตั้งแต่ 1970-01-01 00:00 UTC" ปะทะ
"seconds since 1970-01-01T00:00:00Z" คุณสามารถใช้ NCO ' หมวดหมู่ เพื่อเปลี่ยนหน่วยในแฟ้มทั้งหมด ให้เหมือนกับ
nco/ncathed - หน่วย, เวลา, o, c'วินาทีตั้งแต่ 1970-01-01T00:00:00Z'\* .nc
\[ สําหรับปัญหาแบบนี้ใน EDTable จาก... ชุดข้อมูลแฟ้ม, ตอนนี้คุณสามารถใช้ได้ ขนาดมาตรฐาน อะไร เพื่อบอกว่า ERDDAP เพื่อกําหนดแฟ้มต้นฉบับตามที่อ่านเข้าไป ERDDAP . \]
จํากัดขนาดของชุดข้อมูล
คุณจะเห็นการอ้างถึง "2 พันล้าน" ข้างล่าง ถูก ต้อง กว่า นั้น นั่น เป็น การ อ้างอิง ถึง 2,147,483,647 (2^11) ซึ่งเป็นค่าสูงสุดของจํานวนเต็ม 32 บิต ใน ภาษา คอมพิวเตอร์ บาง ภาษา ตัว อย่าง เช่น Java (ซึ่ง ERDDAP™ เขียนด้วย) นั่นเป็นประเภทข้อมูลที่ใหญ่ที่สุด ที่สามารถนําไปใช้กับโครงสร้างข้อมูลได้หลายแบบ (ยกตัวอย่างเช่น ขนาดของอาร์เรย์) .
สําหรับค่าของข้อความ (ตัวอย่างเช่น สําหรับชื่อตัวแปร ชื่อคุณลักษณะ ค่าคุณลักษณะสตริง และค่าข้อมูลสตริง) จํานวนตัวอักษรต่อบรรทัดสูงสุด ERDDAP™ มันคือ ~2 พันล้าน แต่ เกือบ ทุก กรณี จะ มี ปัญหา เล็ก หรือ ใหญ่ หาก เชือก มี ขนาด พอ สม ควร (เช่น, 80 ตัวอักษรสําหรับชื่อและชื่อคุณลักษณะต่าง ๆ และตัวอักษร 255 ตัวอักษร สําหรับค่าลักษณะเฉพาะและค่าข้อมูลส่วนใหญ่) . ตัวอย่างเช่น, หน้าเว็บที่แสดงชื่อตัวแปรยาว จะมีชื่อที่กว้างและตัวแปรยาวอย่างน่าอึดอัด หากมันเกินขีดจํากัดของประเภทแฟ้มตอบสนอง
สําหรับชุดข้อมูลแบบฝังตัว:
- จํานวนสูงสุดของ axisVariable s คือ ~2 พันล้าน จํานวนสูงสุดของ dataVariable s คือ ~2 พันล้าน แต่ถ้าชุดข้อมูลมี > 100 ตัวแปร มันจะน่าเบื่อสําหรับผู้ใช้ที่จะใช้ และถ้าชุดข้อมูลมี > 1 ล้านตัวแปร เซิร์ฟเวอร์ของคุณจะต้องการหน่วยความจําทางกายภาพจํานวนมาก และมันจะมีปัญหาอื่น ๆ
- ขนาดสูงสุดของแต่ละมิติ ( axisVariable ) มันคือ ~2 พันล้านค่า
- ผมว่าจํานวนเซลล์สูงสุด (ผลคูณของขนาดมิติทั้งหมด) ไม่จํากัด แต่อาจเป็น ~9E18
ชุดข้อมูลอักขระแท็บ:
- จํานวนสูงสุดของ dataVariable s คือ ~2 พันล้าน แต่ถ้าชุดข้อมูลมี > 100 ตัวแปร มันจะน่าเบื่อสําหรับผู้ใช้ที่จะใช้ และถ้าชุดข้อมูลมี > 1 ล้านตัวแปร เซิร์ฟเวอร์ของคุณจะต้องการหน่วยความจําทางกายภาพจํานวนมาก และมันจะมีปัญหาอื่น ๆ
- จํานวนสูงสุดของแหล่ง (ตัวอย่างเช่น แฟ้มต่าง ๆ) ที่รวมได้ก็คือ ~2 พันล้าน
- ในบางกรณี จํานวนแถวสูงสุดจากแต่ละแหล่ง (ตัวอย่างเช่น แฟ้ม แต่ไม่ใช่ฐานข้อมูล) นั่นคือ ~2 พันล้านแถว
- ฉันไม่คิดว่าจะมีข้อจํากัดอื่น
สําหรับชุดข้อมูลแบบ grided และ tabar มีข้อจํากัดภายในบางอย่าง ในขนาดของสับเซตที่สามารถร้องขอได้โดยผู้ใช้ในการร้องขอเพียงครั้งเดียว (มักจะเกี่ยวข้องกับ >2พันล้านของอะไรสักอย่าง หรือ ~9 e18 ของอะไรสักอย่าง) แต่เป็นไปได้มากที่ผู้ใช้จะตีข้อจํากัดชนิดแฟ้ม
- NetCDF รุ่น 3 .nc ไฟล์มีจํากัด 2GB ไบต์ (ถ้านี่เป็นปัญหาสําหรับใครสักคน บอกฉันด้วย ฉันสามารถเพิ่มการสนับสนุนสําหรับ NetCDF รุ่น 3 .nc ส่วนขยาย 64 บิต หรือ NetCDF ฉบับ 4 ซึ่งจะเพิ่มขีด จํากัด ที่สําคัญ แต่ไม่แน่นอน)
- เบราว์เซอร์ล้มเหลว หลังจากข้อมูลเพียง ~500MB ดังนั้น ERDDAP™ จํากัดการตอบสนอง .htmlTable ร้องขอข้อมูล ~,400MB
- โปรแกรม วิเคราะห์ ข้อมูล หลาย โครงการ มี ขีด จํากัด คล้าย ๆ กัน (ตัวอย่างเช่น ขนาดสูงสุดของมิติ มักจะเป็น ~2 พันล้านค่า) ดังนั้นมันไม่มีเหตุผลอะไรที่จะพยายามอย่างมาก ที่จะเข้าถึงข้อจํากัดเฉพาะของไฟล์
- ข้อจํากัดที่ระบุประเภทแฟ้มมีประโยชน์ในการป้องกันการร้องขอไร้เดียงสาสําหรับข้อมูลจํานวนมากอย่างแท้จริง (ตัวอย่างเช่น, "ให้ชุดข้อมูลทั้งหมดนี่กับผม" เมื่อชุดข้อมูลมีข้อมูล 20TB) ซึ่งต้องใช้เวลาทั้งสัปดาห์หรือหลายเดือนในการดาวน์โหลด ยิ่ง ดาวน์โหลด นาน เท่า ไร ก็ ยิ่ง พลาด ไป ด้วย เหตุ ผล หลาย อย่าง.
- ข้อจํากัดระบุประเภทแฟ้มมีประโยชน์ในการบังคับให้ผู้ใช้จัดการกับสับเซตขนาดสมเหตุสมผล (ตัวอย่างเช่น การจัดการกับชุดข้อมูลแบบฝังตัวขนาดใหญ่ผ่านทางไฟล์ที่มีข้อมูลจากแต่ละจุด) .
สลับไปยัง ACD-1.3
เรา (โดยเฉพาะ สร้าง DatatasXml ) ขอแนะนําให้ใช้ ACD รุ่น 1. 3 2553 ซึ่งได้รับการรับรองเมื่อต้น ค.ศ. ก่อนถึง ERDDAP™ รุ่น 1. 2562 (ออก ใน เดือน มิถุนายน 2015) . ERDDAP™ ใช้/ ปรับปรุงต้นฉบับ รุ่น 1. 0 ของ NetCDF อนุ สัญญา เรื่อง การ ค้น พบ ข้อมูล ซึ่งถูกเรียกว่า " Unidata Datetet Directy v1.0"ในการประชุมโลกและ Metadata\_Conventions คุณสมบัติ
ถ้าชุดข้อมูลของคุณใช้ ACD รุ่นก่อนหน้า เราจะกลับมาใช้ข้อมูล คุณเปลี่ยนเป็น ACD-1.3 มันไม่ได้ยาก ACDD-1.3 เข้ากันได้กับรุ่น 1.0 เพื่อเปลี่ยน, สําหรับชุดข้อมูลทั้งหมด (ยกเว้น EDDGrid จาก เอลด์แดป และ EDTable ชุดข้อมูลจาก Eddap) .
- ลบค่าทั่วไปใหม่ Metadata\_Conventions คุณสมบัติโดยเพิ่ม (หรือเปลี่ยนสิ่งที่มีอยู่แล้ว Metadata\_Conventions คุณสมบัติ)
<att name="Metadata\\_Conventions">null</att>
ไปยังชุดข้อมูลทั่วโลก< addAttributes > 2. ถ้า ชุด ข้อมูล มี คุณสมบัติ ใน การ ประชุม ใหญ่ ทั่ว โลก< addAttributes > เปลี่ยนทั้งหมด " Unidata Datetset Directory v1.0" อ้างอิงถึง "ACD-1.3". ถ้าชุดข้อมูลไม่มีคุณสมบัติในการประชุมทั่วโลก< addAttributes > แล้วเพิ่มที่อ้างถึง ACD-1.3 ยกตัวอย่างเช่น
<att name="Conventions">COARDS, CF-1.6, ACDD-1.3</att>
3. ถ้าชุดข้อมูลมีทั่วโลก standard\_name\_vocabulary แอททริบิวต์ กรุณาเปลี่ยนรูปแบบของค่าเป็นตัวอย่างเช่น
<att name="standard\\_name\\_vocabulary">CF Standard Name Table v65</att>
ถ้าอ้างอิงเป็นรุ่นเก่าของ ตารางชื่อมาตรฐาน CF . มันอาจจะเป็นความคิดที่ดีที่จะเปลี่ยนเป็นรุ่นปัจจุบัน (65, อย่างที่เราเขียน) เนื่องจากชื่อมาตรฐานใหม่ถูกเพิ่มเข้าไปในตารางที่มีรุ่นต่อมา แต่ชื่อมาตรฐานเก่าแทบจะไม่ถูกเพิกถอนและไม่เคยถูกลบออก 4. แม้ว่า ACD-1.0 จะรวมคุณสมบัติระดับโลกสําหรับ creator\_name . creator\_email . creator\_url . สร้าง DatatasXml ไม่ได้บวกมันโดยอัตโนมัติ จนกระทั่งบางครั้ง ERDDAP™ v150. นี่เป็นข้อมูลสําคัญ
- creator\_name ให้ผู้ใช้รู้/ cite ผู้สร้างชุดข้อมูล
- creator\_email บอกที่อยู่อีเมล์ที่ต้องการสําหรับติดต่อผู้สร้างชุดข้อมูล ตัวอย่างเช่น ถ้าพวกเขามีคําถามเกี่ยวกับชุดข้อมูล
- creator\_url ให้ผู้ใช้ได้ค้นพบเพิ่มเติมเกี่ยวกับผู้สร้าง
- ERDDAP™ ใช้ข้อมูลทั้งหมดนี้เมื่อสร้าง FGDC และ ISO 19115-2/19139 เอกสารข้อมูลกํากับสําหรับแต่ละชุดข้อมูล เอกสารเหล่านั้นมักถูกใช้โดยบริการค้นหาภายนอก
กรุณาเพิ่มคุณสมบัติเหล่านี้ไปยังข้อมูลชุดข้อมูลทั่วไป< addAttributes >
<att name="creator\\_name">NOAA NMFS SWFSC ERD</att>
<att name="creator\\_email">erd.data@noaa.gov</att>
<att name="creator\\_url">https://www.pfeg.noaa.gov</att>
นั่นแหละ หวังว่าคงไม่ยากนะ
ซาร์
รุ่น 2.25 ERDDAP™ ไม่สามารถอ่านข้อมูลภายในได้ เข้ารหัสแฟ้มโดยใช้ แฟ้ม DDTAB จาก Nc ถึง EDDGrid แฟ้มจาก Nc .
(20 สิงหาคม ค.ศ.) เรา อาจ ผิด พลาด ได้ ง่าย ๆ แต่ เรา ยัง ไม่ มั่น ใจ ว่า ซาร์ หรือระบบที่คล้ายคลึงกันซึ่งแยกไฟล์ข้อมูลเป็นก้อนเล็ก ๆ เป็นวิธีแก้ปัญหาที่ดีของ ERDDAP™ กําลังอ่านข้อมูลจากบริการเมฆ เช่น AWS อเมซอน S3 Zar เป็นเทคโนโลยีที่ดี ที่ได้แสดงให้เห็นถึงประโยชน์ของมัน ในสถานการณ์หลากหลาย เราเพียงแค่ไม่แน่ใจว่า ERDDAP +S3 จะเป็นหนึ่งในสถานการณ์เหล่านั้น ส่วนใหญ่เราบอกว่า: ก่อนที่เราจะเร่งพยายามเก็บข้อมูลของเราในซาร์, ลองทดสอบดูว่า มันเป็นคําตอบที่ดีกว่าหรือเปล่า
ปัญหาของการเข้าถึงข้อมูลในเมฆเป็นความล่าช้า (ส่วนหลังที่จะรับข้อมูลก่อน) และเข้าถึงระดับแฟ้ม (มากกว่าการเข้าถึงระดับบล็อก) . Zar แก้ปัญหาการเข้าถึงระดับไฟล์ แต่ไม่มีอะไรเกี่ยวกับความล่าช้า เทียบกับการดาวน์โหลดแฟ้มแล้ว (เพื่อให้สามารถอ่านเป็นแฟ้มภายในระบบที่มีสิทธิ์ในการอ่านระดับบล็อก) Samrr อาจจะแม้ execurered ปัญหาความล่าช้าเนื่องจาก, กับ Zar, การอ่านแฟ้มตอนนี้เกี่ยวกับชุดของโทรหลาย ๆ เพื่ออ่านส่วนต่าง ๆ ของแฟ้ม (แต่ละคนมีลําต้นของตัวเอง) . ปัญหาความเฉื่อยสามารถแก้ได้โดยการเปรียบเทียบคําขอ แต่นั่นเป็นการแก้ปัญหาระดับสูง ไม่ใช่ขึ้นอยู่กับซาร์
และกับซาร์ (เช่นเดียวกับฐานข้อมูลความสัมพันธ์) เราสูญเสียความสะดวกในการมีแฟ้มข้อมูล เป็นไฟล์เดี่ยวที่เรียบง่าย ซึ่งคุณสามารถตรวจสอบความถูกต้องของ หรือใส่ข้อมูลลงไปได้
ERDDAP™ (เป็น v2) มีระบบสําหรับรักษาแคชของแฟ้มจากที่อยู่ URL (I.g., S3) (ดู)<แคชจาก Url> และ<แคช MaxGB>] (# คาเชฟัวร์) ) และเรื่องใหม่<NTHDS]] (# อ่านได้) ควรลดปัญหาความล่าช้าลง โดยการจับคู่ข้อมูล ที่ได้รับในระดับที่สูง<แคชจาก Url> ดูเหมือนจะทํางานได้ดีมากสําหรับหลายสถานการณ์ (เราไม่แน่ใจว่ามีประโยชน์แค่ไหน)<nTHeads) ไม่มีการทดสอบเพิ่มเติม.) เรายอมรับว่ายังไม่ได้ทําการทดสอบเวลาบน example AWS ที่มีการเชื่อมต่อเครือข่ายที่ดี แต่เราได้ประสบความสําเร็จในการทดสอบกับ และ ERDDAP '<แคชจากUrl> ทํางานกับชนิดของแฟ้มข้อมูลต่าง ๆ (อี.จี. .nc . .hdf ค.ศ. .jsonlCSV ) แม้ว่าการบีบอัดภายนอก (อี.จี. .gz ) ไม่มีการเปลี่ยนแปลงแฟ้ม (e.g., เขียนมันใหม่เป็นชุดสะสมของซาร์) .
เป็นไปได้ว่าสถานการณ์ที่แตกต่างกัน จะชอบวิธีแก้ปัญหาที่แตกต่างกัน เช่น แค่อ่านส่วนหนึ่งของไฟล์เท่านั้น (Zar จะชนะ) , vs. จําเป็นต้องอ่านแฟ้มทั้งหมดหนึ่งครั้ง, vs. จําเป็นต้องอ่านส่วนหรือแฟ้มทั้งหมดซ้ําอีกครั้ง (<แคชจาก Url] จะชนะ.
ส่วนใหญ่เราบอกว่า: ก่อนที่เราจะเร่งพยายามเก็บข้อมูลของเราในซาร์, ลองทดสอบดูว่า มันเป็นคําตอบที่ดีกว่าหรือเปล่า
รายการข้อมูลของชนิดต่าง ๆ
ถ้าคุณต้องการความช่วยเหลือเลือกประเภทชุดข้อมูลที่ถูกต้อง เลือกประเภทชุดข้อมูล .
ข้อมูลประเภทนี้แบ่งออกเป็นสองประเภท ( ทําไม? )
EDDGrid
- ** EDDGrid ** ชุดข้อมูลจัดการกับข้อมูลที่ถูกย่าง
- ใน EDDGrid ชุดข้อมูล ตัวแปรข้อมูล เป็นอาร์เรย์หลายมิติของข้อมูล
- มันต้องมีตัวแปรแกนในแต่ละมิติ ตัวแปร Axis ต้องระบุตามลําดับที่ตัวแปรข้อมูลใช้
- ใน EDDGrid ชุดข้อมูล, ตัวแปรข้อมูลทั้งหมดต้องถูกใช้ (หุ้น) ตัวแปรแกนทั้งหมด ( ทําไม? แล้วถ้าไม่ล่ะ ) สร้างใหม่ใน ERDDAP™ รุ่น 2.29.0 ด้วย EDDGrid จาก NCFiles มีการทดลองรองรับตัวแปรข้อมูลที่ไม่สนับสนุนตัวแปรแกนทั้งหมด (หรืออย่างที่บางคนเรียกมันว่า 1D และ 2D ในชุดข้อมูลชุดเดียวกัน) .
- ค่าขนาดเรียงลําดับ - ทั้งหมด EDDGrid ชุดข้อมูล, แต่ละมิติต้องเรียงตามลําดับ (ขึ้นหรือลง) . แต่ละคนสามารถเว้นช่องว่างได้ ไม่มีสายสัมพันธ์ นี่คือเงื่อนไขของ มาตรฐานข้อมูลกํากับภาพแบบ CF . ถ้าค่าของมิติใด ๆ ไม่เรียงตามลําดับ ชุดข้อมูลจะไม่ถูกโหลดและ ERDDAP™ จะระบุค่าแรกที่ยังไม่ได้เขียนในแฟ้มปูมบันทึก เครื่อง มือ ขนาด ใหญ่ log/log.txt.
ชนชั้นย่อยบางชั้นมีข้อจํากัดเพิ่มเติม (อาจหมายถึง EDDGrid การ ขยาย ตัว ออก ไป อย่าง กว้าง ขวาง
ค่ามิติ Unserted เกือบมักจะบอกปัญหากับชุดข้อมูลต้นฉบับ เหตุการณ์นี้มักเกิดขึ้นเมื่อแฟ้มที่มีชื่อผิดหรือไม่เหมาะสม ถูกรวมอยู่ในจดหมายเวียน ซึ่งนําไปสู่มิติเวลาที่ไม่ปรากฏ เพื่อแก้ปัญหานี้ ดูข้อความผิดพลาดใน ERDDAP™ แฟ้มปูมบันทึก.t เพื่อค้นหาค่าของเวลาที่ขัดจังหวะ จากนั้นดูในแฟ้มต้นทางเพื่อหาแฟ้มที่สอดคล้องกัน (หรือก่อนหรือหลัง) นั่นไม่เหมาะกับรังผึ้ง
- ดูรายละเอียดที่สมบูรณ์มากขึ้นของ EDDGrid โมเดลข้อมูล .
- เดอะ EDDGrid ประเภทชุดข้อมูลคือ:
- EDDGrid จากแฟ้ม Audio รวบรวมข้อมูลจากกลุ่มแฟ้มเสียงภายในระบบ
- EDDGrid จาก Dap จัดการข้อมูลการแก็ดจาก DAP เซิฟเวอร์
- EDDGrid ดึงข้อมูล ให้คุณได้แปลงชุดข้อมูลอักขระแท็บอาร์กติก ให้เป็นชุดข้อมูลแบบฝังตัว
- EDDGrid จาก เอลด์ดาป ใช้ข้อมูลจากระยะไกล ERDDAP .
- EDDGrid จาก เอ โต โป แค่จัดการกับข้อมูลภูมิศาสตร์ของ ETOPO
- EDDGrid จากแฟ้ม ซูเปอร์คลาสของทั้งหมด EDDGrid จากชั้นเรียนแฟ้ม
- EDDGrid แฟ้ม MergeIR ผนวกรวมข้อมูลจากกลุ่มของคอมไพล์ท้องถิ่น .gz แฟ้ม
- EDDGrid แฟ้มจาก Nc เก็บข้อมูลจากกลุ่มผู้ใช้ NetCDF (v3 หรือ v4) .nc และไฟล์ที่เกี่ยวข้อง
- EDDGrid แฟ้มจาก Nc เป็นตัวแปรเฉพาะ หาก EDDGrid จากแฟ้ม Nc ซึ่งรวมข้อมูลจากกลุ่มแฟ้มภายในด้วย NetCDF (v3 หรือ v4) .nc และไฟล์ที่เกี่ยวข้อง ซึ่ง ERDDAP™ ขนของที่ต่ํา
- EDDGrid ลอน PM 180 กําหนดค่าลองจิจูดของเด็ก EDDGrid เพื่อให้พวกเขาอยู่ในระยะ - 180 ถึง 180
- EDDGrid ลอน0360 กําหนดค่าลองจิจูดของเด็ก EDDGrid มันเลยอยู่ในช่วง 0 ถึง 360
- EDDGrid ด้านข้าง ประกอบสองหรือมากกว่า EDDGrid ชุดข้อมูลชิดกัน
- EDDGrid การ แบ่ง แยก ประกอบสองหรือมากกว่า EDDGrid ชุดข้อมูล, แต่ละอันมีค่าต่าง ๆ กัน สําหรับมิติแรก, แต่มีค่าเหมือนกัน สําหรับมิติอื่น
- EDDGrid คัดลอก สร้างสําเนาเครื่องใหม่ EDDGrid ข้อมูลและบริการจากสําเนาท้องถิ่น
- ทั้งหมด EDDGrid ชุดข้อมูลรองรับการตั้งค่า nTHreads ซึ่งบอกว่า ERDDAP™ วิธีการหลายเธรดที่จะใช้เมื่อตอบสนองต่อการร้องขอ ดู เปิด/ ปิด เสียง เอกสารสําหรับรายละเอียด
แก้ไขโครงการหลัก...
- แก้ไขโครงการหลัก... ชุดข้อมูลจัดการข้อมูลรอบนอก
- ข้อมูลบนแท็บมอง สามารถแทนได้ด้วยตารางแบบฐานข้อมูล ที่มีแถวและคอลัมน์ แต่ละคอลัมน์ (ตัวแปรข้อมูล) มี ชื่อ, ชุด คุณสมบัติ, และ มี ข้อมูล เพียง ชนิด เดียว. แต่ละแถวมีข้อสังเกต (หรือกลุ่มค่าที่เกี่ยวข้อง) . แหล่งข้อมูลอาจจะมีข้อมูลในโครงสร้างข้อมูลอื่น ๆ โครงสร้างข้อมูลที่ซับซ้อนมากขึ้น และ/หรือหลายแฟ้มข้อมูล แต่ ERDDAP™ ต้องสามารถที่จะทําให้ข้อมูลต้นฉบับแบนลงในตารางที่เหมือนฐานข้อมูลเพื่อนําเสนอข้อมูลเป็นแท็บอาร์กต์ผู้ใช้ของ ERDDAP .
- ดูรายละเอียดที่สมบูรณ์มากขึ้นของ โมเดลข้อมูล DDName .
- ประเภทข้อมูล EDTable คือ:
- DDTable from AllDatets เป็นชุดข้อมูลระดับสูงที่มีข้อมูลเกี่ยวกับชุดข้อมูลอื่น ๆ ทั้งหมดของคุณ ERDDAP .
- แฟ้ม DDTA จาก Ascii รวบรวมข้อมูลจากจุลภาค, แท็บ, กึ่งโคลอน หรือแฟ้มข้อมูล ASCII
- เพิ่มข้อมูล เป็นสุดยอดคลาสของ EDTable from Asciserview ห้องเรียน
- EDTable from Ascisiservnos จัดการข้อมูลจากบางส่วน NOAA บริการ NOS.
- แฟ้ม DDTable จาก Audio รวบรวมข้อมูลจากกลุ่มแฟ้มเสียงภายในระบบ
- จาก แฟ้ม AwsXml รวมข้อมูลจากสถานีสภาพอากาศอัตโนมัติ (ขนาด AWS) แฟ้ม XML
- EDTable from Cassandra รับข้อมูลจากโต๊ะคาสเซนดร้า
- แฟ้ม DDTable from Columnar Ascii รวมข้อมูลจากแฟ้มข้อมูลอักขระ ASCII ด้วยคอลัมน์ข้อมูลที่คงที่
- DDTable from Depsquest ใช้ข้อมูลอักขระแท็บจาก DAP เครื่องแม่ข่ายลําดับ
- เพิ่มข้อมูล จัดการข้อมูลรอบนอกจากตารางฐานข้อมูล
- จาก EDDGrid คุณจะสร้างชุดข้อมูล EDTable จาก EDDGrid ชุดข้อมูล
- DDTable from Edardp จัดการข้อมูลแท็บจากระยะไกล ERDDAP .
- แก้ไขโครงการหลัก... สร้างชุดข้อมูลจากข้อมูลเกี่ยวกับกลุ่มแฟ้มในระบบไฟล์ของแม่ข่ายให้บริการ แต่ไม่ได้ให้บริการข้อมูลจากภายในแฟ้ม
- เลือกแฟ้ม เป็นสุดยอดคลาสของ EDTable จาก... คลาสแฟ้ม
- เพิ่มข้อมูล คือ ERDDAP ระบบสําหรับนําเข้าข้อมูลเท่านั้น รวมถึงการส่งออกข้อมูลด้วย
- จาก Hyrax แฟ้ม (ขอบเขต) รวมข้อมูลจากแฟ้มที่มีตัวแปรหลายตัวที่มีมิติที่ใช้ร่วมกัน Hyrax OPeNDAP เซิร์ฟเวอร์ .
- แฟ้ม DDTA จาก InfidCra ข้อมูลรวมจาก NetCDF (v3 หรือ v4) .nc แฟ้มที่ใช้ค่าเฉพาะ, ใช้งานไม่ได้, ค่าย่อของ CFDSG แบบต่อเนื่อง Rangle Array (CRA) แฟ้ม ถึงแม้ว่า ERDDAP™ รองรับประเภทแฟ้มนี้ ซึ่งเป็นประเภทแฟ้มที่ไม่ควรใช้ กลุ่มที่จะใช้ประเภทแฟ้มนี้ได้ถูกสนับสนุนให้ใช้ ERDDAP™ เพื่อสร้างแฟ้ม CFDSG CRA และหยุดการใช้แฟ้มเหล่านี้
- แฟ้ม DDTable จาก JonlCSV ข้อมูลรวมจาก เจ สัน แฟ้มข้อความ CSV .
- แฟ้ม DDTable จาก Multiidnc ข้อมูลรวมจาก NetCDF (v3 หรือ v4) .nc แฟ้มที่มีหลายตัวแปร ที่มีมิติร่วมกัน
- DDTable from Mqt ที่อยู่ติดต่อใหม่... หมายเหตุเอกสารอยู่ในหน้าอุทิศ สังเกตว่ามีความคล้ายคลึงกันมาก เพิ่มข้อมูล .
- แฟ้ม DDTAB จาก Nc ข้อมูลรวมจาก NetCDF (v3 หรือ v4) .nc แฟ้มที่มีหลายตัวแปร ที่มีมิติร่วมกัน มันดีที่จะยังคงใช้ประเภทข้อมูลชุดนี้ สําหรับชุดข้อมูลที่มีอยู่ แต่สําหรับชุดข้อมูลใหม่ที่เราแนะนํา โดยใช้ DDTable from Mulitidnc Files แทน
- แฟ้ม DDTable จาก NCF ข้อมูลรวมจาก NetCDF (v3 หรือ v4) .nc แฟ้มซึ่งใช้เป็นหนึ่งในรูปแบบแฟ้มที่ระบุโดย CF แว่นขยาย (แบบ DSG) การ ประชุม ภาค. แต่สําหรับไฟล์ที่ใช้เป็นหนึ่งในหลายมิติ CF DSG ตัวแปร, ใช้ แฟ้ม DDTable จาก Multiidnc แทน
- แฟ้ม DDTable จาก Nccsv ข้อมูลรวมจาก เข้ารหัสแบบ NCSV แฟ้ม .csv ASCII
- อิเล็กทรอนิกส์ (ขอบเขต) จัดการข้อมูลอักขระแท็บจากเซิร์ฟเวอร์ NOS XML
- อิเล็กทรอนิกส์จาก OBIS จัดการข้อมูลอักขระแท็บจากเซิร์ฟเวอร์ OBIS
- เลือกจากแฟ้ม Parquet จัดการกับข้อมูล สี่เหลี่ยม .
- จาก SOS ใช้ข้อมูลอักขระแท็บจาก SOS เซิฟเวอร์
- แฟ้ม EDTIVE จาก Thredds February (ขอบเขต) รวมข้อมูลจากแฟ้มที่มีตัวแปรหลายตัวที่มีมิติที่ใช้ร่วมกัน (เต๋า) OPeNDAP เซิร์ฟเวอร์ .
- จาก WFS แฟ้ม (ขอบเขต) ทําสําเนาข้อมูลทั้งหมดจาก ArcGIS เซิร์ฟเวอร์แผนที่ WFS เซิร์ฟเวอร์ เพื่อให้ข้อมูลสามารถถูกตรวจสอบใหม่ได้อย่างรวดเร็ว ERDDAP™ ผู้ใช้
- แผ่น ดิน เหนียว สามารถสร้างชุดข้อมูล EDTable จากกลุ่มของชุดข้อมูล EDTable
- โปรแกรมคัดลอก DDTable สามารถสร้างชุดข้อมูลแบบ EDTable ในท้องถิ่นได้หลายประเภท และจากนั้นก็ตรวจสอบข้อมูลอีกครั้งอย่างรวดเร็ว จากสําเนาท้องถิ่น
รายละเอียดประเภทชุดข้อมูล
EDDGrid จาก Dap
** EDDGrid จาก Dap** ใช้ตัวแปรกริดจาก DAP เซิฟเวอร์
- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล คุณสามารถรวบรวมข้อมูลที่คุณต้องการเพื่อปรับเปลี่ยนหรือสร้าง XML ของคุณเองสําหรับ EDDGrid จากฐานข้อมูล Dap โดยดูที่ DDS และ DAS ในเบราว์เซอร์ของคุณ (โดยการเพิ่ม .das และ ids กับ sourceUrl ยกตัวอย่างเช่น https://thredds1.pfeg.noaa.gov/thredds/dodsC/satellite/BA/ssta/5day.dds ) .
- EDDGrid จาก Dap สามารถได้ข้อมูลจากตัวแปรหลายมิติจาก DAP เซิร์ฟเวอร์ข้อมูล (ความเดิมตอนที่แล้ว EDDGrid จาก Dap จํากัด เป็นตัวแปรที่กําหนดให้เป็น "gridge" แต่ที่ไม่เป็นที่ต้องการอีกต่อไป)
- ค่าขนาดเรียงลําดับ - ค่าแต่ละมิติต้องเรียงตามลําดับ (ขึ้นหรือลง) . ค่าต่าง ๆ อาจมีช่องว่างผิดปกติ ไม่มีสายสัมพันธ์ นี่คือเงื่อนไขของ มาตรฐานข้อมูลกํากับภาพแบบ CF . ถ้าค่าของมิติใด ๆ ไม่เรียงตามลําดับ ชุดข้อมูลจะไม่ถูกโหลดและ ERDDAP™ จะระบุค่าแรกที่ยังไม่ได้เขียนในแฟ้มปูมบันทึก เครื่อง มือ ขนาด ใหญ่ log/log.txt.
ค่ามิติ Unserted เกือบมักจะบอกปัญหากับชุดข้อมูลต้นฉบับ เหตุการณ์นี้มักเกิดขึ้นเมื่อแฟ้มที่มีชื่อผิดหรือไม่เหมาะสม ถูกรวมอยู่ในจดหมายเวียน ซึ่งนําไปสู่มิติเวลาที่ไม่ปรากฏ เพื่อแก้ปัญหานี้ ดูข้อความผิดพลาดใน ERDDAP™ แฟ้มปูมบันทึก.t เพื่อค้นหาค่าของเวลาที่ขัดจังหวะ จากนั้นดูในแฟ้มต้นทางเพื่อหาแฟ้มที่สอดคล้องกัน (หรือก่อนหรือหลัง) นั่นไม่เหมาะกับรังผึ้ง
EDDGrid จากโครงกระดูก Dap XML
<dataset type="EDDGridFromDap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1.
For EDDGridFromDap, this gets the remote .dds and then gets the new
leftmost (first) dimension values. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<axisVariable>...</axisVariable> <!-- 1 or more -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
</dataset>
EDDGrid ดึงข้อมูล
** EDDGrid ดึงข้อมูล** ให้คุณแปลงชุดแท็บแบบ EDTable ให้เป็น EDDGrid ข้อมูลปลอม จําไว้ ERDDAP™ ใช้ชุดข้อมูลเป็น ชุดข้อมูลแบบฝังตัว (คลาสย่อยของ EDDGrid ) หรือชุดข้อมูลแท็บ (คลาสย่อยของ EDTable) .
- โดยปกติแล้ว, ถ้าคุณมีข้อมูลแบบฝังตัว, คุณก็แค่ตั้ง EDDGrid ชุดข้อมูลโดยตรง บางครั้งนี่เป็นไปไม่ได้ ตัวอย่างเช่น เมื่อคุณมีข้อมูลที่เก็บไว้ในฐานข้อมูลความสัมพันธ์ ERDDAP™ เข้าถึงได้เฉพาะทาง EDTable from Datatabase EDDGrid จาก ชั้น เรียน ที่ เรียน ได้ จะ ช่วย คุณ แก้ไข สถานการณ์ นั้น.
- เห็นได้ชัดว่าข้อมูลใน DDTable ข้อมูลภายในจะต้อง (โดยทั่วไป) ข้อมูลที่ถูกย่าง แต่อยู่ในรูปโพลาร์ ตัว อย่าง เช่น ชุด ข้อมูล CTD แบบ EDTable อาจ มี ข้อมูล CTD: การ วัด กระแส ไฟฟ้า ทาง ตะวัน ออก และ ทาง เหนือ ที่ ความ ลึก หลาย ต่อ หลาย ครั้ง. เนื่องจากความลึกนั้นเหมือนกัน ในแต่ละครั้ง EDDGrid ข้อมูลจาก EDDTable สามารถสร้างชุดข้อมูลแบบฝังตัวด้วยเวลาและมิติความลึก ซึ่งเข้าถึงข้อมูลได้ผ่านทางชุดข้อมูล DDTable
- ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ Xml -- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล คุณ สามารถ รวบ รวม ข้อมูล ที่ คุณ จําเป็น ต้อง ได้ รับ เพื่อ ปรับ ปรุง การ ร่าง อย่าง หยาบ คาย.
- แหล่งของแอททริบิวต์ เหมือนกับชุดข้อมูลอื่นๆ EDDGrid จาก Table มีความคิดที่ว่ามีแหล่งที่มาทั่วโลก attributions และ ทั่ว โลก addAttributes (ระบุใน datasets.xml ) ซึ่งจะรวมกันทําให้ทั่วโลกรวมกัน แอตทริบิวต์ ซึ่งเป็นสิ่งที่ผู้ใช้เห็น สําหรับแหล่งข่าวทั่วโลก EDDGrid จาก ผู้ อ่าน ของ เรา แอตทริบิวชันของชุดข้อมูล DDTable (ถ้าคุณลองคิดดูสักนาที มันก็สมเหตุสมผลดี)
เช่นเดียวกัน สําหรับแต่ละคน axisVariable และ dataVariable ' addAttributes . EDDGrid ใช้ตัวแปรรวมกัน แอตทริบิวต์จากข้อมูล DDTable เป็น EDDGrid แหล่งที่มาของตัวแปรจากผู้รับ (ถ้าคุณลองคิดดูสักนาที มันก็สมเหตุสมผลดี)
ผลก็คือ ถ้า EDTable มีข้อมูลกํากับที่ดี EDDGrid จาก แหล่ง ที่ อยู่ ได้ ง่าย addAttributes ข้อมูลกํากับภาพ--แค่การปรับเปลี่ยนนิดหน่อย
-
dataVariable s เทียบกับ axisVariable เอส EDTable เบื้องหลังมีเพียง dataVariable เอส. ขนาด EDDGrid ชุดข้อมูลจาก EDDTable จะมี axisVariable วินาที (สร้างจากบาง ADTable dataVariable วินาที) และบางส่วน dataVariable วินาที (สร้างจาก EDTable ที่เหลือ dataVariable วินาที) . สร้าง DatatasXml จะเดาได้ว่า EDTable ไหน dataVariable s ควรจะกลายเป็น EDDGrid ดึงข้อมูล axisVariable เอส แต่มันก็แค่การเดา คุณต้องแก้ไขการแสดงผลผลลัพธ์ของการสร้างแฟ้ม Xml เพื่อระบุ dataVariable s จะกลายเป็น axisVariable s, และตามลําดับ
-
แกนวาลู ไม่มีอะไรเกี่ยวกับหลัก EDTable ที่จะบอก EDDGrid จากค่าที่ตั้งไว้ axisVariable s ในรุ่นของข้อมูลชุด, ดังนั้นคุณต้องให้ข้อมูลที่ axisVariable โดยคุณลักษณะหนึ่ง:
- แกนวาลู -- ให้คุณระบุรายชื่อค่า ยกตัวอย่างเช่น <at name="axisValues" ประเภท = "List" 2553, 4</at> สังเกตการใช้ ชนิดของข้อมูล และคําว่า "ลิสต์" และประเภทของรายการ (ยกตัวอย่างเช่น สองเท่า) ต้องตรงกับข้อมูล ชนิดของตัวแปรใน EDTable และ EDDGrid ชุดข้อมูลจาก EDDD
- แกนวาลูส StartStrid stop -- ให้คุณระบุลําดับของค่าปกติ โดยระบุค่าเริ่มต้น, เลื่อน, และหยุด นี่คือตัวอย่างที่เทียบเท่ากับ ตัวอย่างแกนวาลู ด้านบน: <at name="PortValues Startstrid Stop" ประเภท = "List" 1-22, 0.5, 4</at> โปรด สังเกต การ ใช้ ชนิด ข้อมูล ใน รายการ อีก ครั้ง. และประเภทของรายการ (ยกตัวอย่างเช่น สองเท่า) ต้องตรงกับข้อมูล ชนิดของตัวแปรใน EDTable และ EDDGrid ชุดข้อมูลจาก EDDD
ปรับปรุง เหมือนกับที่ไม่มีทาง EDDGrid จาก EDDDTable เพื่อตัดสินแกน Values จาก EDTable ในตอนแรกยังมีวิธีการเชื่อถือได้สําหรับ EDDGrid จาก EDDTII เพื่อตรวจสอบจาก EDTAIBII เมื่อแกน Value ได้มีการเปลี่ยนแปลง (โดยเฉพาะเมื่อมีค่าใหม่ของตัวแปรเวลา) . ปัจจุบัน ทางแก้เดียวคือ เปลี่ยนคุณสมบัติของแกนวาลู datasets.xml และโหลดชุดข้อมูล ตัวอย่างเช่น คุณสามารถเขียนสคริปต์
- ค้นหา datasets.xml สําหรับ datasetID =" หมายเลข Datatazy " ดังนั้นคุณกําลังทํางานกับชุดข้อมูลที่ถูกต้อง
- ค้นหา datasets.xml สําหรับเหตุการณ์ถัดไป
Variables SourceName
ดังนั้นคุณกําลังทํางานกับตัวแปรที่ถูกต้อง - ค้นหา datasets.xml สําหรับเหตุการณ์ถัดไป
<att name="axisValuesStartStrideStop" type="doubleList">
คุณรู้ตําแหน่งเริ่มต้นของป้าย 4. ค้นหา datasets.xml สําหรับเหตุการณ์ถัดไป
</att>
ดังนั้นคุณรู้ตําแหน่งปลายของค่าแกน 5. แทนที่จุดเริ่มต้นเดิม, ความคืบหน้า, หยุดค่าด้วยค่าใหม่ 6. ติดต่อ ที่อยู่ URL ธง สําหรับข้อมูลชุดที่จะบอกว่า ERDDAP™ เพื่อเรียกข้อมูลใหม่
นี่ไม่ใช่อุดมคติ แต่มันเวิร์ค
- ความแม่นยํา-- เมื่อ EDDGrid จาก EDDTIA จะตอบรับคําขอของผู้ใช้สําหรับข้อมูล, มันย้ายแถวของข้อมูล จากตารางตอบรับแบบ EDTable EDDGrid ระบบตอบโต้ ในการทําอย่างนี้, มันต้องหาว่า ค่า "แกน" บนแถวที่กําหนดในตาราง ตรงกับผลรวมของค่าแกนในตารางหรือเปล่า สําหรับข้อมูลประเภทจํานวนเต็ม มันง่ายกว่าที่จะตัดสินว่าค่าสองค่าเท่ากัน แต่สําหรับลอยและคู่นี้นําขึ้น ปัญหาที่น่ากลัวของจํานวนจุดลอย ไม่ตรงกันเป๊ะ . (ตัวอย่างเช่น, 0.2 เทียบกับ 0.19999999999999996) . ถึง (พยายาม) จัดการเรื่องนี้ซะ EDDGrid จากค่าที่อ่านได้ ให้คุณระบุแอตทริบิวต์ที่ถูกต้องสําหรับใด ๆ axisVariable s, ซึ่งระบุจํานวนทศนิยมทั้งหมด ที่ต้องเท่ากัน
- ยกตัวอย่างเช่น<at name="procsion" ประเภท="int"> 5</at>
- สําหรับตัวแปรข้อมูลต่าง ๆ มีค่าความแม่นยําปริยายที่แตกต่างกัน โดยปกติแล้วค่าปริยายจะเหมาะสม หากมันไม่ใช่ คุณต้องระบุค่าต่างๆ
- สําหรับ axisVariable s นั่นคือ เวลาหรือเวลา ตัวแปรสแตมป์ ค่าเริ่มต้น: (ตรงกันเป๊ะ) .
- สําหรับ axisVariable s ที่ลอย, ความแม่นยําปริยายคือ 5
- สําหรับ axisVariable s ที่เป็นสองเท่า, ความแม่นยําปริยายเป็น 9
- สําหรับ axisVariable s ที่มีข้อมูลประเภทจํานวนเต็ม EDDGrid จาก ผู้ อ่าน ของ เรา (ตรงกันเป๊ะ) .
- ปฏิเสธ! เมื่อทําการแปลงส่วนของข้อมูล tabular เป็นชิ้นของข้อมูลที่ฝังอยู่, ถ้า EDDGrid จาก EDDTable ไม่สามารถเทียบค่า EDTable "แกน" กับค่าใดค่าหนึ่งตามที่คาดหวัง EDDGrid ค่าแกนจาก EDD สามารถใช้ได้ EDDGrid จาก ปก (ไม่มีข้อผิดพลาด) โยนข้อมูลออกจากแถวของโต๊ะ ตัวอย่างเช่น อาจมีข้อมูลอื่น (ไม่ใช่ในตาราง) ในชุดข้อมูล EDTable (และหากมีความคืบหน้า > 1, มันไม่ชัดเจน EDDGrid จากค่าที่แกนเป็น ค่าที่ต้องการ และค่าใด เป็นค่าที่ข้ามไป เพราะมีความก้าวหน้า) ดังนั้น หากค่าความแม่นยําสูงเกินไป ผู้ใช้จะเห็นค่าสูญหายในการตอบสนอง เมื่อค่าข้อมูลใช้ได้จริง
ในทางกลับกัน หากค่าความแม่นยําถูกตั้งค่าต่ําเกินไป ค่า EDTable "แกน" ที่ไม่ควรตรงกับ EDDGrid ค่าแกนกํากับจากผู้ใช้ (ผิด) ตรงกัน
ปัญหาที่เป็นไปได้เหล่านี้น่ากลัวเพราะผู้ใช้ได้รับข้อมูลที่ไม่ถูกต้อง (หรือสูญเสียค่า) เมื่อไหร่พวกเขาจะได้รับข้อมูลที่ถูกต้อง (หรืออย่างน้อยข้อความผิดพลาด) . นี่ไม่ใช่ข้อบกพร่อง EDDGrid จากเทเบิล EDDGrid จาก Table ไม่สามารถแก้ปัญหานี้ได้ ปัญหามีอยู่ในการแปลงข้อมูลอักขระแท็บเป็นข้อมูล (นอกจากข้อสันนิษฐานอื่น ๆ สามารถทําได้ แต่พวกเขาไม่สามารถทําที่นี่) . มันขึ้นอยู่กับคุณ ERDDAP™ ผู้ดูแลระบบ, ถึง ทดสอบ EDDGrid จาก ผู้ อ่าน ของ เรา เพื่อ ให้ แน่ ใจ ว่า ค่า นิยม ที่ ถูก ต้อง แม่นยํา ถูก กําหนด ไว้ เพื่อ หลีก เลี่ยง ปัญหา ที่ อาจ เกิด ขึ้น ได้ เหล่า นี้.
ช่องว่าง
- ช่องว่าง -- นี่เป็นชุดข้อมูลที่ผิดปกติมาก ตั้งแต่ชนิดของความต่อเนื่องที่สามารถทํา (จัดการโดย) เป็น EDDGrid ชุดข้อมูล (เกี่ยวข้องกับช่วงและความก้าวหน้าของ axisVariable วินาที) แตกต่างกันมากจากชนิดของ query ที่สามารถทําเพื่อ (จัดการโดย) ชุดข้อมูล EDTable (แค่เกี่ยวข้องกับเรนจ์ของตัวแปร) การแสดงของ EDDGrid ชุดข้อมูลจาก EDDTable จะแตกต่างกันอย่างมาก ขึ้นอยู่กับการร้องขอที่แน่นอนซึ่งทํา และความเร็วของชุดข้อมูล DDTable สําหรับการร้องขอที่มีความคืบหน้าค่า > 1 EDDGrid จาก ผู้ อ่าน ของ เรา (ราวกับว่าความคืบหน้า = 1) และผ่านผลลัพธ์ เก็บข้อมูลจากบางแถว และทิ้งข้อมูลจากคนอื่น ถ้ามันต้องผ่านข้อมูลจํานวนมาก เพื่อรับข้อมูลที่จําเป็น คําร้องขอจะใช้เวลานานขึ้น
ถ้า EDDGrid จาก ผู้ อ่าน ของ เรา (เป็นแถวของข้อมูลที่ไม่ต้องการ) ระหว่างแถวกับข้อมูลที่ต้องการ EDDGrid อาจ ทํา ให้ มี การ สอบ ถาม คํา ถาม หลาย ข้อ ที่ อยู่ ใน หัว เรื่อง ที่ อยู่ เบื้อง ล่าง แทน คํา ขอ ที่ ใหญ่ โต ข้อ หนึ่ง โดย วิธี นี้ จึง ข้าม แถว ข้อมูล ที่ ไม่ ต้องการ ใน ช่อง กว้าง. ระดับความไวของการตัดสินใจนี้ จะถูกควบคุมด้วยค่า Throreshoold ตามที่กําหนดไว้ใน<ป้ายกํากับ (ค่าปริยาย=1000 แถวของข้อมูลแหล่ง) . ตั้งค่าช่องว่างที่ยึดเป็นจํานวนที่น้อยกว่า จะนําไปสู่ชุดข้อมูลการทํา (โดยทั่วไป) สอบถามเพิ่มเติม ตั้งค่าช่องว่างที่ยึดเป็นจํานวนที่มากขึ้น จะนําไปสู่ชุดข้อมูลการทํา (โดยทั่วไป) สอบถามน้อยลง
ถ้าช่องว่างของกําแพงแคบเกินไป EDDGrid การ ทํา เช่น นี้ จะ ทํา ให้ การ ขอ หลาย ๆ แบบ ช้า ลง. ถ้าช่องว่างของกําแพงใหญ่เกินไป EDDGrid STIDDDTA จะทํางานช้ามากขึ้น เพราะข้อมูลที่มากเกินไปจะถูกรับจาก ADTA เพียงเพื่อการละทิ้ง (ขณะที่โกลดิล็อกส์ค้นพบ ตรงกลางคือ "ถูกต้อง") ค่าใช้จ่ายสําหรับรูปแบบต่าง ๆ ของชุดข้อมูลแบบ EDTable มีความแตกต่างกันอย่างมาก ดังนั้นวิธีเดียวที่จะรู้ แต่คุณคงไม่พลาดมากนัก ที่จะยึดติดอยู่กับการผิดสัญญา
ตัว อย่าง ง่าย ๆ ก็ คือ: ลอง นึก ภาพ EDDGrid จากใจเดียว axisVariable (เวลาที่มีขนาดของ 100000) หนึ่ง dataVariable (อุณหภูมิ) และช่องว่างปริยายของ 1000
- หากผู้ใช้ต้องการอุณหภูมิ \[ 0: 100/0.58; 5000 \] ความก้าวหน้าเป็น 100 ดังนั้นช่องว่างมีขนาดเป็น 99 ซึ่งน้อยกว่าช่องว่าง Threscold. ดังนั้น EDDGrid จาก Table จะทําการขอเพียงหนึ่งใบไปยัง EDTable สําหรับข้อมูลทั้งหมดที่จําเป็นสําหรับการร้องขอ (เท่ากับอุณหภูมิ \[ 0: 5000 \] ) และทิ้งข้อมูลทั้งหมด ที่ไม่จําเป็นไป
- หากผู้ใช้ต้องการอุณหภูมิ \[ 0: 2500:5000 \] 2500 ความก้าวหน้าดังกล่าวจึงมีขนาดช่องว่าง 2499 ซึ่งมากกว่าช่องว่าง Trescold. ดังนั้น EDDGrid จาก Teable จะทําการขอแยกเป็น EDTable ซึ่งเทียบเท่ากับอุณหภูมิ \[ 0 \] อุณหภูมิ \[ 2500 \] อุณหภูมิ \[ 5000 \] .
การคํานวณขนาดช่องว่างนั้นซับซ้อนกว่า เมื่อมันมีแกนหลายแกน
สําหรับการร้องขอของผู้ใช้แต่ละคน EDDGrid ลายนิ้วมือที่สามารถวิเคราะห์ได้ ปูมบันทึก. txt แฟ้ม
- ถ้า<logLevil) (ระดับของบล็อก) ใน datasets.xml ตั้งเป็นข้อมูลแล้ว, ลายนิ้วมือนี้เหมือนกับ /* nouterAxes=1 จาก 4 outerRequest=22 ถ้า n outerAxes=0 ช่อง Tresold ไม่ได้เกินและคําขอเพียงหนึ่งจะทํา EDTable ถ้า n outerAxes: 0 ช่องช่องว่าง Thresold ถูกเกิน และ n outer Requets จะทําไปยัง EDTAable, ตรงกับแต่ละชุดที่ต้องการของ nouterAxs ตัวอย่างเช่น, ถ้าชุดข้อมูลมี 4 axisVariable s และ dataVariable s เหมือนทางตะวันออก \[ เวลา \] \[ เส้นรุ้ง \] \[ เส้นแวง \] \[ ความลึก \] ทางซ้ายสุด (ก่อน) ตัวแปรแกนคือเวลา
- ถ้า<logLevil) ใน datasets.xml มีการกําหนดไปยังทั้งหมด จะมีการเขียนข้อมูลเพิ่มเติมไปยังแฟ้ม log.txt
EDDGrid โครง กระดูก ที่ ฟื้น ได้ XML
<dataset type="EDDGridFromEDDTable" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1.
For EDDGridFromEDDTable, this only works if the underlying EDDTable
supports updateEveryNMillis. -->
<gapThreshold>...</gapThreshold> <!-- 0 or 1. The default is 1000. >
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<axisVariable>...</axisVariable> <!-- 1 or more -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
<dataset>...</dataset> <!-- The underlying source EDDTable dataset. -->
</dataset>
ED* จาก ERDDAP
** EDDGrid จาก เอลด์ดาป** ใช้ข้อมูลจากระยะไกล ERDDAP™ เซิฟเวอร์ DDTable from Edardp จัดการข้อมูลแท็บจากระยะไกล ERDDAP™ เซิฟเวอร์
- EDDGrid จาก Eddadap และ EDTable from Edardp ประพฤติแตกต่างจากรูปแบบอื่น ๆ ทั้งหมดของชุดข้อมูลใน ERDDAP .
- เช่นเดียวกับชุดข้อมูลชนิดอื่น ชุดข้อมูลเหล่านี้ จะรับข้อมูลชุดข้อมูลจากแหล่งที่มา และเก็บไว้ในความทรงจํา
- เหมือนชุดข้อมูลชนิดอื่น เมื่อ ERDDAP™ ค้นหาชุดข้อมูล, แสดงรูปแบบการเข้าถึงข้อมูล ( * datasetID * . html) หรือแสดงรูปแบบกราฟ ( * datasetID * ลายเซ็น) . ERDDAP™ ใช้ข้อมูลเกี่ยวกับชุดข้อมูล ซึ่งอยู่ในหน่วยความจํา
- EDDGrid จาก เอลด์แดป และ EDTable จาก Eddep เป็นพื้นฐานสําหรับ กริด/ ส่วนประกอบ ของ ERDDAP S ซึ่งกระจายการใช้งาน CPU อย่างมีประสิทธิภาพ (ส่วนใหญ่สําหรับการทําแผนที่) การใช้งานหน่วยความจํา คลังข้อมูล และการใช้งานแบนด์วิธของศูนย์ข้อมูลขนาดใหญ่
เปลี่ยนทิศทาง
- ไม่เหมือนกับชุดข้อมูลประเภทอื่น เมื่อ ERDDAP™ รับการร้องขอข้อมูลหรือภาพจากชุดข้อมูลเหล่านี้ ERDDAP เปลี่ยนทิศทาง การร้องขอไปยังระยะไกล ERDDAP™ เซิฟเวอร์ ผล คือ:
- มันมีประสิทธิภาพมาก (CPU, หน่วยความจํา, และแบนด์วิธ) เพราะไม่งั้น
- ภาพ ประกอบ ERDDAP™ ต้องส่งคําขอไปให้คนอื่น ERDDAP™ (ซึ่งต้องใช้เวลา) .
- อื่น ๆ ERDDAP™ ต้องเอาข้อมูล, ปฏิรูปมัน, แล้วส่งต่อข้อมูลไปยังองค์ประกอบ ERDDAP .
- ภาพ ประกอบ ERDDAP™ ต้องรับข้อมูล (ใช้แบนด์วิธ) การปฏิรูปมัน (ใช้หน่วยประมวลผลและหน่วยความจํา) และส่งข้อมูลไปยังผู้ใช้ (ใช้แบนด์วิธ) . โดยเปลี่ยนเส้นทางคําขอและอนุญาตให้อื่น ๆ ERDDAP™ เพื่อส่งข้อความไปยังผู้ใช้โดยตรง ERDDAP™ โดยหลักแล้วไม่ใช่เวลา CPU, ความทรงจํา, หรือแบนด์วิดธ ตามคําขอ
- การเปลี่ยนเส้นทางเป็นแบบโปร่งใสกับผู้ใช้ ไม่คํานึงถึงซอฟต์แวร์ของไคลเอนต์ (เบราว์เซอร์หรือเครื่องมือโปรแกรมหรือบรรทัดคําสั่งอื่น ๆ) .
- มันมีประสิทธิภาพมาก (CPU, หน่วยความจํา, และแบนด์วิธ) เพราะไม่งั้น
- คุณบอกได้ว่า ERDDAP™ ไม่ได้แปลงค่าผู้ใช้ตามที่ร้องขอมาโดยการตั้งค่า<POWER( ข้อความ) เท็จ<แต่สิ่งนี้ทําลายข้อดีส่วนใหญ่ของ... (น่า สังเกต การ กระจาย ของ หนัก ไว้ ตรง ปลาย ด้าน หน้า ERDDAP™ ไปยังระยะไกล/ แบ็คเอนด์ ERDDAP ) .
สมาชิก
ปกติเมื่อ EDDGrid จาก เอลด์แดป และ EDTable จาก Eddam เป็น (อีกครั้ง) บรรจุกระสุน ERDDAP พวกเขาพยายามที่จะเพิ่มการบอกรับข้อมูลจากระยะไกลผ่านทางระยะไกล ERDDAP ระบบรับจดหมาย/URL วิธีนั้น เมื่อข้อมูลมีการเปลี่ยนแปลง ระยะไกล ERDDAP™ ติดต่อ ตั้งค่า ที่อยู่ URL ธง บนของคุณ ERDDAP™ เพื่อให้ชุดข้อมูลท้องถิ่น ถูกโหลดอัตโนมัติ และชุดข้อมูลท้องถิ่น จะสมบูรณ์ขึ้นจนถึงวันที่ และเลียนแบบชุดข้อมูลระยะไกล ดังนั้น ครั้งแรกที่เรื่องนี้เกิดขึ้น คุณควรจะได้รับอีเมล ขอให้คุณยืนยันการสมัครสมาชิก อย่างไรก็ตาม ถ้าคนท้องถิ่น ERDDAP™ ไม่สามารถส่งอีเมลหรือถ้าระยะไกล ERDDAP ระบบบอกรับอีเมล/ URL ไม่ได้ทํางานอยู่ คุณควรส่งอีเมลจากระยะไกล ERDDAP™ ผู้ดูแลระบบและร้องขอให้เพิ่ม s/Help ด้วยตนเอง<ON Changle) (เมื่อมีการเปลี่ยนแปลง) ...<ป้ายกํากับไปยังชุดข้อมูลที่เกี่ยวข้องทั้งหมด ที่จะเรียกชุดข้อมูลของคุณ ตั้งค่า ที่อยู่ URL ธง . ดูของคุณ ERDDAP™ รายการรายงานประจําวัน ที่อยู่ URL ธง แต่เพียงแค่ส่งหนึ่งสําหรับ EDDGrid จาก Eddadap และ EDTable from Edardp languages ไปยังระยะไกล ERDDAP™ ผู้บริหาร
มันไม่ได้ผลเหรอ? ข้อมูลท้องถิ่นของคุณไม่ตรงกับ ชุดข้อมูลทางไกลหรือไม่? หลายสิ่งจะต้องทํางานอย่างถูกต้องเพื่อให้ระบบนี้ทํางาน เพื่อให้ชุดข้อมูลของคุณคงขึ้นถึงวันที่ ตรวจ ดู สิ่ง เหล่า นี้ แต่ ละ อย่าง เป็น ลําดับ:
- คุณ ERDDAP™ คงสามารถส่งอีเมลได้ ดูการตั้งค่าอีเมลในการตั้งค่า.xml ของคุณ
- โดยทั่วไป (แต่ไม่เสมอไป) คุณ ERDDAP '<และ<BasehtpsUrl). ไม่จําเป็นต้องมีหมายเลขพอร์ต (E.g., :8080, :43) . ถ้าพวกเขาทํา ใช้ ตําแหน่งพร็อกซี เพื่อเอาเรือออกจากเรืออูเรล
- ในการตั้งค่าของคุณ xml<ต้องตั้งค่าให้เป็นจริง
- เมื่อ DED ท้องถิ่นของคุณ ... โหลดชุดข้อมูลจาก Eddap ใหม่แล้ว มันควรจะส่งคําขอไปยังระยะไกล ERDDAP™ บอกรับข้อมูลทางไกล ดูในบันทึก.txt เพื่อดูว่านี่เกิดขึ้น
- คุณควรจะได้รับอีเมล ขอให้คุณตรวจสอบการร้องขอสมัครสมาชิก
- คุณต้องคลิกบนลิงก์ในอีเมลนั้น เพื่อตรวจสอบสิ่งที่ร้องขอมา
- รีโมท ERDDAP™ ควร จะ กล่าว ว่า การ ทํา เช่น นั้น สําเร็จ. อย่างไรก็ตาม คุณสามารถขออีเมลจากทางไกลได้ ERDDAP™ กับรายการการรอรับของคุณและที่ถูกต้อง ดูรูปแบบที่ ปลายทางName Url เคอร์ดัป/ตัวรับคําสั่ง/รายการ. html.
- เมื่อชุดข้อมูลระยะไกลมีการเปลี่ยนแปลง (เช่น รับข้อมูลเพิ่มเติม) รีโมท ERDDAP™ น่าจะลองติดต่อกองธงดู ERDDAP . คุณไม่สามารถตรวจสอบนี้ แต่คุณสามารถถามผู้บริหารของรีโมท ERDDAP™ เพื่อตรวจสอบนี่
- คุณ ERDDAP™ ควรได้รับการร้องขอให้ตั้งค่าธงชาติดังกล่าว ดูในปูมบันทึกของคุณ.txt สําหรับ "เซต Datatet Flax.t"? (วินาที) ดูว่ามีข้อความผิดพลาดที่ตรงกับคําขอหรือไม่
- คุณ ERDDAP™ ควรพยายามโหลดชุดข้อมูลนั้นใหม่อีกครั้ง (บางทีอาจจะไม่ใช่ทันที แต่เร็วที่สุด) .
ขยายใหญ่สุด (เวลา) ?
EDDGrid / Table from Eddap languages จะเปลี่ยนข้อมูลที่เก็บเกี่ยวกับข้อมูลแต่ละแหล่งเมื่อชุดข้อมูลต้นฉบับ "โหลดใหม่" และส่วนบางส่วนของการเปลี่ยนแปลง (เช่น ตัวแปรเวลา actual\_range ) จึงทําให้เกิดการแจ้งข้อมูล ถ้าชุดข้อมูลต้นฉบับมีข้อมูลที่เปลี่ยนแปลงบ่อยครั้ง (ตัวอย่างเช่น ข้อมูลใหม่ทุกๆวินาที) และใช้ "อัพเดต" ระบบที่จะสังเกตเห็นการเปลี่ยนแปลงบ่อยครั้งกับข้อมูลพื้นฐาน, EDDGrid / Table from Eddradap จะไม่ได้รับแจ้งเกี่ยวกับการเปลี่ยนแปลงที่เกิดขึ้นบ่อย ๆ นี้ จนกว่าชุดข้อมูลถัดไป "โหลด", ดังนั้น EDDGrid - Table จาก Eddadap จะไม่ได้สมบูรณ์ขึ้นสู่วันที่ คุณสามารถทําให้ปัญหานี้น้อยที่สุด โดยการเปลี่ยนข้อมูลแหล่ง<โหลดรายการทุก ๆNMutchs) ไปยังค่าที่น้อยกว่า (60 หรือ 15) เพื่อให้มีการแจ้งข้อมูลเพิ่มเติมที่จะบอกว่า EDDGrid สืบค้นข้อมูลแหล่งข้อมูล
หรือ ถ้าระบบจัดการข้อมูลของคุณรู้ เมื่อข้อมูลแหล่งมีข้อมูลใหม่ (เช่น โดยใช้สคริปต์ที่คัดลอกแฟ้มข้อมูลเข้าที่) และถ้ามันไม่บ่อยมากๆ (เช่นทุกๆ 5 นาที หรือบ่อยขึ้น) มีทางออกที่ดีกว่า
- อย่าใช้<update everNMillies) เพื่อเก็บ source set up-to-date.
- ตั้งค่าชุดข้อมูลต้นฉบับ<โหลดรายการทุก ๆ Minuts) ไปยังหมายเลขที่มากขึ้น (1440?) .
- ให้ติดต่อสคริปต์ชุดข้อมูลต้นฉบับ ที่อยู่ URL ธง หลังจากที่มันคัดลอกไฟล์ข้อมูลใหม่เข้ามา
นั่นจะนําไปสู่ข้อมูลแหล่ง ที่สมบูรณ์แบบขึ้นถึงวัน และทําให้มันสร้างการแจ้งรับข้อมูล ซึ่งจะส่งไปยัง EDDGrid ข้อมูลจาก Eddadap นั่นจะนํา EDDGrid ข้อมูลต่าง ๆ ของปฏิทิน (ภายใน 5 วินาที ข้อมูลใหม่จะถูกเพิ่ม) . และทุกสิ่งที่จะทําอย่างมีประสิทธิภาพ (โดยไม่ต้องใส่ข้อมูลซ้ํา) .
ไม่ addAttributes . axisVariable หรือ dataVariable
ไม่เหมือนกับชุดข้อมูลประเภทอื่น EDTable from Edardp และ EDDGrid ชุดข้อมูลจาก Eddep ไม่อนุญาตให้ใช้ทั่วโลก<addAttributes>.< axisVariable & gt; หรือ< dataVariable & gt; ตอนใน datasets.xml สําหรับชุดข้อมูล ปัญหาคือการปล่อยให้สิ่งเหล่านั้น นําไปสู่ความไม่สอดคล้องกัน
- สมมุติว่ามันได้รับอนุญาต และคุณเพิ่มคุณลักษณะโลกใหม่
- เมื่อผู้ใช้ถาม ERDDAP™ สําหรับ คุณสมบัติ ทั่ว โลก ลักษณะ นิสัย ใหม่ จะ ปรากฏ ขึ้น.
- แต่เมื่อผู้ใช้ถาม ERDDAP™ สําหรับแฟ้มข้อมูลของคุณ ERDDAP™ เปลี่ยนเส้นทางที่ร้องขอไปยังแหล่ง ERDDAP . นั่น ERDDAP™ ไม่ รู้ จัก คุณลักษณะ ใหม่. ดังนั้น ถ้ามันสร้างแฟ้มข้อมูล ด้วยข้อมูลกํากับ เช่น .nc แฟ้ม ข้อมูลกํากับจะไม่มีคุณลักษณะใหม่
มีสองแบบ:
- จง โน้ม น้าว ความ คิด เห็น ของ แหล่ง ที่ มา ERDDAP™ เพื่อสร้างการเปลี่ยนแปลงที่คุณต้องการไปยังข้อมูลกํากับภาพ
- แทนที่ EDTable from Edardp, ใช้ DDTable from Depsquest . หรือแทนที่จะเป็น EDDGrid จากเอิร์ดแดป ใช้ EDDGrid จาก Dap . ประเภท DD เหล่านั้นช่วยให้คุณเชื่อมต่อกับข้อมูลบนระยะไกลได้มีประสิทธิภาพ ERDDAP™ (แต่ไม่มีการย้ายข้อมูลที่ต้องการ) และมันช่วยให้คุณรวมทั่วโลก<addAttributes>.< axisVariable & gt; หรือ< dataVariable & gt; ตอนใน datasets.xml . ความแตกต่างอีกอย่างคือ คุณจะต้องสมัครรับ ข้อมูลจากระยะไกล เพื่อให้ข้อมูลในข้อมูล ERDDAP™ จะถูกแจ้งให้ทราบ (ผ่าน ที่อยู่ URL ธง ) เมื่อมีการเปลี่ยนแปลงเป็นชุดข้อมูลระยะไกล ด้วย เหตุ นี้ คุณ กําลัง สร้าง ชุด ข้อมูล ใหม่ แทน ที่ จะ เชื่อม โยง กับ ข้อมูล ที่ อยู่ ห่าง ไกล.
บันทึกย่ออื่น ๆ
- ด้วยเหตุผลด้านความปลอดภัย EDDGrid จาก เอลด์แดป และ EDTable จากเอเวอร์แดปไม่สนับสนุน<เข้าถึง To]] (# เข้าถึงได้) แท็กและไม่สามารถใช้กับชุดข้อมูลระยะไกลที่ต้องการการบันทึก (เนื่องจากใช้ [ใน]<เข้าถึง To]] (# เข้าถึงได้) ). ดู ERDDAP ' ระบบรักษาความปลอดภัย เพื่อจํากัดการเข้าถึงชุดข้อมูลบางส่วนกับผู้ใช้บางคน
- เริ่มด้วย ERDDAP™ v2.10. EDDGrid [จาก Eddadap and EDTable from Edardp สนับสนุน]<Access Via Files) (แฟ้มที่อ่านได้) ป้าย ไม่เหมือนกับชุดข้อมูลประเภทอื่น, ค่าปริยายจะเป็นจริง แต่แฟ้มข้อมูลชุดนั้น จะสามารถเข้าใช้งานแฟ้ม Via ได้ก็ต่อเมื่อชุดข้อมูลต้นฉบับมี<February Via Files) กําหนดให้เป็นจริง
- คุณสามารถใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อทําให้ datasets.xml ผนวกเข้ากับชุดข้อมูลประเภทนี้ แต่คุณสามารถทําชุดข้อมูลเหล่านี้ด้วยมือได้ง่าย
EDDGrid กระดูก สัน หลัง XML
- EDDGrid กระดูก สัน หลัง ชุดข้อมูล XML นั้นเรียบง่ายมาก, เพราะวัตถุประสงค์คือการเลียนแบบข้อมูลระยะไกล ซึ่งเหมาะกับการใช้งานอยู่แล้ว ERDDAP .
<dataset type="EDDGridFromErddap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<accessibleViaFiles>...</accessibleViaFiles> <!-- 0 or 1, default=true. -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1
For EDDGridFromErddap, this gets the remote .dds and then gets
the new leftmost (first) dimension values. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<redirect>true(default)|false</redirect> <!-- 0 or 1; -->
</dataset>
กระดูก สัน หลัง XML
- โครงกระดูกแบบ XML สําหรับชุดข้อมูล EDTable จาก Eddrap นั้นง่ายมากๆ เพราะจุดประสงค์ก็คือ การเลียนแบบชุดข้อมูลระยะไกล ซึ่งเหมาะกับการใช้งานอยู่แล้ว ERDDAP .
<dataset type="EDDTableFromErddap" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<redirect>true(default)|false</redirect> <!-- 0 or 1; -->
</dataset>
EDDGrid จาก เอ โต โป
** EDDGrid จาก เอ โต โป** แค่เสิร์ฟ ETOPO1 Global 1-Mitute Gried Dtaination Date (พื้นผิวน้ําแข็ง, ตารางลงทะเบียนฐานสอง, inte: etopo1\ ce\_g/i2 .zip ) ซึ่งกระจายด้วย ERDDAP .
- แค่สอง datasetID รองรับ s สําหรับ EDDGrid จาก Etopo เพื่อให้คุณสามารถเข้าถึงข้อมูล ด้วยค่า ลองจิจูด - 180 ถึง 180 หรือลองติจูด ค่า 0 ถึง 360
- ไม่มีป้ายกํากับย่อยใด ๆ เนื่องจากข้อมูลได้อธิบายแล้วภายใน ERDDAP .
- ดังนั้นสองทางเลือกสําหรับ EDDGrid ชุดข้อมูลจาก Etopo (ตามตัวอักษร) .
<!-- etopo180 serves the data from longitude -180 to 180 -->
<dataset type="EDDGridFromEtopo" datasetID="etopo180" />
<!-- etopo360 serves the data from longitude 0 to 360 -->
<dataset type="EDDGridFromEtopo" datasetID="etopo360" />
EDDGrid จากแฟ้ม
** EDDGrid จากแฟ้ม** ซูเปอร์คลาสของทั้งหมด EDDGrid จากชั้นเรียนแฟ้ม คุณใช้ไม่ได้ EDDGrid จากแฟ้มโดยตรง แทนที่จะใช้คลาสย่อยของ EDDGrid จากแฟ้มเพื่อจัดการประเภทแฟ้มเฉพาะ:
- EDDGrid แฟ้ม MergeIR จัดการข้อมูลจาก gried ผนวกรวม IR .gz แฟ้ม
- EDDGrid จากแฟ้ม Audio รวบรวมข้อมูลจากกลุ่มแฟ้มเสียงภายในระบบ
- EDDGrid แฟ้มจาก Nc จัดการข้อมูลจาก gried GRIB แฟ้ม HDF (v4 หรือ v5) .hdf แฟ้ม .nc mI แฟ้มและ NetCDF (v3 หรือ v4) .nc แฟ้ม นี่อาจใช้ได้กับประเภทแฟ้มชนิดอื่น (ยกตัวอย่างเช่น BUFR) เรายังไม่เคยทดสอบมัน กรุณาส่งไฟล์ตัวอย่างมาให้เรา ถ้าคุณสนใจ
- EDDGrid แฟ้มจาก Nc เป็นองค์ประกอบของ EDDGrid จากแฟ้ม Nc ซึ่งใช้จัดการข้อมูลจาก gried NetCDF (v3 หรือ v4) .nc และไฟล์ที่เกี่ยวข้อง ซึ่ง ERDDAP™ ขนของที่ต่ํา
ตอนนี้ยังไม่มีแฟ้มชนิดอื่นให้รองรับ แต่ ปกติ แล้ว ค่อน ข้าง ง่าย ที่ จะ เพิ่ม การ สนับสนุน ให้ มี แฟ้ม ชนิด อื่น ๆ. ติดต่อเราถ้าคุณมีคําขอ หรือถ้าข้อมูลของคุณอยู่ในรูปแบบแฟ้มเก่าที่คุณต้องการจะย้ายออกจาก เราขอแนะนําให้การแปลงแฟ้มเป็น NetCDF v3 .nc แฟ้ม NetCDF เป็นรูปแบบไบนารีที่รองรับอย่างกว้างขวาง อนุญาตให้เข้าถึงข้อมูลได้อย่างรวดเร็ว และรองรับแล้วโดย ERDDAP .
จากรายละเอียดของแฟ้ม
ข้อมูลต่อไปนี้ใช้ได้กับคลาสย่อยทั้งหมดของ EDDGrid จากแฟ้ม
เครื่อง ปั้น ดิน เผา
ทุกรูปแบบ EDDGrid จากแฟ้ม สามารถรวมข้อมูลจากแฟ้มภายในระบบได้ โดยแต่ละแฟ้มมี 1 แฟ้ม (หรือมากกว่านั้น) ค่าสําหรับทางซ้ายมีแตกต่างกัน (ก่อน) มิติปกติ \[ เวลา \] ซึ่งจะรวมเข้าด้วยกัน ตัวอย่างเช่น ขนาดอาจ \[ เวลา \] \[ ระดับความสูง \] \[ เส้นรุ้ง \] \[ เส้นแวง \] และไฟล์อาจจะมีข้อมูล (หรือสองสามคน) ค่าเวลา (วินาที) ต่อแฟ้ม ชุดข้อมูลผลลัพธ์ปรากฏว่า ข้อมูลทั้งหมดของแฟ้มได้ถูกรวมไว้แล้ว ผล ประโยชน์ ใหญ่ หลวง ของ อนุสาวรีย์ คือ:
- ขนาดของชุดข้อมูลรวมสามารถมีขนาดใหญ่กว่าแฟ้มเดียวได้ (~2GB) .
- สําหรับข้อมูลระยะใกล้ จะเป็นการง่ายต่อการเพิ่มแฟ้มใหม่ ด้วยข้อมูลชิ้นล่าสุด คุณไม่ต้องเขียนชุดข้อมูลใหม่ทั้งหมด
ข้อ เรียก ร้อง ของ การ รวม ตัว กัน คือ:
- แฟ้มภายในไม่ต้องการแฟ้มเดียวกัน dataVariable วินาที (ตามนิยามในชุดข้อมูล datasets.xml ) . ชุดข้อมูลจะมี dataVariable นิยาม s ไว้ datasets.xml . หากแฟ้มที่กําหนดไม่มีให้ dataVariable . ERDDAP™ จะเพิ่มค่าสูญหายตามต้องการ
- ทั้งหมด dataVariable ต้องใช้แบบเดียวกัน axisVariable การแบ่งประเภท (ตามนิยามในชุดข้อมูล datasets.xml ) . แฟ้มจะถูกรวมเข้ากับแฟ้มต่าง ๆ โดยอิงจากแฟ้มแรก (ด้านซ้ายสุด) มิติ, เรียงตามลําดับ
- แต่ละแฟ้มอาจจะมีข้อมูล สําหรับค่าหนึ่งหรือมากกว่าของมิติแรก แต่ไม่สามารถทับซ้อนระหว่างแฟ้มได้ ถ้าแฟ้มมีค่ามากกว่าหนึ่งค่าในมิติแรก ค่าต่าง ๆ นี้จะถูกเรียงลําดับตามลําดับที่มากกว่า โดยไม่มีพันธะใด ๆ
- ทุกแฟ้มต้องมีค่าเท่ากัน ในทุกมิติ ความแม่นยําของการทดสอบถูกกําหนดโดย ตรงกับ Axndigit .
- ทุกแฟ้มต้องเหมือนกันเป๊ะ หน่วย ข้อมูลกํากับภาพทั้งหมด axisVariable s และ dataVariable เอส. ถ้า นี่ เป็น ปัญหา คุณ อาจ ใช้ ได้ ขนาด NcML หรือ NCO เพื่อแก้ไขปัญหา
ชุดตกแต่งโดยใช้ชื่อแฟ้มหรือข้อมูลกํากับภาพทั่วไป
ทุกรูปแบบ EDDGrid จากแฟ้มยังสามารถรวมกลุ่มของแฟ้มได้โดยเพิ่มแฟ้มจากด้านซ้าย (ก่อน) มิติ, เวลา, โดยปกติ, จากค่าที่ได้มาจากแต่ละชื่อแฟ้ม หรือค่าของแอททริบิวต์ทั่วไปที่อยู่ในแต่ละแฟ้ม ตัวอย่างเช่น ชื่อแฟ้มอาจรวมค่าเวลาของแฟ้มด้วย ERDDAP™ แล้วจะสร้างมิติเวลาใหม่
แตกต่างจากลักษณะที่คล้ายกันใน THEDS ERDDAP™ มักจะสร้าง axisVariable ด้วยค่าตัวเลข (ต้องการ CF) ไม่ให้ค่าของข้อความ (ซึ่งไม่อนุญาตโดย CF) . แล้วก็ ERDDAP™ จะเรียงลําดับแฟ้มในโฟลเดอร์ย่อยตามตัวเลข axisVariable ค่าต่าง ๆ ที่ถูกกําหนดให้แต่ละแฟ้ม เพื่อให้ตัวแปรแกนมีการจัดเรียงตามที่ต้องการเสมอ โดย CF วิธีการ THEDS ในการทําการจัดเรียง exicraphic ตามชื่อแฟ้ม นําไปสู่ helps ที่ค่าแกนไม่ได้เรียงลําดับ (ซึ่งไม่อนุญาตโดย CF) เมื่อชื่อแฟ้มแตกต่างไปจากชื่อที่ค้นพบ axisVariable ค่า
เพื่อติดตั้งหนึ่งในนี้ พลูโตใน ERDDAP™ คุณจะนิยามมุมซ้ายใหม่ (ก่อน) axisVariable กับสิ่งพิเศษ ๆ< sourceName > ซึ่งบอกว่า ERDDAP™ ที่และวิธีการหาค่าสําหรับมิติใหม่จากแต่ละแฟ้ม
- รูปแบบสําหรับชุดสะสม sourceName ซึ่งจะได้ค่าจากชื่อแฟ้ม (ชื่อแฟ้ม) คือ \\/ แฟ้มName ข้อมูล ชนิด . คลายแฟ้ม . จับภาพ Group section*
- รูปแบบสําหรับชุดสะสม sourceName ซึ่งจะได้ค่าจากชื่อพาธสมบูรณ์ของแฟ้ม \\/ เส้นทางName ข้อมูล ชนิด . คลายแฟ้ม . จับภาพ Group section* \[ สําหรับสิ่งนี้ ชื่อเส้นทางมักใช้ '/' ในฐานะตัวแบ่งกลุ่มไดเรกทอรี ไม่เคย '\' \]
- รูปแบบสําหรับชุดสะสม sourceName ซึ่งได้รับคุณค่าจากคุณลักษณะระดับโลก \\/ ทั่วไป: คุณสมบัติ ชื่อ . ข้อมูล ชนิด . คลายแฟ้ม . จับภาพ Group section*
- ตัวปลอมนี้ sourceName ตัวเลือกทํางานแตกต่างจากตัวอื่น: แทนที่จะสร้างซ้ายสุดใหม่ (ก่อน) axisVariable ค่านี้แทนที่ค่าของปัจจุบัน axisVariable ค่าที่สกัดมาจากชื่อแฟ้ม (ชื่อแฟ้ม) . รูปแบบคือ \\/ แทนที่ จากแฟ้มName ข้อมูล ชนิด . คลายแฟ้ม . จับภาพ Group section*
คํา อธิบาย ส่วน ต่าง ๆ ที่ คุณ ต้อง อธิบาย คือ:
- คุณสมบัติ ชื่อ -- ชื่อของคุณลักษณะระดับโลก ซึ่งอยู่ในแต่ละแฟ้ม และบรรจุค่ามิติอยู่ด้วย
- ข้อมูล ชนิด -- กําหนดประเภทของข้อมูลที่จะใช้เก็บค่าต่าง ๆ ได้ที่นี่ ดูรายการมาตรฐานของ ข้อมูล ชนิด นั่น ERDDAP™ รองรับ ยกเว้นไม่ให้ใช้สตริงที่นี่ เนื่องจากตัวแปรแกนใน ERDDAP™ ไม่สามารถเป็นตัวแปรสตริง
มีรูปแบบข้อมูลเทียมเพิ่มเติม, เวลาFormat= ข้อความ รูปแบบเวลา ซึ่งบอกว่า ERDDAP™ นั่นคือค่าของเวลา แสดงเฉพาะหมายเลขของธาตุ . ในกรณีส่วนใหญ่ สตริงไทมส์ฟอร์ตที่คุณต้องการ จะถูกแปรค่าในรูปแบบใดรูปแบบหนึ่ง:
- yyyy-MM-dd 'T'HHH:mm:s.SSSZ -- ซึ่ง ISO 8601: 2004. (E) รูปแบบเวลาของวันที่ คุณอาจจะต้องการแบบย่อ ๆ ของนี้ เช่น yyyy-MM-dd T'HH:M:s หรือ yyyy-MM-dd .
- Yyyyymdhdh helps.SSS ซึ่งเป็นรูปแบบวันที่แบบ complete ของ ISO 8601. คุณอาจจะต้องการรุ่นย่อ ๆ ของนี้ เช่น, YyyyyMedh Facts หรือ YyyyyMMed
- เมกะไบต์ H:mm:s.S.S.S. ซึ่งเป็นรูปแบบวันที่ของสหรัฐอเมริกา คุณอาจต้องการแบบย่อ ๆ ของอันนี้ เช่น, m/d/yyyyy
- YyyyDDDH PHSSS ซึ่งเป็นปีบวกกับวัน 0 พ.ศ. (e.g, 011 = January 1, 365 = December 31 ในปีที่ไม่ใช่ปีวางไข่ บางครั้งนี้เรียกว่าวันที่จูเลียนผิด) . คุณอาจจะต้องการแบบย่อ ๆ ของนี้ เช่น, YyyyDDD
หากคุณใช้รูปแบบข้อมูลเทียมนี้ เพิ่มนี่เข้ากับตัวแปรใหม่< addAttributes >:
<att name="units">seconds since 1970-01-01T00:00:00Z</att>
ถ้าคุณอยากเลื่อนเวลาทั้งหมด, ให้เลื่อนเวลาเป็นหน่วย, เช่น, 1970-01-01T12 :00:00Z.
- คลายแฟ้ม -- นี่คือ เงื่อนไขการค้นหา ( การ สอน ) ซึ่งรวมถึงกลุ่มจับ (ในวงเล็บ) ซึ่งอธิบายว่าจะแยกค่าจากชื่อแฟ้มหรือค่าคุณลักษณะทั่วไปได้อย่างไร ตัวอย่างเช่น, ใช้ชื่อแฟ้ม เช่น S19980011998031. L3b\_MO\_CHL .nc , กลุ่มจับ #1. "\ \dการ สอน ", ในพจน์ทั่วไป S (/ \dการ สอน ) / \dการ สอน \.L3b. /* จะจับเลข 7 ตัวแรกหลัง 'S': 199801.
- จับภาพ Group -- นี่คือจํานวนของกลุ่มจับ (ภายในวงเล็บคู่หนึ่ง) ในพจน์ปกติที่มีข้อมูลดอกเบี้ย ปกติจะเป็น 1 กลุ่มดักจับกลุ่มแรก บางครั้งคุณต้องใช้กลุ่มดักจับเพื่อวัตถุประสงค์อื่น ๆ ใน regex, ดังนั้นแล้วจํานวนกลุ่มที่สําคัญจะเป็น 2 (กลุ่มจับตัวตัวที่สอง) หรือ 3 (ที่ 3) ฯลฯ
เป็นตัวอย่างของ axisVariable ซึ่งทําให้ชุดข้อมูลรวมเข้ากับแกนเวลาใหม่ ซึ่งจะได้ค่าเวลาจากชื่อแฟ้มแต่ละตัว
<axisVariable>
<sourceName>\\*\\*\\*fileName,timeFormat=yyyyDDD,S(\\d{7})\\.L3m.\\*,1</sourceName>
<destinationName>time</destinationName>
</axisVariable>
เมื่อคุณใช้ข้อมูลเทียม "timeFormat=" ประเภท ERDDAP™ จะเพิ่ม 2 คุณสมบัติไปยัง axisVariable เพื่อให้ดูเหมือนว่าพวกเขามาจาก
<att name="standard\\_name">time</att>
<att name="units">seconds since 1970-01-01T00:00:00Z</att>
ดังนั้นในกรณีนี้ ERDDAP™ จะสร้างแกนใหม่ที่ชื่อ "time" ด้วยค่าคู่ (วินาทีตั้งแต่ 1970-01-01.00.00:00Z) โดยการดึงเลข 7 หลักหลังจาก 'S' และก่อนหน้าเลข "L3m" ในชื่อแฟ้ม และแปลค่าเหล่านั้นตามเวลา ที่จัดรูปแบบเป็น yyyDDD
คุณสามารถยกเลิกเวลาพื้นฐานปริยายได้ (1970-01-01.00.00:00Z) โดยเพิ่ม เพิ่มรายการแจกจ่าย ซึ่งระบุรหัสหน่วยที่แตกต่างกัน โดยเวลาฐานต่างกัน สถานการณ์ทั่วไปคือ: มีกลุ่มไฟล์ข้อมูล แต่ละชุดมี 1 วัน เป็นชุดข้อมูลดาวเทียม (เวลากลางของแต่ละวัน) และต้องการตัวแปร long\_name ที่จะเป็น "เวลาแห่งความสําเร็จ" ตัวอย่างของสิ่งนี้ก็คือ
<axisVariable>
<sourceName>\\*\\*\\*fileName,timeFormat=yyyyDDD,S(\\d{7})\\.L3m.\\*,1</sourceName>
<destinationName>time</destinationName>
<addAttributes>
<att name="long\\_name">Centered Time</att>
<att name="units">seconds since 1970-01-01T12:00:00Z</att>
</addAttributes>
</axisVariable>
หมายเหตุชั่วโมง = 12 ในเวลาฐาน ซึ่งเพิ่มเวลา 12 ชั่วโมง เทียบกับเวลาฐานเดิมของ 1970-01-01T00:00.00Z.
เป็นตัวอย่างของ axisVariable ซึ่งทําให้ชุดข้อมูลรวมกับแกน "วิ่ง" ใหม่ (ด้วยค่า int) ซึ่งได้รับค่าการทํางานจากแอตทริบิวต์ "unID" ในแต่ละแฟ้ม (ด้วยค่าเช่น "r17/global" โดย 17 คือเลขวิ่ง) คือ
<axisVariable>
<sourceName>\\*\\*\\*global:runID,int,(r|s)(\\d+)\\_global,2</sourceName>
<destinationName>run</destinationName>
<addAttributes>
<att name="ioos\\_category">Other</att>
<att name="units">count</att>
</addAttributes>
</axisVariable>
หมายเหตุการใช้งานของกลุ่มจับหมายเลข 2 เพื่อจับตัวเลขที่เกิดขึ้นหลังจาก 'r' หรือ 's' และก่อน "/global". ตัว อย่าง นี้ ยัง แสดง ให้ เห็น ด้วย ว่า จะ เพิ่ม คุณลักษณะ อื่น ๆ ได้ อย่าง ไร (อี.จี. ioos\_category และหน่วย) กับตัวแปรแกน
แฟ้มที่ถูกบีบอัดภายนอก
-
ชุดข้อมูลที่เป็นสับเซตของ EDDGrid จากแฟ้มและ EDTable จากแฟ้ม สามารถป้อนข้อมูลโดยตรงจากแฟ้มบีบอัดภายนอกได้ รวมถึง .tgz . .tar .gz . .tar .gzip . .gz . .gzip . .zip . .bz2 และแฟ้ม .Z
-
นี่ ใช้ ได้ ผล จริง ๆ!
ในกรณีส่วนใหญ่ การลดความเร็ว เกี่ยวข้องกับการย่อยสลาย ข้อมูลขนาดเล็กและขนาดปานกลางนั้นเล็กน้อย ถ้าคุณต้องการที่จะประหยัดพื้นที่ดิสก์ เราสนับสนุนอย่างมากให้ใช้คุณสมบัตินี้ โดยเฉพาะกับไฟล์เก่าที่แทบจะไม่เข้าถึงได้ -
ประหยัดเงิน!
นี่คือหนึ่งในไม่กี่คุณสมบัติ ERDDAP™ ให้โอกาสคุณประหยัดเงิน (แม้ว่าค่าใช้จ่ายที่ลดลงเล็กน้อย) . ถ้าอัตราการบีบอัดคือ e.g. 6: 1 (บางครั้งมันจะสูงกว่ามาก) ไดเรกทอรีข้อมูลจะต้องการเพียง 1/6 พื้นที่ดิสก์เท่านั้น แล้วบางทีคุณอาจได้ 1 RAID (ขนาดที่กําหนด) แทนที่จะเป็น 6 RAIDS (ขนาดเท่ากัน) . นั่นเป็นเงินที่ประหยัดได้มาก หวังเป็นอย่างยิ่งว่า ความสามารถในการบีบอัดบางแฟ้ม ในชุดสะสม (ผู้สูงอายุ?) และไม่ใช่การบีบคั้น (ของใหม่เหรอ?) และเปลี่ยนเวลาใด ๆ ให้คุณลดข้อเสียในการบีบบางส่วนของไฟล์ (การเข้าใช้ช้าลง) . และหากตัวเลือกอยู่ระหว่างการจัดเก็บแฟ้มลงในเทป (และพวกเขาจะไม่เป็นผู้ออกจากมัน (อยู่ในกองไฟตลอดไป) นอกจากหลังจากได้สัมผัสมัน) แปะแน่นบน RAID (และเข้าถึงได้โดย ERDDAP ) มีข้อได้เปรียบอย่างมากในการใช้การบีบอัด เพื่อให้ผู้ใช้ได้โต้ตอบและ (ค่อน) เข้าถึงข้อมูลได้อย่างรวดเร็ว และถ้านี่ช่วยให้คุณประหยัด การซื้อ RAID เพิ่มได้ ลักษณะนี้สามารถประหยัดได้ประมาณ $30,000 -
สําหรับทุกคน EDDGrid จากคลาสย่อยของแฟ้ม หากแฟ้มข้อมูลมีส่วนขยายที่ระบุว่าเป็นแฟ้มบีบอัดภายนอก (ปัจจุบัน: .tgz . .tar .gz . .tar .gzip . .gz . .gzip . .zip . .bz2 หรือ .Z) . ERDDAP™ จะแยกแฟ้มไปยังไดเร็กทอรีที่เก็บข้อมูล เมื่อมันอ่านแฟ้ม (ถ้าพวกเขาไม่ได้อยู่ในแคชแล้ว) . เช่นเดียวกันกับแฟ้มไบนารี (อี.จี. .nc ) คลาสย่อยของ EDTable from Files
-
สําหรับ EDTable จากแฟ้มคลาสย่อยสําหรับแฟ้มที่ไม่ใช่ไบนารี (e.g., .csv) ไฟล์ข้อมูลที่มีส่วนขยายที่ระบุว่าเป็นแฟ้มบีบอัดภายนอก จะถูกลดความกดทับบนแผ่นเสียงตามการอ่านแฟ้ม
-
เงื่อนไข: (อี.จี. .tgz หรือ .zip ) รองรับแฟ้มในแฟ้มบีบอัดมากกว่าหนึ่งแฟ้ม แฟ้มบีบอัดต้องบรรจุเพียง 1 แฟ้ม
-
RIFTEIMEMEN: คุณสมบัตินี้ถือว่าเนื้อหาของแฟ้มที่ถูกบีบอัดภายนอก ไม่มีการเปลี่ยนแปลง ดังนั้นสามารถเรียกข้อมูลแฟ้มแคชที่คลายข้อมูลได้ ถ้าแฟ้มข้อมูลบางส่วนหรือทั้งหมด มีการเปลี่ยนแปลง อย่าบีบข้อมูลเหล่านั้น นี่สอดคล้องกับการใช้งานทั่วไป เนื่องจากปกติคนไม่บีบแฟ้ม ที่บางครั้งเขาต้องเปลี่ยนแปลง
-
<แฟ้มName เพื่อให้ได้ผล ข้อมูลชุด<แฟ้มชื่อRegex) ต้องตรงกับชื่อแฟ้มที่ถูกบีบอัด เห็นได้ชัดว่ารีเรกส์ชอบ\จะตรงกับชื่อแฟ้มทั้งหมด หากคุณระบุประเภทแฟ้มที่ระบุไว้, เช่น,\\ .nc คุณต้องแก้ไข regex เพื่อรวมนามสกุลการบีบอัดด้วย เช่น / \ .nc \ .gz (ถ้าแฟ้มทั้งหมดเป็น บางอย่าง .nc .gz แฟ้ม)
-
เป็น การ ดี หาก ชุด ข้อมูล ของ คุณ รวม เอา การ บีบ อัด และ ไม่ บีบ อัด แฟ้ม. มันอาจมีประโยชน์ หากคุณเชื่อว่าบางแฟ้ม (เช่น แฟ้มเก่า) จะถูกใช้บ่อยน้อยลง และจะมีประโยชน์ในการบันทึกพื้นที่ดิสก์โดยการบีบข้อมูล เพื่อให้มันได้ผล<แฟ้มชื่อRegex) ต้องตรงกับการบีบอัด และไม่บีบอัดชื่อแฟ้ม, เช่น,\หรือ...\\ .nc ( | \ .gz ) (จุดที่กลุ่มดักจับในตอนจบระบุว่า .gz เป็นทางเลือก
-
เป็น การ ดี หาก คุณ บีบ หรือ แยก แฟ้ม เฉพาะ ใน คอลเลกชัน เมื่อ ไร ก็ ได้. ถ้าชุดข้อมูลไม่ได้ใช้<update everNMillies) (อัปเดตทุก ๆ ครั้ง) ตั้งค่าชุดข้อมูล ธง เพื่อบอกว่า ERDDAP™ เพื่อโหลดข้อมูลชุดและจึงสังเกตเห็นการเปลี่ยนแปลง ที่น่าสนใจคือ คุณสามารถใช้อัลกอริทึมบีบอัดและการตั้งค่าที่แตกต่างกันสําหรับแฟ้มที่แตกต่างกันในชุดข้อมูลเดียวกัน (อี.จี. .bz2 สําหรับแฟ้มที่ไม่ค่อยได้ใช้ .gz สําหรับแฟ้มที่ไม่ได้ใช้บ่อย และไม่มีการบีบแฟ้มที่จะใช้บ่อย ๆ) รองรับนามสกุลของแฟ้มทั้งหมดที่ใช้งานอยู่, เช่น, สืบค้นเมื่อ\ *\\\ .nc ( | \ .gz | \ .bz2 ) .
-
แน่นอน สัดส่วนการบีบอัดและความเร็วสําหรับอัลกอริทึมบีบอัดที่แตกต่างกัน แตกต่างกันกับแฟ้มต้นฉบับและการตั้งค่า (เช่น ระดับการบีบอัด) . หากคุณต้องการปรับแต่งระบบสําหรับแฟ้มของคุณ ให้ทําการทดสอบวิธีบีบอัดแบบต่าง ๆ กับแฟ้มของคุณ และด้วยช่วงของการบีบข้อมูล ถ้าเธออยากได้ของดี (ไม่จําเป็นต้องดีที่สุด) การตั้งค่าเราจะแนะนําเล็กน้อย gzip ( .gz ) . gzip ไม่ได้สร้างแฟ้มบีบอัดที่น้อยที่สุด (มันใกล้ทีเดียว) แต่มันบีบแฟ้มอย่างรวดเร็ว (สําคัญกว่าสําหรับ ERDDAP™ ผู้ใช้) กําจัดแฟ้มอย่างรวดเร็ว อีกอย่าง gzip ซอฟต์แวร์มามาตรฐานกับทุกการติดตั้งลินุกซ์และ Mac OS และพร้อมใช้งานสําหรับวินโดวส์ผ่านทางเครื่องมือฟรี เช่น 7 Zip และ Linux เพิ่มข้อมูล เช่น Git Bash ตัวอย่างเช่น เพื่อบีบข้อมูลแหล่งที่มา .gz รุ่นของแฟ้ม (ชื่อแฟ้มเดียวกัน แต่ด้วย .gz เพิ่มเข้าไป) ใช้ (ในลินุกซ์, Mac OS, และ Git Bash)
gzip * sourceName *
เพื่อกําจัด .gz แฟ้มกลับไปยังต้นฉบับ, ใช้ ปืนพก * sourceName .gz *
เพื่อบีบอัดแฟ้มต้นทางแต่ละแฟ้มในไดเรกทอรีและส่วนย่อยของมัน, การเรียกซ้ํา, ใช้ gzip - อาร์ ผู้กํากับName
การย่อยสลายของแต่ละ .gz แฟ้มในไดเรกทอรีและส่วนย่อยของมัน, ใช้ซ้ํา, ใช้ ปืนพก - อาร์ ผู้กํากับName
-
อย่ากดทับภายนอก ( gzip ) แฟ้มที่ถูกบีบอัดภายในอยู่แล้ว! มีหลายแฟ้มที่มีการบีบอัดข้อมูลภายในอยู่แล้ว ถ้าคุณ gzip แฟ้มเหล่านี้ แฟ้มผลลัพธ์จะไม่มีขนาดเล็กลงมาก<5%) และ ERDDAP™ จะเสียเวลากําจัดพวกมัน เมื่อมันจําเป็นต้องอ่านมัน ตัว อย่าง เช่น:
- ไฟล์ข้อมูล: e.g. .nc 4 และ .hdf 5 แฟ้ม: บางแฟ้มใช้การบีบอัดภายใน บางแฟ้มไม่มี วิธีบอก: การบีบอัดตัวแปรมีคุณลักษณะ "///ChunkSize" แล้วก็ ถ้ากลุ่มที่โดนย่าง .nc หรือ .hdf ไฟล์ทั้งหมดมีขนาดต่างกัน ดูเหมือนจะถูกบีบอัดภายใน ถ้ามีขนาดเท่ากันทั้งหมด มันก็จะไม่ถูกบีบอัดภายใน
- แฟ้มรูปภาพ: e.g., .gif,.jpg และ .png
- แฟ้มเสียง: e.g., .mp3, และ .ogg.
- แฟ้มวิดีโอ: e.g., .mp4, .ogv, และ.webm
หนึ่งกรณีแปลก: ไฟล์เสียง .wav มีขนาดมหึมา และไม่ได้บีบอัดภายใน คงจะดีถ้าบีบ ( gzip ) พวกเขา, แต่โดยทั่วไปคุณไม่ควรทําเพราะถ้าคุณทํา ผู้ใช้จะไม่สามารถเล่นแฟ้มบีบอัดในเบราว์เซอร์ของพวกเขาได้
-
ตัวพิมพ์ทดสอบ: การบีบข้อมูล (ด้วย gzip ) ชุดข้อมูลที่มี Gried 1523 .nc แฟ้ม
- ข้อมูลที่อยู่ในแฟ้มต้นทางมีน้อย (ค่าที่เสียไปมากมาย) .
- พื้นที่ดิสก์ทั้งหมดเปลี่ยนจาก 57 GB ก่อนบีบข้อมูลเป็น 7 GB ภายหลัง
- คําร้องขอสําหรับข้อมูลจํานวนมากจาก 1 จุดคือ<1 s ก่อนและหลังการบีบอัด
- การร้องขอจุดข้อมูล 1 จุดสําหรับ 365 จุดเวลา (กรณีที่แย่ที่สุด) จาก 4 s เป็น 71 s.
สําหรับผมแล้ว มันเป็นการแลกเปลี่ยนที่สมเหตุสมผล สําหรับข้อมูลใดๆ และแน่นอนว่าสําหรับชุดข้อมูล ที่ถูกใช้บ่อยๆ
-
การบีบอัดภายในและภายนอก -- เทียบกับการบีบข้อมูลภายในแฟ้มที่เสนอ .nc 4 และ .hdf 5 ไฟล์ ERDDAP วิธีการสําหรับแฟ้มไบนารีแบบบีบอัดภายนอก มีข้อดีและข้อเสีย ข้อเสียคือ การอ่านส่วนเล็กๆของไฟล์หนึ่ง การบีบอัดภายในจะดีกว่าเพราะ EDDGrid จากแฟ้มจําเป็นต้องย่อยสลายไม่กี่ชิ้น (วินาที) ของไฟล์ ไม่ใช่ข้อมูลทั้งหมด แต่ ERDDAP แนวทางนี้มีประโยชน์
- ERDDAP™ รองรับการบีบอัดแฟ้มข้อมูลทุกประเภท (ไบนารีและไม่ใช่ไบนารี อีจี .nc 3 และ .csv) ไม่ใช่แค่นั้น .nc 4 และ .hdf 4
- หากส่วนต่าง ๆ ของแฟ้มต้องการที่จะอ่านมากกว่าหนึ่งครั้งในช่วงเวลาอันสั้น มันจะประหยัดเวลาเพื่อย่อยสลายแฟ้มหนึ่งครั้งและอ่านได้หลายครั้ง มันเกิดขึ้นใน ERDDAP™ เมื่อผู้ใช้ใช้ Make-A-Graph สําหรับชุดข้อมูล และทําชุดการเปลี่ยนแปลงเล็กน้อยให้กับกราฟ
- ความสามารถในการบีบอัดแฟ้ม และไม่บีบอัดแฟ้มในคลังภาพชุดเดิม ช่วยให้คุณควบคุมว่าแฟ้มใดถูกบีบอัดหรือไม่ และการควบคุมเพิ่มเติมนี้มาโดยไม่แก้ไขแฟ้มต้นฉบับจริง ๆ (เนื่องจากคุณสามารถบีบไฟล์ด้วย e.g. .gz จากนั้นก็ย่อยมันเพื่อให้ได้แฟ้มต้นฉบับ) .
- ความสามารถที่จะเปลี่ยนแปลง ณ เวลาใด ๆ ว่าแฟ้มที่ถูกบีบอัดและบีบข้อมูลหรือไม่ (อัลกอริทึมและการตั้งค่าที่แตกต่างกัน) คุณควบคุมการทํางานของระบบได้มากขึ้น และคุณสามารถกู้ไฟล์ต้นฉบับที่ไม่มีการบีบอัดได้ตลอดเวลา
ในขณะที่การเข้าหาไม่ชนะในทุกสถานการณ์ มันก็ชัดเจนแล้วว่า ERDDAP ความสามารถในการให้บริการข้อมูลจากไฟล์บีบอัดภายนอก ทําให้การบีบตัวภายนอกเป็นทางเลือกที่เหมาะสม .nc 4 และ .hdf 5 นั่นมีความหมายว่า การบีบอัดภายในเป็นหนึ่งในเหตุผลหลักที่ผู้คนเลือกใช้ .nc 4 และ .hdf 5
แคชสําหรับถอดรหัส
ERDDAP™ สร้างรุ่นของการบีบอัดของไบนารีใด ๆ (อี.จี. .nc ) แฟ้มข้อมูลเมื่อต้องการอ่านแฟ้ม แฟ้มที่ถูกบีบอัดจะถูกเก็บไว้ในไดเร็กทอรีของข้อมูลภายใน เครื่อง มือ ขนาด ใหญ่ / ถูกกดดัน/ แฟ้มที่ยังไม่ได้ใช้มาก่อนหน้านี้จะถูกลบทิ้ง เพื่อพื้นที่ว่างเมื่อขนาดแฟ้มสะสมคือ >10GB คุณสามารถเปลี่ยนมันได้โดยตั้งค่า<DecompressCache MaxGB> (ค่าปริยาย=10) ในชุดข้อมูล Xml.xml, e.g.
<decompressedCacheMaxGB>40</decompressedCacheMaxGB>
นอกจากนี้ ไฟล์ที่ลดความกดอากาศ ซึ่งยังไม่ได้ถูกใช้ใน 15 นาทีที่ผ่านมา จะถูกลบออก ในตอนต้นของข้อมูลหลักแต่ละชุดโหลดใหม่ คุณสามารถเปลี่ยนมันได้โดยตั้งค่า<DecompressCache Max Minuts old) (ค่าปริยาย=15) ในชุดข้อมูล Xml.xml, e.g.
<decompressedCacheMaxMinutesOld>60</decompressedCacheMaxMinutesOld>
ตัวเลขขนาดใหญ่ดี แต่ขนาดสะสมของไฟล์ decompress อาจเป็นสาเหตุ เครื่อง มือ ขนาด ใหญ่ เพื่อหมดพื้นที่ดิสก์ ซึ่งทําให้เกิดปัญหารุนแรง
- เพราะการสลายตัวของแฟ้ม อาจใช้เวลาอย่างมาก (0.1 ถึง 10 วินาที) ชุดข้อมูลที่มีแฟ้มบีบอัดอาจได้ประโยชน์จากการตั้งค่าชุดข้อมูล<NTHDS]] (# อ่านได้) ตั้งเป็นจํานวนที่มากกว่า (2 เหรอ? 3 เหรอ? 4 เหรอ?) . ข้อเสียของจํานวนที่สูงกว่า (E.g., 5? หก? 7 เหรอ?) กําลังทําการลดผลตอบแทน และคําขอของผู้ใช้คนหนึ่งสามารถใช้จํานวนเปอร์เซ็นต์ของทรัพยากรของระบบได้ จึงเป็นการชะลอการประมวลผลคําขอของผู้ใช้อื่น ๆ อย่างมาก ด้วย เหตุ นี้ จึง ไม่ มี การ วาง แผน ล่วง หน้า อย่าง เหมาะ สม เพียง แต่ ผล ที่ ต่าง กัน ใน สถานการณ์ ที่ ต่าง กัน พร้อม ด้วย การ วาง แผน ต่าง ๆ กัน.
จัดเรียงขนาด
ค่าแต่ละมิติต้องเรียงตามลําดับ (การขึ้นบกและพื้นราบ เว้นแต่ครั้งแรก (ด้านซ้ายสุด) มิติที่จะขึ้นไป) . ค่าต่าง ๆ อาจมีช่องว่างผิดปกติ ไม่มีความสัมพันธ์กับใคร นี่คือเงื่อนไขของ มาตรฐานข้อมูลกํากับภาพแบบ CF . ถ้าค่าของมิติใด ๆ ไม่เรียงตามลําดับ ชุดข้อมูลจะไม่ถูกโหลดและ ERDDAP™ จะระบุค่าแรกที่ยังไม่ได้เขียนในแฟ้มปูมบันทึก เครื่อง มือ ขนาด ใหญ่ log/log.txt.
ค่ามิติ Unserted เกือบมักจะบอกปัญหากับชุดข้อมูลต้นฉบับ เหตุการณ์นี้มักเกิดขึ้นเมื่อแฟ้มที่มีชื่อผิดหรือไม่เหมาะสม ถูกรวมอยู่ในจดหมายเวียน ซึ่งนําไปสู่มิติเวลาที่ไม่ปรากฏ เพื่อแก้ปัญหานี้ ดูข้อความผิดพลาดใน ERDDAP™ แฟ้มปูมบันทึก.t เพื่อค้นหาค่าของเวลาที่ขัดจังหวะ จากนั้นดูในแฟ้มต้นทางเพื่อหาแฟ้มที่สอดคล้องกัน (หรือก่อนหรือหลัง) นั่นไม่เหมาะกับรังผึ้ง
ไดเรกทอรี
แฟ้มอาจจะอยู่ในไดเรกทอรีเดียว หรืออยู่ในไดเรกทอรีและส่วนย่อยของมัน (กลับหน้า) . ถ้ามีหลายแฟ้ม (ตัวอย่างเช่น >1,000) ระบบปฏิบัติการ (และดังนั้น EDDGrid จากแฟ้ม) จะดําเนินการอย่างมีประสิทธิภาพมากขึ้น หากคุณเก็บแฟ้มไว้ในชุดของตัวควบคุม (หนึ่งครั้งต่อปี หรือเดือนละหนึ่งชุดสําหรับชุดข้อมูลที่มีแฟ้มบ่อยครั้งมาก) เพื่อให้ไม่มีแฟ้มจํานวนมากในไดเรกทอรีที่ให้
<แคชจาก Url)
ทั้งหมด EDDGrid จากแฟ้มและทั้งหมด EDTable จากแฟ้มชุดข้อมูลรองรับชุดของป้ายกํากับที่บอกว่า ERDDAP™ เพื่อดาวน์โหลดและรักษาสําเนาของแฟ้มฐานข้อมูลทั้งหมด หรือแคชของแฟ้มไม่กี่แฟ้ม (ดาวน์โหลดเมื่อต้องการ) . มันมีประโยชน์มาก ดู แคช เอกสารจาก Url .
การร้องขอของผู้บริหารระบบทางไกลและ HTTP
(AKA B byte serving, Bitte Sports ร้องขอ, chate-Ranges http หัวกระดาษ)
EDDGrid จาก NNc Files, EDTable from Multicalnk Files, EDTable from Nccfiles, และ EDTable fromNCF Files, สามารถ บางครั้ง บริการข้อมูลจาก .nc แฟ้มบนเซิร์ฟเวอร์ทางไกลและเข้าถึงผ่านทาง HTTP หากเซิร์ฟเวอร์รองรับ การ รับ ใช้ ที่ ยาว นาน ผ่านการร้องขอในช่วง HTTP (กลไก HTTP สําหรับทํางาน) . มันเป็นไปได้เพราะ Netcdf-java (ซึ่ง ERDDAP™ ใช้อ่าน .nc แฟ้ม) รองรับข้อมูลการอ่านจากระยะไกล .nc ต้องการแฟ้มผ่านทาง HTTP
อย่าทําแบบนี้! มันไร้สมรรถภาพและช้า ใช้ [แทน]<แคชจาก Url> ระบบ] (# คาเชฟัวร์) .
การเข้าถึง ERDDAP™ ชุดข้อมูลเป็นแฟ้มต่าง ๆ ที่ร้องขอมา โดยผ่านช่วงต่าง ๆ การพลิกกลับนี้, ถ้าคุณสามารถ (ในทางทฤษฎี) คิดถึงชุดข้อมูลใน ERDDAP™ ในฐานะยักษ์ .nc แฟ้มโดยเพิ่มเข้าไป .nc "ที่ฐาน OPen DAP ที่อยู่ URL สําหรับชุดข้อมูล (อี.จี.https://myserver.org/erddap/griddap/datasetID.ncและด้วยการเพิ่มข้อมูล หลังการระบุสับเซต) มันอาจจะมีเหตุผลที่จะถามว่า คุณสามารถใช้ Netcf-java, Ferret หรืออย่างอื่น NetCDF โปรแกรมลูกข่ายที่จะอ่านข้อมูลผ่านทาง ร้องขอช่วง HTTP จาก ERDDAP . คําตอบคือไม่ เพราะมันไม่ใหญ่มาก .nc "ไฟล์. ถ้าคุณต้องการทํา แทนที่จะเลือกแบบนี้
- ใช้(OPeN)DAPโปรแกรมลูกข่ายที่จะเชื่อมต่อไปยังบริการระบบกริด ERDDAP . นั่นคือสิ่งที่ DAP (และดังนั้น ERDDAP ) ถูกออกแบบมาเพื่อ มันมีประสิทธิภาพมาก
- หรือ ดาวน์โหลดแฟ้มต้นฉบับ (วินาที) จาก "files" ระบบ (หรือแฟ้มสับเซตผ่านทาง .nc ? สืบค้น) ในคอมพิวเตอร์ของคุณ และใช้ Netcdf-java Ferret หรืออย่างอื่น NetCDF โปรแกรมลูกความที่จะอ่าน (ตอนนี้) แฟ้มภายในระบบ (วินาที) .
ข้อมูลแฟ้มที่มีแคช
เมื่อ EDDGrid จากชุดข้อมูลแฟ้มถูกโหลดครั้งแรก EDDGrid จากแฟ้มอ่านข้อมูลจากแฟ้มที่เกี่ยวข้องทั้งหมด และสร้างตาราง (หนึ่งแถวสําหรับแต่ละแฟ้ม) ด้วยข้อมูลเกี่ยวกับแต่ละแฟ้มและ "แย่" (แตกต่างกันหรือไม่ถูกต้อง) แฟ้ม
- ตารางจะถูกเก็บไว้บนดิสก์เช่น NetCDF v3 .nc แฟ้มใน เครื่อง มือ ขนาด ใหญ่ / Datatatet / CharesOffDatataSetid ตัวสุดท้าย / * datasetID * / ในแฟ้มชื่อ: Dirtable .nc (ซึ่งมีรายชื่อของชื่อไดเรกทอรีที่ไม่ซ้ํากัน) . แฟ้ม ตาราง .nc (ซึ่งบรรจุตารางด้วยข้อมูลของแต่ละแฟ้มที่ถูกต้อง) . แฟ้มเลว .nc (ซึ่งบรรจุตารางด้วยข้อมูลของไฟล์เลวแต่ละตัว) .
- เพื่อเร่งการเข้าถึง EDDGrid จากชุดข้อมูลแฟ้ม (แต่ค่าใช้จ่ายของการใช้หน่วยความจํามากขึ้น) ใช้ได้<Name=ไดเรกทอรีName<) (ชื่อแฟ้ม) เพื่อบอกว่า ERDDAP™ เพื่อเก็บสําเนาของตารางข้อมูลแฟ้มไว้ในหน่วยความจํา
- การคัดลอกตารางข้อมูลแฟ้มบนดิสก์ มีประโยชน์เมื่อ ERDDAP™ ถูกปิดและเริ่มใหม่: มันบันทึก EDDGrid จากแฟ้มที่มีให้อ่านอีกครั้ง
- เมื่อชุดข้อมูลถูกโหลดใหม่ ERDDAP™ ต้องอ่านข้อมูลในแฟ้มใหม่และแฟ้มที่มีการเปลี่ยนแปลงเท่านั้น
- หากแฟ้มมีโครงสร้างที่แตกต่างจากแฟ้มอื่น ๆ (ตัวอย่างเช่น, ประเภทข้อมูลที่แตกต่าง สําหรับตัวแปรตัวหนึ่ง, หรือค่าต่างๆ ของ " หน่วย "คุณลักษณะ) . ERDDAP เพิ่มแฟ้มไปยังรายการของแฟ้ม "เลว" ข้อมูลเกี่ยวกับปัญหาที่มีแฟ้มจะถูกเขียนไปยัง เครื่อง มือ ขนาด ใหญ่ แฟ้ม / log/log.txt
- คุณไม่จําเป็นต้องลบหรือทํางานกับแฟ้มเหล่านี้ ข้อยกเว้นหนึ่งคือ ถ้าคุณยังคงทําการเปลี่ยนแปลงชุดข้อมูล datasets.xml ตั้งค่า คุณอาจต้องลบแฟ้มเหล่านี้เพื่อบังคับ ERDDAP™ เพื่ออ่านแฟ้มทั้งหมดใหม่อีกครั้ง เนื่องจากแฟ้มต่าง ๆ จะถูกอ่าน/ แปลใหม่ หากคุณต้องการที่จะลบแฟ้มเหล่านี้ คุณสามารถทําได้เมื่อ ERDDAP™ กําลังวิ่ง (แล้วตั้ง ธง นําข้อมูลกลับมาใช้ใหม่) อย่างไรก็ตาม ERDDAP™ มักจะสังเกตว่า datasets.xml ข้อมูลไม่ตรงกับแฟ้ม ข้อมูลตารางและลบตารางแฟ้มโดยอัตโนมัติ
- ถ้าคุณอยากสนับสนุน ERDDAP™ เพื่อปรับปรุงข้อมูลชุดข้อมูลจัดเก็บ (ตัวอย่างเช่น, ถ้าคุณเพิ่งเพิ่ม, ลบ, หรือเปลี่ยนบางแฟ้มเป็นไดเรกทอรีข้อมูลชุด) ใช้ ระบบธง เพื่อบังคับ ERDDAP™ เพื่อปรับปรุงข้อมูลแคชของแฟ้ม
การ ร้อง ขอ
เมื่อลูกค้าร้องขอข้อมูล EDDGrid แฟ้มสามารถค้นหาในตารางได้อย่างรวดเร็ว โดยใช้ข้อมูลแฟ้มที่ถูกต้อง เพื่อดูว่าแฟ้มใดมีข้อมูลที่ร้องขอมา
กําลังปรับปรุงข้อมูลแฟ้มแคช
เมื่อไรก็ตามที่ชุดข้อมูลถูกโหลดใหม่ ข้อมูลแคชจะถูกปรับปรุงใหม่
- ชุดข้อมูลจะถูกเรียกใหม่เป็นระยะ ๆ ตามการกําหนดโดย<โหลดรายการทุก ๆ NMinuts) ใหม่ในฐานข้อมูล datasets.xml .
- ชุดข้อมูลจะถูกเรียกใหม่โดยเร็วที่สุด ERDDAP™ ตรวจสอบว่าคุณได้เพิ่ม เอาออก สัมผัส (เพื่อเปลี่ยนแฟ้มสุดท้าย เวลาแก้ไขใหม่) หรือเปลี่ยนแฟ้มข้อมูล
- ชุดข้อมูลจะถูกเรียกใหม่อีกครั้งโดยเร็วที่สุดถ้าคุณใช้ ระบบธง .
เมื่อชุดข้อมูลถูกโหลดใหม่ ERDDAP™ เปรียบเทียบแฟ้มที่มีอยู่แล้วกับตารางข้อมูลที่มีแคช แฟ้มใหม่จะถูกอ่านและเพิ่มไปยังตารางแฟ้มที่ถูกต้อง แฟ้มที่ยังไม่มีอยู่จะถูกทิ้งจากตารางแฟ้มที่ถูกต้อง แฟ้มที่มีวันที่เปลี่ยนแปลงของแฟ้ม ถูกอ่านแล้ว และข้อมูลต่าง ๆ ก็ถูกปรับปรุงใหม่ ตารางใหม่แทนที่ตารางเก่าในหน่วยความจําและบนดิสก์
แฟ้มเลว
ตารางของไฟล์ที่ไม่ดีและเหตุผลที่ไฟล์ได้รับการประกาศไม่ดี (แฟ้มเสียหาย ตัวแปรสูญหาย ฯลฯ) ส่งอีเมลไปยังอีเมล ทุกอย่าง ไปยังที่อยู่อีเมล (บางทีเธอ) ทุกครั้งที่ข้อมูลถูกโหลดใหม่ คุณควรเปลี่ยนหรือซ่อมแซมแฟ้มเหล่านี้ให้เร็วที่สุด
ตัวแปรหายไป
ถ้าบางไฟล์ไม่มี dataVariable นิยามในชุดข้อมูล datasets.xml ชิ้นส่วนที่โอเค เมื่อ EDDGrid จากแฟ้มอ่านแฟ้มหนึ่งในนั้น มันจะทําเหมือนว่าแฟ้มมีตัวแปร แต่ด้วยค่าที่ขาดหายไปทั้งหมด
ปัญหาของ FTP/ Advice
หากคุณมีแฟ้มข้อมูลใหม่ไปยัง FTP ERDDAP™ แม่ข่ายอยู่ ERDDAP™ กําลังวิ่ง มันมีโอกาส ERDDAP™ จะทําการโหลดข้อมูลชุดสะสมอีกครั้งระหว่างกระบวนการ FTP มันเกิดขึ้นบ่อยกว่าที่คุณคิด! หากมันเกิดขึ้น แฟ้มนี้จะปรากฏเป็นแฟ้มที่ถูกต้อง (มีชื่อที่ใช้ได้) แต่แฟ้มยังใช้ไม่ได้ ถ้า ERDDAP™ พยายามอ่านข้อมูลจากแฟ้มที่ใช้ไม่ได้นั้น, ความผิดพลาดที่เกิดขึ้นจะทําให้แฟ้มถูกเพิ่มเข้าไปในตารางของแฟ้มที่ไม่ถูกต้อง นี่ไม่ดีแน่ เพื่อหลีกเลี่ยงปัญหานี้ ให้ใช้ชื่อแฟ้มชั่วคราวเมื่อ FTP'ing file, ตัวอย่างเช่น, ABC2005 .nc _TEMP. จากนั้น, แฟ้มที่มีชื่อการทดสอบRegex (ดูด้านล่าง) จะแสดงให้เห็นว่านี่ไม่ใช่ไฟล์ที่เกี่ยวข้อง หลังจากประมวลผล FTP เรียบร้อยแล้ว ให้เปลี่ยนชื่อแฟ้มเป็นชื่อแฟ้มที่ถูกต้อง กระบวนการเปลี่ยนชื่อจะทําให้แฟ้มมีความเกี่ยวข้องในทันที
"0 แฟ้ม" ข้อความผิดพลาด
ถ้าคุณวิ่ง สร้าง DatatasXml หรือ ถอดรหัส หรือถ้าคุณพยายามโหลด EDDGrid จาก... ERDDAP™ และคุณได้ข้อความผิดพลาด "0 แฟ้ม" ระบุว่า ERDDAP™ พบแฟ้มที่เข้าคู่กับ 0 ในไดเรกทอรี (เมื่อคุณคิดว่า มีแฟ้มที่ตรงกับในไดเรกทอรีนั้น) .
- ตรวจสอบว่าแฟ้มอยู่ในไดเรกทอรีดังกล่าวจริงหรือไม่
- ตรวจสอบการสะกดชื่อไดเรกทอรี
- ตรวจสอบแฟ้มName มันง่ายที่จะทําผิดพลาดกับรีเซกซ์ สําหรับวัตถุประสงค์การทดสอบ ลอง regex. * ซึ่งควรจะตรงกับชื่อแฟ้มทั้งหมด (ดูนี่สิ เอกสารของ Regex ถึง บทเรียน regax .)
- เลือกผู้ใช้ที่กําลังทํางานอยู่ของโปรแกรม (e.g., ผู้ใช้=tommat (?) สําหรับทอมแคท/ ERDDAP ) ได้สิทธิ์ในการอ่านไฟล์เหล่านั้น
- ในระบบปฏิบัติการ (ยกตัวอย่างเช่น เซลีนุกซ์) และขึ้นอยู่กับการตั้งค่าของระบบ ผู้ใช้ที่เรียกใช้งานโปรแกรม จะต้องมีสิทธิ์ 'อ่าน' สําหรับห่วงโซ่ไดเรกทอรีทั้งหมดที่นํามายังไดเรกทอรีที่มีแฟ้มต่าง ๆ
EDDGrid จากโครงกระดูกแฟ้ม XML
- โครง กระดูก แบบ XML สําหรับทุกคน EDDGrid จากคลาสย่อยของแฟ้มคือ:
<dataset type="EDDGridFrom...Files" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1. For
EDDGridFromFiles subclasses, this uses Java's WatchDirectory system
to notice new/deleted/changed files quickly and efficiently. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<matchAxisNDigits>...</matchAxisNDigits> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<fileDir>...</fileDir> <-- The directory (absolute) with the
data files. -->
<recursive>true|false</recursive> <!-- 0 or 1. Indicates if
subdirectories of fileDir have data files, too. -->
<pathRegex>...</pathRegex> <!-- 0 or 1. Only directory names which
match the pathRegex (default=".\") will be accepted. -->
<fileNameRegex>...</fileNameRegex> <-- 0 or 1. A
regular expression (tutorial) describing valid data
file names, for example, ".\\.nc" for all .nc files. -->
<accessibleViaFiles>true|false(default)</accessibleViaFiles>
<!-- 0 or 1 -->
<metadataFrom>...</metadataFrom> <-- The file to get
metadata from ("first" or "last" (the default) based on file's
lastModifiedTime). -->
<fileTableInMemory>...</fileTableInMemory> <!-- 0 or 1 (true or
false (the default)) -->
<cacheFromUrl>...</cacheFromUrl> <!-- 0 or 1 -->
<cacheSizeGB>...</cacheSizeGB> <!-- 0 or 1 -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<axisVariable>...</axisVariable> <!-- 1 or more -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
</dataset>
ED* จากแฟ้ม Audio
** EDDGrid จากแฟ้ม Audio** ถึง แฟ้ม DDTable จาก Audio รวมข้อมูลจากชุดสะสมแฟ้มเสียงภายในระบบ (ภาพแรกปรากฏใน ERDDAP™ v1.82.) ความแตกต่างคือ EDDGrid จากแฟ้ม Audio ถือข้อมูลเป็นชุดข้อมูลหลายมิติ (โดยปกติมี 2 มิติ \[ แฟ้มเริ่มต้น เวลา \] ถึง \[ ผ่าน เวลาภายในแฟ้ม \] ) ขณะที่ EDTable from Audio Files ถือข้อมูลเป็นข้อมูลมุมกว้าง (ตามปกติจะเป็นคอลัมน์สําหรับเริ่มเวลาแฟ้ม, เวลาหลังด้วยแฟ้ม, และข้อมูลจากช่องเสียง) . EDDGrid จากแฟ้ม Audio files ต้องการให้ทุกแฟ้ม มีจํานวนตัวอย่างเท่ากัน ดังนั้นถ้านั่นไม่เป็นความจริง คุณต้องใช้ IDTable from Audio Files มิฉะนั้น ตัวเลือกของประเภท ED ที่ใช้เป็นตัวเลือกทั้งหมดของคุณ ข้อดีข้อหนึ่งของ EDTable from Audio Files: คุณสามารถเพิ่มตัวแปรอื่น ๆ ด้วยข้อมูลอื่น เช่น stationID ที่สถานี ทั้งสองกรณี การขาดตัวแปรเวลารวมกัน ทําให้การทํางานยากขึ้นกับข้อมูลจาก ADD ชนิดนี้ แต่ไม่มีทางที่ดีที่จะตั้งค่าตัวแปรเวลารวมกัน
ดูซูเปอร์คลาสพวกนี้สิ EDDGrid จากแฟ้ม ถึง เลือกแฟ้ม สําหรับข้อมูลทั่วไป ว่าคลาสนี้ทํางานอย่างไร และจะใช้มันอย่างไร
เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล เนื่องจากแฟ้มเสียงไม่มีข้อมูลกํากับภาพ นอกจากข้อมูลที่เกี่ยวข้องกับการเข้ารหัสเสียง คุณจะต้องแก้ไขค่าผลลัพธ์ที่ได้จากการสร้าง Datatas Xml เพื่อให้ข้อมูลที่สําคัญ (E.g., ชื่อเรื่อง, สรุป, creator\_name , สถาบัน, ประวัติศาสตร์) .
รายละเอียด:
- มีรูปแบบแฟ้มเสียงจํานวนมาก ตอนนี้ ERDDAP™ สามารถอ่านข้อมูลจากแฟ้ม .wav และ .au ได้ ปัจจุบันไม่สามารถอ่านแฟ้มเสียงชนิดอื่น ๆ ได้ เช่น .iff หรือ .mp3 หากคุณต้องการการรองรับฟอร์แมตแฟ้มเสียงรูปแบบอื่น ๆ หรือส่วนเชื่อมโยงอื่น ๆ ของ .wav และ .au โปรดส่งอีเมลไปยังคริส จอห์นที่โนอา โกฟ หรือ, ในแบบวนรอบ คุณสามารถใช้ได้ในขณะนี้, คุณสามารถเปลี่ยนไฟล์เสียงของคุณเป็น PCM /_ เซ็น (สําหรับข้อมูลจํานวนเต็ม) หรือ PCM\_FLOAT (ข้อมูลจุดลอย) แฟ้ม.wav เพื่อที่ ERDDAP™ สามารถทํางานกับพวกเขาได้
- ตอนนี้ ERDDAP™ สามารถอ่านแฟ้มเสียงด้วยอะไร Java คลาสของ AudioFormat เรียก PCM /_FLAT, PCM / _ SIFND, PCM / NFIGNED, ALAW, และรหัสภาษายูแอลเอ ERDDAP™ แปลงค่า PCM / ค่าที่แปลงแล้ว (e.g., 0 ถึง 255) เข้าใช้ค่าที่เซ็นแล้ว (e.g., -128 ถึง 128) โดยการเรียงชิ้นส่วนในค่าข้อมูล ERDDAP™ ผู้แปล ALAW และ ULAW เข้ารหัสจากรูปแบบดั้งเดิมที่เข้ารหัสไว้แบบย่อ (Int16) ค่า ตั้งแต่ Java ต้องการข้อมูลจากบิ๊กเอเดรียน ERDDAP™ จัดเรียงข้อมูลที่ถูกจัดเก็บด้วยอักษรตัวใหญ่=เท็จ (ภาษาละตินน้อย) เพื่ออ่านค่าอย่างถูกต้อง สําหรับการเข้ารหัสอื่น ๆ ทั้งหมด (PCM) . ERDDAP™ อ่านข้อมูลเป็น
- เมื่อ ERDDAP™ อ่านข้อมูลจากแฟ้มเสียง, มันเปลี่ยนข้อมูลกํากับภาพที่มีอยู่ในแฟ้ม มาเป็นคุณสมบัติทั่วไป นี่จะรวมถึง (ด้วยตัวอย่างที่แสดง)
ข้อความ dictionary เสียง int ช่อง 1 บันทึกเสียงแบบสตริง "PCM /_ signed". FramreRate เสียงลอย 96000.0; //per วินาที Int เสียง framesize 2; /# ข้อมูลไบต์ต่อเฟรม Fload SampleRate 96000.0; //per วินาที Int เสียง Samplesize Inbits 16; //# ของบิตต่อช่องต่อตัวอย่าง
สําหรับ ERDDAP วัตถุประสงค์คือ กรอบมีความคล้ายคลึงกับตัวอย่าง ซึ่งเป็นข้อมูลสําหรับจุดเดียวในเวลา คุณสมบัติใน ERDDAP™ จะมีข้อมูลที่อธิบายข้อมูล ในไฟล์ต้นฉบับ ERDDAP™ มักจะมีการเปลี่ยนแปลงระหว่างอ่านข้อมูล, เช่น, PCM / UNIFE, ALAW, และข้อมูลการเข้ารหัสแบบยูแอลเอW ถูกเปลี่ยนเป็น PCM\[SIGNNDNDNDD, และ BigEDAND=ข้อมูลปลอม ถูกเปลี่ยนเป็นข้อมูล BigEANDDian=ข้อมูลจริง (ซึ่งก็คือ Java อยากอ่านมัน) . สุดท้าย ค่าข้อมูลใน ERDDAP™ จะเป็น รหัส PCM ค่าข้อมูล (เช่น ตัวอย่างตัวเลขของคลื่นเสียง) .
- เมื่อ ERDDAP™ อ่านข้อมูลจากแฟ้มเสียง, มันอ่านไฟล์ทั้งหมด ERDDAP™ สามารถอ่านตัวอย่างได้ประมาณ 2 พันล้านตัวต่อช่อง ตัวอย่างเช่น หากอัตราตัวอย่างเป็น 44,100 ตัวอย่างต่อวินาที ตัวอย่าง 2 พันล้านดอลลาร์แปลเป็นประมาณ 756 นาที ของข้อมูลเสียงต่อไฟล์ ถ้าคุณมีแฟ้มเสียงที่มีข้อมูลมากกว่านี้ คุณต้องแยกไฟล์ออกเป็นก้อนเล็กๆ เพื่อให้ ERDDAP™ อ่านได้
- เพราะว่า ERDDAP™ อ่านแฟ้มเสียงทั้งหมด ERDDAP™ ต้องเข้าถึงหน่วยความจําจํานวนมาก เพื่อทํางานกับแฟ้มเสียงขนาดใหญ่ ดู ERDDAP ตั้งค่าหน่วยความจํา . อีกครั้ง, ถ้านี่เป็นปัญหา, การวนรอบที่คุณสามารถใช้ได้ตอนนี้ คือการแยกไฟล์ออกเป็นก้อนเล็ก ๆ เพื่อให้ ERDDAP™ สามารถอ่านมันด้วยความทรงจําที่น้อยลง
- บางแฟ้มเสียงเขียนผิด ERDDAP™ พยายามเล็กน้อยในการจัดการกับกรณีดังกล่าว แต่โดยทั่วไป, เมื่อมีข้อผิดพลาด, ERDDAP™ จะโยนข้อยกเว้น (และปฏิเสธแฟ้มนั้น) หรือ (หากข้อผิดพลาดไม่สามารถตรวจสอบได้) อ่านข้อมูล (แต่ข้อมูลจะไม่ถูกต้อง) .
- ERDDAP™ ไม่ตรวจสอบหรือเปลี่ยนระดับเสียงของเสียง โดยประมาณแล้ว ข้อมูลเสียงจํานวนเต็มจะถูกปรับขนาดให้ใช้ช่วงทั้งหมดของชนิดข้อมูล
- แฟ้มและเครื่องเล่นเสียงไม่มีระบบสําหรับค่าที่ขาดหายไป (E.g., –9999 หรือ United.NNN) . ดังนั้นข้อมูลเสียง ไม่ควรมีค่าหายไป ถ้าขาดค่า (เช่น หากคุณต้องการที่จะขยายแฟ้มเสียง) ใช้ 0 ชุด ซึ่งจะตีความว่าเงียบสนิท
- เมื่อ ERDDAP™ อ่านข้อมูลจากแฟ้มเสียง, มันมักจะสร้างคอลัมน์ที่เรียกว่า transfer เวลาและเวลาของแต่ละตัวอย่าง ในหน่วยวินาที (เก็บเป็นทวีคูณ) เมื่อเทียบกับตัวอย่างแรก (ซึ่งมีอยู่ว่า เวลา =0. s) . ด้วย EDDGrid จากแฟ้ม Audio นี้จะกลายเป็นตัวแปรแกนเวลาผ่าน
- EDDGrid จากแฟ้ม Audio ต้องการให้ทุกแฟ้ม มีจํานวนตัวอย่างเท่ากัน ดังนั้น ถ้ามันไม่จริง คุณต้องใช้ EDTable from Audio Files
- สําหรับ EDDGrid จากแฟ้ม Audio, เราขอแนะนําให้คุณตั้งค่า<Memory) (# ความรู้มีค่า) เท็จ (ขอแนะนําให้ใช้โดยสร้าง Datatas Xml) เพราะว่ามิติเวลามักมีค่ามากมาย
- สําหรับ EDDGrid จากแฟ้ม Audio คุณควรจะใช้ EDDGrid จากระบบแฟ้มสําหรับ พารามิเตอร์ ผ่าน ชื่อแฟ้ม เกือบทุกครั้งโดยการแยกวันที่เริ่มบันทึก เวลาจากชื่อแฟ้ม ยกตัวอย่างเช่น
<sourceName>\\*\\*\\*fileName,"timeFormat=yyyyMMdd'\\_'HHmmss",aco\\_acoustic\\.(\\[0-9\\]{8}\\_\\[0-9\\]{6})\\.wav,1</sourceName>
ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ XMI จะสนับสนุนและช่วยคุณเรื่องนี้
- สําหรับ EDTable from Audio Files คุณควรจะใช้ระบบ EDTable จากแฟ้มเกือบทุกครั้ง \*\*เลเยอร์ถัดไป sourceName วินาที ดึงข้อมูลจากชื่อแฟ้ม (เกือบทุกครั้ง วันเริ่มต้น เวลาสําหรับบันทึก) และส่งเสริมให้เป็นคอลัมน์ของข้อมูล ยกตัวอย่างเช่น
<sourceName>\\*\\*\\*fileName,aco\\_acoustic\\.(\\[0-9\\]{8}\\_\\[0-9\\]{6})\\.wav,1</sourceName>
ควรระบุรูปแบบของเวลาเป็นแอตทริบิวต์ของหน่วย:<AT name="หน่วย"}"yyymd''HPMS</at>
EDDGrid แฟ้ม MergeIR
** EDDGrid แฟ้ม MergeIR** รวบรวมข้อมูลจากท้องถิ่น ผนวกรวม IR ไฟล์ที่ได้มาจาก เขต ร้อน (ตาราง) ซึ่งเป็นภารกิจร่วมระหว่าง NASA กับสํานักงานสํารวจอวกาศญี่ปุ่น (ยา) . รวม แฟ้ม IR สามารถดาวน์โหลดได้จาก นาซา .
EDDGrid จาก MergeIR Files.java ถูกเขียนและให้การสนับสนุน ERDDAP™ โปรเจกต์โดย โจนาธาน ลาไฟต์ และ ฟิลลิป มาโควสกี้ แห่ง วิศวกรรมอาร์เทค (ใบรับรอง:) .
EDDGrid จากแฟ้ม MergeIR เป็นแฟ้มที่ผิดปกติเล็กน้อย:
- EDDGrid จากแฟ้ม MergeIR รองรับการบีบอัดหรือไม่มีการบีบอัดข้อมูลแหล่งข้อมูล ในชุดข้อมูลเดียวกัน ยกตัวอย่างนี้ ช่วยให้คุณได้บีบข้อมูลเก่าที่เก่ากว่า ที่แทบจะไม่เข้าถึง แต่ไม่มีการบีบอัดไฟล์ใหม่ที่มักจะเข้าถึง หรือ คุณสามารถเปลี่ยนชนิดของการบีบอัดจากต้นฉบับ ตัวอย่างเช่น Z .gz .
- หากคุณมีการบีบอัดและไม่มีการบีบอัดแฟ้มข้อมูลเดียวกันในไดเรกทอรีเดียวกัน กรุณาตรวจสอบให้แน่ใจว่า<แฟ้มชื่อRegex) สําหรับชุดข้อมูลของคุณ ตรงกับชื่อแฟ้มที่คุณต้องการให้ตรงกัน และไม่ตรงกับชื่อแฟ้มที่คุณไม่ต้องการให้มันตรงกัน
- แฟ้มข้อมูลแหล่งที่ไม่มีการบีบอัด ต้องไม่มีนามสกุลแฟ้ม (I.E. ไม่มี "" ในชื่อแฟ้ม) .
- แฟ้มข้อมูลแหล่งที่บีบอัดจะต้องมีส่วนขยายแฟ้ม แต่ ERDDAP™ กําหนดประเภทของการบีบอัดด้วยการตรวจสอบเนื้อหาของแฟ้ม ไม่ใช่โดยดูที่ส่วนขยายของแฟ้ม (ยกตัวอย่างเช่น "Z") . ประเภทที่รองรับการบีบอัดรวมทั้ง "gz", "bzip2", "xz", "lazma", "snappy-raind", "snappy-เฟรม", "back2200", และ "z". เมื่อ ERDDAP™ อ่านแฟ้มบีบอัด, มันย่อยสลายเมื่อ-The-fly, โดยไม่เขียนไปยังแฟ้มชั่วคราว
- แฟ้มข้อมูลแหล่งทั้งหมดจะต้องใช้ชื่อเดิมของระบบ: I.e., Mirg\_ YYYYMDH _4km-พิกเซล (ที่ไหน YYYYMDH แสดงเวลาที่เกี่ยวข้องกับข้อมูลในแฟ้ม) เพิ่มนามสกุลแฟ้มหากแฟ้มถูกบีบอัด
ดูคลาสนี้สิ EDDGrid จากแฟ้ม สําหรับข้อมูลทั่วไป ว่าคลาสนี้ทํางานอย่างไร และจะใช้มันอย่างไร
เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน
EDDGrid แฟ้มจาก Nc
** EDDGrid แฟ้มจาก Nc** รวบรวมข้อมูลจากท้องถิ่น หักหลัง GRIB .geb และ.gb2 แฟ้ม HDF (v4 หรือ v5) .hdf แฟ้ม .nc mI แฟ้ม NetCDF (v3 หรือ v4) .nc แฟ้มและ ซาร์ แฟ้ม (รุ่น 2.25) . แฟ้ม Zar มีพฤติกรรมที่แตกต่างกันเล็กน้อย และต้องการทั้งชื่อแฟ้มRegex หรือพาธ regex เพื่อรวม "zar"
สร้างใหม่ใน ERDDAP™ รุ่น 2.29.0 คือการทดลองรองรับตัวแปรข้อมูลที่ไม่สนับสนุนตัวแปรแกนทั้งหมด (หรืออย่างที่บางคนเรียกมันว่า 1D และ 2D ในชุดข้อมูลชุดเดียวกัน) . กรุณาติดต่อ กิตติฮับ (การ พิจารณา หรือ ประเด็น ต่าง ๆ) กับเสียงตอบรับและแมลง
นี่อาจใช้ได้กับประเภทแฟ้มชนิดอื่น (ยกตัวอย่างเช่น BUFR) เรายังไม่เคยทดสอบมัน กรุณาส่งไฟล์ตัวอย่างมาให้เราด้วย
- สําหรับแฟ้ม GRIB ERDDAP™ จะทําการสร้างแฟ้ม .gbx ของแฟ้มดัชนีเมื่ออ่านแฟ้ม GRIB แรก ดังนั้นแฟ้ม GRIB ต้องอยู่ในไดเร็กทอรีที่ "ผู้ตรวจการทอมแคท" ได้อ่านสิทธิ์ในการเขียน
- ดูคลาสนี้สิ EDDGrid จากแฟ้ม สําหรับข้อมูลการทํางานของคลาสนี้ และวิธีการใช้มัน
- เริ่มด้วย ERDDAP™ v2.12 EDDGrid แฟ้มจาก Nc และ EDDGrid แฟ้มจาก Nc ไม่สามารถอ่านข้อมูลจาก "รูปแบบ" ในได้ .nc 4 และ .hdf 4 แฟ้ม เพื่อระบุตัวแปรที่มาจากโครงสร้าง< sourceName > ต้องใช้รูปแบบ: การจัดเต็มName | สมาชิกName ตัวอย่างเช่นกลุ่ม 1/MyStrucht | เม็มเบอร์
- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน
จัดกลุ่มแฟ้ม Nc ที่ฝังอยู่
แฟ้ม Netcdf4 สามารถบรรจุกลุ่มได้ ERDDAP™ แค่สร้างชุดข้อมูลจากตัวแปรในกลุ่มเดียว และกลุ่มแม่ทั้งหมด คุณสามารถกําหนดชื่อกลุ่มที่จะใช้ในการสร้าง Datatas ได้ Xml (ข้ามรอยตัดต่อท้าย) หรือใช้ "" เพื่อสร้าง Datatets XMI. สืบค้นทุกกลุ่มสําหรับตัวแปรที่ใช้มิติมากที่สุด, หรือใช้ " \[ ราก \] ให้สร้าง Datatasets เพียงมองหาตัวแปรในรากกลุ่ม
สิ่งแรกที่สร้าง DatatasetsXml สําหรับชุดข้อมูลประเภทนี้ หลังจากที่คุณตอบคําถามคือ พิมพ์โครงสร้างคล้าย ncdump ของแฟ้มตัวอย่าง ดังนั้นถ้าคุณใส่คําตอบไม่กี่วลี สําหรับวงแรกผ่านการสร้าง Datatets Xml อย่างน้อยคุณจะได้เห็น ERDDAP™ สามารถอ่านไฟล์และดูว่า มิติและตัวแปรใดในแฟ้ม จากนั้นคุณสามารถให้คําตอบที่ดีกว่า สําหรับวงที่สอง ผ่านการสร้าง DatatatetsXml
EDDGrid แฟ้มจาก Nc
** EDDGrid แฟ้มจาก Nc** เป็นองค์ประกอบของ EDDGrid แฟ้มจาก Nc ซึ่งรวมข้อมูลจากเครื่องใน NetCDF (v3 หรือ v4) .nc และไฟล์ที่เกี่ยวข้อง ความแตกต่างคือ คลาสนี้ดึงข้อมูลแต่ละแฟ้มก่อน EDDGrid จากแฟ้มดูแฟ้ม:
- มันแยกตัวแปรที่มี scale\_factor &/ หรือ add\_offset .
- มันเปลี่ยน\_Fillvalue และ missing\_value คุณค่าของ NaN (หรือ MAX/ VALUE สําหรับข้อมูลชนิดจํานวนเต็ม) .
- มันเปลี่ยนค่าเวลาและเวลาเป็น "seconds since 1970-01-01T00:00:00Z" .
ข้อดีของคลาสนี้ก็คือ มันให้วิธีจัดการกับค่าต่างๆ scale\_factor . add\_offset , / ฟริลวาลู missing\_value หรือหน่วยเวลา ในแฟ้มแหล่งต่างๆ ในชุดสะสม ไม่อย่างนั้น, คุณต้องใช้เครื่องมืออย่างเช่น ขนาด NcML หรือ NCO เพื่อแก้ไขแต่ละแฟ้ม เพื่อลบความแตกต่างเพื่อให้แฟ้มสามารถจัดการได้ EDDGrid จากNC Files เพื่อให้คลาสนี้ทํางานได้อย่างถูกต้อง แฟ้มต้องเป็นไปตามมาตรฐานของ CF สําหรับคุณสมบัติที่เกี่ยวข้อง
- ถ้าพยายามทําให้ EDDGrid แฟ้มจาก Nc ยกเลิกการแพ็คเกจจากกลุ่มของแฟ้มที่คุณเคยใช้ก่อนหน้านี้ และล้มเหลวในการใช้ EDDGrid แฟ้มจาก Nc, cd ถึง เครื่อง มือ ขนาด ใหญ่ / Datatatet / ผู้ให้ยืมล่าสุด 2 คน / * datasetID * / ที่ไหน ผู้ให้ยืมล่าสุด 2 คน คือ 2 ตัวอักษรสุดท้าย datasetID . และลบแฟ้มทั้งหมดในไดเรกทอรีนั้น
- เริ่มด้วย ERDDAP™ v2.12 EDDGrid แฟ้มจาก Nc และ EDDGrid แฟ้มจาก Nc ไม่สามารถอ่านข้อมูลจาก "รูปแบบ" ในได้ .nc 4 และ .hdf 4 แฟ้ม เพื่อระบุตัวแปรที่มาจากโครงสร้าง< sourceName > ต้องใช้รูปแบบ: การจัดเต็มName | สมาชิกName ตัวอย่างเช่นกลุ่ม 1/MyStrucht | เม็มเบอร์
- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน
แฟ้ม Netcdf4 สามารถบรรจุกลุ่มได้ ดู เอกสารนี้ .
สิ่งแรกที่สร้าง DatatasetsXml ทํากับชุดข้อมูลประเภทนี้ หลังจากที่คุณตอบคําถามคือ พิมพ์โครงสร้างคล้าย ncdump ของแฟ้มตัวอย่าง ก่อน มันแตกแล้ว ดังนั้นถ้าคุณใส่คําตอบไม่กี่วลี สําหรับวงแรกผ่านการสร้าง Datatets Xml อย่างน้อยคุณจะได้เห็น ERDDAP™ สามารถอ่านไฟล์และดูว่า มิติและตัวแปรใดในแฟ้ม จากนั้นคุณสามารถให้คําตอบที่ดีกว่า สําหรับวงที่สอง ผ่านการสร้าง DatatatetsXml
EDDGrid ลอน PM 180
** EDDGrid ลอน PM 180** กําหนดค่าลองจิจูดของเด็ก (ปิด) EDDGrid ชุดข้อมูลที่มีเส้นแวงมากกว่า 180 (ตัวอย่างเช่น 0 ถึง 360) เพื่อให้อยู่ในระยะ - 180 ถึง 180 (ลองติจูดบวก หรือลบ 180, จึงมีชื่อ) .
- นี่เป็นวิธีสร้างชุดข้อมูลที่มี ลองจิจูดมากกว่า 180 คอมโพเนนต์ใน/ ร่วม OGC บริการ (ยกตัวอย่างเช่น WMS เซิร์ฟเวอร์ใน ERDDAP ) ตั้งแต่ทั้งหมด OGC บริการต้องการค่า ลองจิจูดภายใน - 180 ถึง 180
- การ ทํา งาน ใกล้ ชิด กับ ความ ไม่ เสมอ ภาค ก่อ ให้ เกิด ปัญหา ไม่ ว่า ความ ไม่ เสมอ ภาค จะ เป็น ที่ ลองจิจูด 0 หรือ ที่ ลองจิจูด 180. ประเภทชุดข้อมูลนี้ ช่วยให้คุณหลีกเลี่ยงปัญหาเหล่านั้นสําหรับทุกคน โดยนําเสนอข้อมูลชุดเดียวกันสองรุ่น: อันที่มีค่า ลองจิจูดในช่วง 0 ถึง 360 ("Paccifincent"?) . หนึ่งที่มีค่า ลองจิจูดในช่วง - 180 ถึง 180 (แอตแลนติเซนต์?) .
- สําหรับชุดข้อมูลเด็ก ที่มีค่าลองจิจูด มากกว่า 180 ค่าลองจิจูดใหม่ทั้งหมด ต่ํากว่า 360 องศา ตัว อย่าง เช่น ข้อมูล ชุด หนึ่ง ที่ มี ค่า ลองจิจูด 180 ถึง 240 จะ กลาย เป็น ข้อมูล ชุด หนึ่ง ที่ มี ค่า –180 ต่อ - 1201.
- สําหรับชุดข้อมูลเด็กที่มีค่า ลองจิจูดทั่วโลก (ประมาณ 0 ถึง 360) ค่าลองจิจูดใหม่ จะถูกเรียงใหม่ (ประมาณ) - 180 ถึง 180 : ค่า 0 เดิมถึงเกือบ 180 ค่านั้นเปลี่ยนไม่ได้ ตัว เลข เดิม 180 ถึง 360 ค่า ถูก เปลี่ยน เป็น - 1801 เป็น 0 และ ถูก เปลี่ยน เป็น จุด เริ่ม ต้น ของ ลําดับ ลองจิจูด.
- สําหรับชุดข้อมูลเด็ก ที่มีอายุ 180 ปี แต่ไม่ครอบคลุมโลก ERDDAP™ แทรกค่าที่ขาดไป เพื่อทําชุดข้อมูลครอบคลุมทั่วโลก ตัว อย่าง เช่น ข้อมูล ของ เด็ก ชุด หนึ่ง ที่ มี ค่า ลองจิจูด 140 ถึง 200 จะ กลาย เป็น ข้อมูล ชุด หนึ่ง ที่ มี ค่า เป็น - 180 เมตร. ค่า นิยม ของ เด็ก 180 ถึง 200 คน จะ กลาย เป็น - 1801 เป็น - 160. ค่า ลองจิจูดใหม่ จะถูกแทรกจาก -160 ถึง 140 ค่าข้อมูลที่สัมพันธ์กันจะเป็น /_ fillValues ค่า นิยม ของ เด็ก 140 ถึง เกือบ 180 คน จะ ไม่ เปลี่ยน แปลง. การแทรกค่าหายไปอาจดูแปลก แต่มันหลีกเลี่ยงปัญหาหลายอย่าง ที่เป็นผลมาจากการมีค่า ลองติจูดที่กระโดดขึ้นมาทันที (E.g. จาก -160- 140.) .
- ใน สร้าง DatatasXml มีประเภทชุดพิเศษ EDDGrid Lon PM 180 จาก Eddepcatalog ที่ช่วยให้คุณสร้าง datasets.xml สําหรับ EDDGrid Lonn PM 180 ชุดข้อมูลจากแต่ละชุด EDDGrid ชุดข้อมูลใน ERDDAP ที่มีค่า ลองจิจูดมากกว่า 180 นี่จะช่วยนําเสนอชุดข้อมูลสองรุ่นเหล่านี้ได้ ต้นฉบับที่มีค่า ลองจิจูดในช่วง 0 ถึง 360, และชุดข้อมูลใหม่ที่มีค่า ลองจิจูดในช่วง - 180 ถึง 180
ข้อมูลเด็กในแต่ละชุด EDDGrid LonnPM 1801 ชุดข้อมูลจะเป็น EDDGrid ชุดข้อมูลจาก Eddep ที่ชี้ไปยังชุดข้อมูลต้นฉบับ ชุดข้อมูลชุดใหม่ datasetID จะเป็นชื่อของชุดข้อมูลต้นฉบับ บวก "/ LonpM80" ยกตัวอย่างเช่น
<dataset type="EDDGridLonPM180" datasetID="erdMBsstdmday\\_LonPM180" active="true">
<dataset type="EDDGridFromErddap" datasetID="erdMBsstdmday\\_LonPM180Child">
<!-- SST, Aqua MODIS, NPP, 0.025 degrees, Pacific Ocean, Daytime
(Monthly Composite) minLon=120.0 maxLon=320.0 -->
<sourceUrl>https://coastwatch.pfeg.noaa.gov/erddap/griddap/erdMBsstdmday
</sourceUrl>
</dataset>
</dataset>
ใส่ EDDGrid ชุดข้อมูล PM 180 ด้านล่าง ชุดข้อมูลต้นฉบับใน datasets.xml . นั่น หลีก เลี่ยง ปัญหา บาง อย่าง ที่ อาจ เกิด ขึ้น ได้.
อีกทางเลือกหนึ่ง คุณสามารถแทนที่ EDDGrid ชุดข้อมูลเด็กจาก Eddep กับชุดข้อมูลต้นฉบับ datasets.xml . จาก นั้น จะ มี ชุด ข้อมูล เพียง แบบ เดียว คือ: ชุด ที่ มี ค่า ลองจิจูด ภาย ใน - 180 ถึง 180. เรายับยั้งเรื่องนี้ไว้ เพราะมันมีบางครั้ง ที่ชุดข้อมูลแต่ละแบบจะสะดวกกว่า
-
ตัว อย่าง เช่น ถ้า คุณ เสนอ ข้อมูล ชุด หนึ่ง ที่ มี เส้น ลองจิจูด 0 ถึง 360 และ อีก ชุด หนึ่ง มี เส้น ลองจิจูด - 180 ถึง 180:
- คุณสามารถใช้ตัวเลือกได้<เข้าใช้ได้ ผ่าน WMS > เท็จ<ใช้งานได้ ผ่าน WMS >) (สัตว์ป่าที่ควบคุมได้) ด้วยชุดข้อมูล 0-360 ที่จะบังคับให้ปิดการใช้งาน WMS บริการสําหรับชุดข้อมูล จากนั้นเฉพาะข้อมูลรุ่น LonPM 180 เท่านั้น ที่จะเข้าถึงได้ผ่านทาง WMS .
- มีสองวิธีที่จะเก็บข้อมูล log PM 1801 up-to date กับการเปลี่ยนแปลงของชุดข้อมูลหลัก:
- ถ้าชุดข้อมูลเด็ก EDDGrid จากข้อมูล Eddap ที่อ้างอิงข้อมูลชุดเดียวกัน ERDDAP™ lognPM 1801 ชุดข้อมูลจะพยายามที่จะสมัครรับโดยตรงกับชุดข้อมูลพื้นฐาน เพื่อให้อยู่เสมอ up-date. การบอกรับโดยตรง ไม่ได้สร้างอีเมลมาขอให้คุณทําการตรวจสอบการบอกรับ - ควรทําโดยอัตโนมัติ
- ถ้าชุดข้อมูลเด็กไม่ใช่ EDDGrid จากข้อมูล Eddep ที่อยู่บนชุดเดียวกัน ERDDAP™ UNMP 1801 ชุดข้อมูล จะพยายามใช้ระบบสมัครสมาชิกปกติ เพื่อสมัครรับข้อมูลพื้นฐาน ถ้าคุณมีระบบบอกรับใน ERDDAP™ เปิดการทํางานคุณควรได้รับอีเมล ขอให้คุณตรวจสอบการสมัครสมาชิก ได้โปรดทําเถอะ
- ถ้าคุณมีระบบบอกรับใน ERDDAP™ ปิดข้อมูล log PM 180 บางครั้งอาจจะมีข้อมูลเก่า จนกว่าข้อมูล PM80 ลอนจะถูกโหลดใหม่ ดังนั้นหากระบบบอกรับถูกปิด คุณควรจะตั้ง [<โหลดใหม่ ทุก ๆ nintuts) (โหลดทุกนาที) ตั้งค่าของข้อมูล PM 180 น. เป็นจํานวนที่น้อยกว่า เพื่อให้มีโอกาสมากขึ้นที่จะจับการเปลี่ยนแปลง
-
สําหรับชุดข้อมูลที่มีเส้นแวงสูงสุด > 360 ใช้การปรับแต่งตัวเลือกต่อไปนี้เพื่อตั้งค่าค่าสูงสุด และชุดข้อมูลจะได้รับการแก้ไขเป็น - 180 ถึง 180
<maxSourceLon>540</maxSourceLon>
EDDGrid โครง กระดูก ของ ลอน ฟ. XML
<dataset type="EDDGridLonPM180" datasetID\="..." active\="..." >
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1. For
EDDGridFromDap, this gets the remote .dds and then gets the new
leftmost (first) dimension values. -->
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<dataset>...</dataset> <!-- The child EDDGrid dataset. -->
</dataset>
EDDGrid ลอน0360
** EDDGrid ลอน0360** กําหนดค่าลองจิจูดของเด็ก (ปิด) EDDGrid ชุดข้อมูลที่มีเส้นแวงน้อยกว่า 0 (ตัวอย่างเช่น -180 ถึง 180) ดังนั้นพวกมันอยู่ในระยะ 0 ถึง 360 (จึงมีชื่อ) .
- การ ทํา งาน ใกล้ ชิด กับ ความ ไม่ เสมอ ภาค ก่อ ให้ เกิด ปัญหา ไม่ ว่า ความ ไม่ เสมอ ภาค จะ เป็น ที่ ลองจิจูด 0 หรือ ที่ ลองจิจูด 180. ประเภทชุดข้อมูลนี้ ช่วยให้คุณหลีกเลี่ยงปัญหาเหล่านั้นสําหรับทุกคน โดยนําเสนอข้อมูลชุดเดียวกันสองรุ่น: หนึ่งที่มีค่า ลองจิจูดในช่วง - 180 ถึง 180 (แอตแลนติเซนต์?) . อันที่มีค่า ลองจิจูดในช่วง 0 ถึง 360 ("Paccifincent"?) .
- สําหรับชุดข้อมูลเด็ก ที่มีค่า ลองจิจูดน้อยกว่า 0 ค่าลองจิจูดใหม่ทั้งหมด จะสูงกว่า 360 องศาเท่านั้น ตัว อย่าง เช่น ข้อมูล ชุด หนึ่ง ที่ มี ค่า ลองจิจูด คือ - 180 ถึง 121 จะ กลาย เป็น ข้อมูล ชุด หนึ่ง ที่ มี ค่า ลองจิจูด 180 ถึง 240.
- สําหรับชุดข้อมูลเด็กที่มีค่า ลองจิจูดทั่วโลก (ประมาณ - 180 ถึง 180) ค่าลองจิจูดใหม่ จะถูกเรียงใหม่ (ประมาณ) 0 ถึง 360: ค่าดั้งเดิม - 1801 เป็น 0 ถูกแปลงเป็น 180 ถึง 360 และเลื่อนไปยังปลายของอาร์เรย์ลองจิจูด ค่า 0 เดิมถึงเกือบ 180 ค่านั้นเปลี่ยนไม่ได้
- สําหรับชุดข้อมูลเด็กที่สแปนลอน=0 แต่ไม่ครอบคลุมโลก ERDDAP™ แทรกค่าที่ขาดไป เพื่อทําชุดข้อมูลครอบคลุมทั่วโลก ตัว อย่าง เช่น ข้อมูล เกี่ยว กับ เด็ก ที่ มี ค่า ลองจิจูด ของ -40 ถึง 20 จะ กลาย เป็น ชุด ข้อมูล ที่ มี ค่า ลองจิจูด 0 ถึง 360. ค่าของเด็ก 0 ถึง 20 จะเปลี่ยนแปลงไม่ได้ ค่า ลองจิจูดใหม่ จะถูกแทรกจาก 20 ถึง 320. ค่าข้อมูลที่สัมพันธ์กันจะเป็น /_ fillValues ค่า เด็ก –40 ต่อ 0 จะ เป็น 320 ถึง 360. การแทรกค่าหายไปอาจดูแปลก แต่มันหลีกเลี่ยงปัญหาหลายอย่าง ที่เป็นผลมาจากการมีค่า ลองติจูดที่กระโดดขึ้นมาทันที (20 ถึง 320) .
- ใน สร้าง DatatasXml มีประเภทชุดพิเศษ EDDGrid Lon0360 จาก ค.ศ. Erdadapcatalog ที่ช่วยให้คุณสร้าง datasets.xml สําหรับ EDDGrid Lon0360 ชุดข้อมูลจากแต่ละชุด EDDGrid ชุดข้อมูลใน ERDDAP ที่มีค่า ลองจิจูดมากกว่า 180 นี่จะช่วยนําเสนอชุดข้อมูลสองรุ่นเหล่านี้ได้ ต้นฉบับที่มีค่า ลองจิจูดในช่วง 0 ถึง 360, และชุดข้อมูลใหม่ที่มีค่า ลองจิจูดในช่วง - 180 ถึง 180
ข้อมูลเด็กในแต่ละชุด EDDGrid Lon0360 ชุดข้อมูลจะเป็น EDDGrid ชุดข้อมูลจาก Eddep ที่ชี้ไปยังชุดข้อมูลต้นฉบับ ชุดข้อมูลชุดใหม่ datasetID จะเป็นชื่อของชุดข้อมูลต้นฉบับ บวก "/_ Lon0360" ยกตัวอย่างเช่น
<dataset type="EDDGridLon0360" datasetID="erdMBsstdmday\\_Lon0360" active="true">
<dataset type="EDDGridFromErddap" datasetID="erdMBsstdmday\\_Lon0360Child">
<!-- SST, Aqua MODIS, NPP, 0.025 degrees, Pacific Ocean, Daytime
(Monthly Composite) minLon=-40.0 maxLon=20.0 -->
<sourceUrl>https://coastwatch.pfeg.noaa.gov/erddap/griddap/erdMBsstdmday
</sourceUrl>
</dataset>
</dataset>
ใส่ EDDGrid ชุดข้อมูล log0360 ด้านล่าง ชุดข้อมูลต้นฉบับใน datasets.xml . นั่น หลีก เลี่ยง ปัญหา บาง อย่าง ที่ อาจ เกิด ขึ้น ได้.
อีกทางเลือกหนึ่ง คุณสามารถแทนที่ EDDGrid ชุดข้อมูลเด็กจาก Eddep กับชุดข้อมูลต้นฉบับ datasets.xml . จากนั้น, มันจะมีข้อมูลแบบเดียว: อันที่มีค่าลองจิจูดภายใน 0 ถึง 360 เรายับยั้งเรื่องนี้ไว้ เพราะมันมีบางครั้ง ที่ชุดข้อมูลแต่ละแบบจะสะดวกกว่า
- ตัว อย่าง เช่น ถ้า คุณ เสนอ ข้อมูล ชุด หนึ่ง ที่ มี เส้น ลองจิจูด 0 ถึง 360 และ อีก ชุด หนึ่ง มี เส้น ลองจิจูด - 180 ถึง 180:
- คุณสามารถใช้ตัวเลือกได้<เข้าใช้ได้ ผ่าน WMS > เท็จ<ใช้งานได้ ผ่าน WMS >) (สัตว์ป่าที่ควบคุมได้) ด้วยการตั้งค่าข้อมูล 0 ถึง 360 เพื่อบังคับให้ปิดการใช้งาน WMS บริการสําหรับชุดข้อมูล จากนั้นมีเพียง - 180 ถึง 180 รุ่นของชุดข้อมูลจะเข้าถึงผ่านทาง WMS .
- มีสองวิธีที่จะเก็บข้อมูล Lon0360 up-to date กับการเปลี่ยนแปลงของชุดข้อมูลหลัก:
- ถ้าชุดข้อมูลเด็ก EDDGrid จากข้อมูล Eddap ที่อ้างอิงข้อมูลชุดเดียวกัน ERDDAP™ log0360 ชุดข้อมูลจะพยายามที่จะสมัครรับโดยตรงกับชุดข้อมูลพื้นฐาน เพื่อให้อยู่เสมอขึ้นวัน การบอกรับโดยตรง ไม่ได้สร้างอีเมลมาขอให้คุณทําการตรวจสอบการบอกรับ - ควรทําโดยอัตโนมัติ
- ถ้าชุดข้อมูลเด็กไม่ใช่ EDDGrid จากข้อมูล Eddep ที่อยู่บนชุดเดียวกัน ERDDAP™ log0360 ชุดข้อมูล จะพยายามใช้ระบบสมัครสมาชิกปกติ เพื่อสมัครรับข้อมูลพื้นฐาน ถ้าคุณมีระบบบอกรับใน ERDDAP™ เปิดการทํางานคุณควรได้รับอีเมล ขอให้คุณตรวจสอบการสมัครสมาชิก ได้โปรดทําเถอะ
- ถ้าคุณมีระบบบอกรับใน ERDDAP™ ปิด log0360 ชุดข้อมูลบางครั้งอาจจะมีข้อมูลเก่า จนกว่าชุดข้อมูล Lun0360 ถูกโหลดใหม่ ดังนั้นหากระบบบอกรับถูกปิด คุณควรจะตั้ง [<โหลดใหม่ ทุก ๆ nintuts) (โหลดทุกนาที) ตั้งค่าชุดข้อมูล Lon0360 เป็นจํานวนที่น้อยลง เพื่อให้มีโอกาสมากขึ้นที่จะจับการเปลี่ยนแปลง
EDDGrid ลอน0360 โครงกระดูก XML
<dataset type="EDDGridLon0360" datasetID\="..." active\="..." >
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1. For
EDDGridFromDap, this gets the remote .dds and then gets the new
leftmost (first) dimension values. -->
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<dataset>...</dataset> <!-- The child EDDGrid dataset. -->
</dataset>
EDDGrid ด้านข้าง
** EDDGrid ด้านข้าง** ประกอบสองหรือมากกว่า EDDGrid ชุดข้อมูล (เด็ก ๆ) เคียงข้างกัน
- ข้อมูลที่ได้มีตัวแปรทั้งหมด จากชุดข้อมูลเด็ก
- ชุดข้อมูลผู้ปกครองและชุดข้อมูลเด็กทั้งหมด จะต้องแตกต่างกัน datasetID เอส. ถ้ามีชื่อใดในครอบครัวที่เหมือนกันเป๊ะ ชุดข้อมูลจะโหลด (ข้อความผิดพลาดที่ค่าของแกนรวมไม่ได้เรียงลําดับ) .
- เด็กทุกคนต้องมีแหล่งเดียวกัน axisVariable วินาที \[ 1+ \] (ตัวอย่างเช่น ละติจูด ลองติจูด) . ความแม่นยําของการทดสอบถูกกําหนดโดย ตรงกับ Axndigit .
- เด็ก ๆ อาจ มี แหล่ง ที่ ต่าง ออก ไป สําหรับ axisVariable วินาที \[ 0 \] (ยกตัวอย่างเช่น เวลา) แต่ปกติพวกเขาจะเหมือนกัน
- ชุดข้อมูลแม่จะมีทั้งหมด axisVariable วินาที \[ 0 \] แหล่งที่มาของเด็กๆทุกคน
- ตัวอย่างเช่น, นี่ช่วยให้คุณรวมชุดข้อมูลแหล่ง เข้ากับองค์ประกอบ u ของเวกเตอร์ และชุดแหล่งข้อมูลอีกอัน
- เด็ก ๆ ที่ ถูก สร้าง โดย วิธี นี้ จะ ถูก จัด ขึ้น เป็น ส่วน ตัว. ชุดข้อมูลเหล่านี้ไม่ได้แยกต่างหาก (ตัวอย่างเช่น การร้องขอข้อมูลจากลูกค้า แฟ้มธง ) .
- ข้อมูลกํากับภาพและการตั้งค่าสําหรับผู้ปกครองทั่วโลก มาจากข้อมูลกํากับทั่วโลกและการตั้งค่าสําหรับเด็กคนแรก
- หาก มี ข้อ ยก เว้น ขณะ ที่ สร้าง บุตร คน แรก บิดา มารดา ก็ จะ ไม่ ถูก สร้าง ขึ้น.
- หากมีข้อยกเว้นระหว่างการสร้างเด็กอื่น ๆ มันจะทําการส่งอีเมลเพื่อส่งเมลไปยังทุก ๆ สิ่ง (ตามที่กําหนดไว้ใน ตั้งค่า. xml ) และยังคงอยู่กับเด็กคนอื่นๆ
EDDGrid โครง กระดูก ด้าน ข้าง XML
<dataset type="EDDGridSideBySide" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<matchAxisNDigits>...</matchAxisNDigits> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<dataset>...</dataset> <!-- 2 or more -->
</dataset>
EDDGrid การ แบ่ง แยก
** EDDGrid การ แบ่ง แยก** ประกอบสองหรือมากกว่า EDDGrid ชุดข้อมูลแต่ละชุด มีช่วงของค่าต่างๆ สําหรับมิติแรก แต่มีค่าเหมือนกันสําหรับมิติอื่น
- ตัวอย่างเช่น ชุดข้อมูลเด็กชุดหนึ่ง อาจมีค่า 366 ค่า (2004) สําหรับเวลามิติ และเด็กอีกคน อาจมีค่า 365 ค่า (2005) สําหรับมิติเวลา
- ค่าสําหรับทุกมิติที่เหลือ (ตัวอย่างเช่น ละติจูด ลองติจูด) คง จะ เหมือน กัน สําหรับ เด็ก ทุก คน. ความแม่นยําของการทดสอบถูกกําหนดโดย ตรงกับ Axndigit .
- ค่าขนาดเรียงลําดับ - ค่าแต่ละมิติต้องเรียงตามลําดับ (ขึ้นหรือลง) . ค่าต่าง ๆ อาจมีช่องว่างผิดปกติ ไม่มีสายสัมพันธ์ นี่คือเงื่อนไขของ มาตรฐานข้อมูลกํากับภาพแบบ CF . ถ้าค่าของมิติใด ๆ ไม่เรียงตามลําดับ ชุดข้อมูลจะไม่ถูกโหลดและ ERDDAP™ จะระบุค่าแรกที่ยังไม่ได้เขียนในแฟ้มปูมบันทึก เครื่อง มือ ขนาด ใหญ่ log/log.txt.
ค่ามิติ Unserted เกือบมักจะบอกปัญหากับชุดข้อมูลต้นฉบับ เหตุการณ์นี้มักเกิดขึ้นเมื่อแฟ้มที่มีชื่อผิดหรือไม่เหมาะสม ถูกรวมอยู่ในจดหมายเวียน ซึ่งนําไปสู่มิติเวลาที่ไม่ปรากฏ เพื่อแก้ปัญหานี้ ดูข้อความผิดพลาดใน ERDDAP™ แฟ้มปูมบันทึก.t เพื่อค้นหาค่าของเวลาที่ขัดจังหวะ จากนั้นดูในแฟ้มต้นทางเพื่อหาแฟ้มที่สอดคล้องกัน (หรือก่อนหรือหลัง) นั่นไม่เหมาะกับรังผึ้ง
- ชุดข้อมูลผู้ปกครองและชุดข้อมูลเด็ก จะต้องแตกต่างกัน datasetID เอส. ถ้ามีชื่อใดในครอบครัวที่เหมือนกันเป๊ะ ชุดข้อมูลจะโหลด (ข้อความผิดพลาดที่ค่าของแกนรวมไม่ได้เรียงลําดับ) .
- ตอนนี้ ชุดข้อมูลเด็กต้อง EDDGrid จากข้อมูล Dap และต้องมีค่าต่ําสุดในมิติรวม (โดยปกติแล้ว ค่าเวลาที่เก่าแก่ที่สุด) . เด็กคนอื่น ๆ จะต้องเป็นชุดข้อมูลเกือบเหมือนกัน (ต่างกันแค่ในค่าของมิติแรก) และพวกเขาเหล่านั้น (กุฟฟารมักกะฮฺ) เคยกล่าวไว้ว่า sourceUrl .
- ชุดข้อมูลรวมได้รับข้อมูลกํากับจากลูกคนแรก
- เดอะ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml สามารถทําให้ร่างหยาบของ datasets.xml สําหรับ EDDGrid การแบ่งประเภทการแบ่งส่วนข้อมูล โดยอิงจากชุดแฟ้มให้บริการโดย Hyrax หรือ เซิร์ฟเวอร์ THEDS ตัวอย่างเช่น ใช้ข้อมูลนี้สําหรับโปรแกรม ("/1988" ในที่อยู่ URL ทําให้ตัวอย่างทํางานเร็วขึ้น) .
EDDType? EDDGridAggregateExistingDimension
Server type (hyrax, thredds, or dodsindex)? hyrax
Parent URL (for example, for hyrax, ending in "contents.html";
for thredds, ending in "catalog.xml")
? https://opendap.jpl.nasa.gov/opendap/ocean\\_wind/ccmp/L3.5a/data/
flk/1988/contents.html
File name regex (for example, ".\\*\\.nc")? month.\\*flk\\.nc\\.gz
ReloadEveryNMinutes (for example, 10080)? 10080
คุณสามารถใช้ผลลัพธ์< sourceUrl > ป้ายกํากับหรือลบ และยกเลิก< sourceUrl แท็ก > (เพื่อให้แฟ้มใหม่ถูกสังเกตเห็นในแต่ละครั้งที่ชุดข้อมูลจะถูกโหลดใหม่
EDDGrid โครง กระดูก ที่ แยก ต่าง หาก XML
<dataset type="EDDGridAggregateExistingDimension" datasetID\="..."
active\="..." >
<dataset>...</dataset> <!-- This is a regular EDDGridFromDap dataset
description child with the lowest values for the aggregated
dimensions. -->
<sourceUrl>...</sourceUrl> <!-- 0 or many; the sourceUrls for
other children. These children must be listed in order of
ascending values for the aggregated dimension. -->
<sourceUrls serverType="..." regex="..." recursive="true"
pathRegex\=".\"
>https://someServer/someDirectory/someSubdirectory/catalog.xml</sourceUrls>
<!-- 0 or 1. This specifies how to find the other children,
instead of using separate sourceUrl tags for each child. The
advantage of this is: new children will be detected each time
the dataset is reloaded. The serverType must be "thredds",
"hyrax", or "dodsindex". An example of a regular expression (regex) (tutorial) is .\\.nc
recursive can be "true" or "false".
Only directory names which match the
<pathRegex>
(default=".\*") will be accepted.
A thredds catalogUrl MUST include "/thredds/catalog/".
An example of a thredds catalogUrl is
https://thredds1.pfeg.noaa.gov/thredds/catalog/Satellite/aggregsatMH/
chla/catalog.xml
An example of a hyrax catalogUrl is
https://opendap.jpl.nasa.gov/opendap/allData/ccmp/L3.5a/monthly/
flk/1988/contents.html
An example of a dodsindex URL is
https://opendap.jpl.nasa.gov/opendap/GeodeticsGravity/tellus/L3/mascon/RL06/JPL/v02/CRI/netcdf/contents.html
(Note the "OPeNDAP logo at the top of the page.)
When these children are sorted by filename, they must be in
order of ascending values for the aggregated dimension. -->
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<matchAxisNDigits>...</matchAxisNDigits> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<dimensionValuesInMemory>...</dimensionValuesInMemory> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
</dataset>
EDDGrid คัดลอก
** EDDGrid คัดลอก** ทําและรักษาสําเนาท้องถิ่นของอื่น EDDGrid ข้อมูลและบริการจากสําเนาท้องถิ่น
- EDDGrid คัดลอก (และสําหรับข้อมูล โปรแกรมคัดลอก DDTable ) เป็นการใช้ง่ายและมีประสิทธิภาพมาก คําตอบสําหรับปัญหาที่ใหญ่ที่สุดบางข้อ กับการส่งข้อมูลจากแหล่งข้อมูลระยะไกล
- การเข้าถึงข้อมูลจากแหล่งข้อมูลระยะไกล อาจช้า
- มันอาจจะเชื่องช้าเพราะมันช้า (ตัวอย่างเช่น เซิร์ฟเวอร์ประเภทไม่มีประสิทธิภาพ) .
- เพราะว่ามันเต็มไปด้วยความต้องการ
- หรือเพราะว่าเซิร์ฟเวอร์ของคุณหรือเซิร์ฟเวอร์ระยะไกล มีข้อจํากัดของแบนด์วิธ
- ชุดข้อมูลระยะไกลไม่มีอยู่ (อีกครั้ง ด้วยเหตุผลหลากหลาย) .
- การพึ่งพาแหล่งเดียวสําหรับข้อมูลไม่ได้สัดส่วนที่ดี (ตัวอย่างเช่น เมื่อผู้ใช้หลายคนและหลายคน ERDDAP ใช้มัน) .
- มันทํางานยังไง EDDGrid การ คัด ลอก สามารถ แก้ ปัญหา เหล่า นี้ ได้ โดย ทํา และ เก็บ สําเนา ข้อมูล ใน ท้อง ถิ่น และ ส่ง ข้อมูล จาก สําเนา ท้อง ถิ่น. ERDDAP™ สามารถให้บริการข้อมูลจากสําเนาท้องถิ่นอย่างรวดเร็วมาก และทําการคัดลอกภายในเครื่อง ช่วยบรรเทาภาระบนเซิร์ฟเวอร์ทางไกล และสําเนาท้องถิ่นนี้ เป็นการสํารองข้อมูลของต้นฉบับ ซึ่งมีประโยชน์ ในกรณีที่มีบางอย่างเกิดขึ้นกับต้นฉบับ
ไม่มีอะไรใหม่เกี่ยวกับการทําสําเนาข้อมูลท้องถิ่น สิ่งที่ใหม่ที่นี่ก็คือ ชั้นเรียนนี้ทําให้มัน\*ง่าย\*สร้างและสร้าง\*คงที่\*สําเนาข้อมูลของเครื่องจาก\*สี\*ชนิดของข้อมูลทางไกล\*เพิ่มข้อมูลกํากับภาพ\*ขณะคัดลอกข้อมูล
- ข้อมูลมากมาย EDDGrid คัดลอกทําสําเนาภายในของข้อมูล โดยการร้องขอชิ้นส่วนของข้อมูลจากระยะไกล<ชุดข้อมูล: จะมีก้อนแต่ละค่าของทางซ้ายสุด (ก่อน) ตัวแปรแกน EDDGrid คัดลอกไม่ได้ขึ้นอยู่กับหมายเลขดัชนีของระยะไกล สําหรับแกน -- สิ่งเหล่านี้อาจจะเปลี่ยนไป
คําเตือน: ถ้าขนาดของข้อมูลขนาดใหญ่มาก (> 2GB) ว่ามันทําให้เกิดปัญหา EDDGrid เราใช้มันไม่ได้ (ขอโทษที, เราหวังว่าจะมีคําตอบ สําหรับปัญหานี้ในอนาคต)
- \[ ทางเลือก EDDGrid คัดลอก - หากมีข้อมูลระยะไกลใช้ได้ผ่านทางแฟ้มที่ดาวน์โหลดได้, ไม่ใช่บริการเว็บ, ให้ใช้ แคช ตัวเลือกของ Url สําหรับ EDDGrid จากแฟ้ม ซึ่งทําให้มีสําเนาแฟ้มภายในเครื่อง และป้อนข้อมูลจากแฟ้มภายในระบบ \]
- แฟ้มภายในระบบ -- ข้อมูลแต่ละชิ้นจะเก็บไว้ในแยก NetCDF แฟ้มในส่วนย่อยของ เครื่อง มือ ขนาด ใหญ่ / รับทราบ / * datasetID * / (ตามที่กําหนดไว้ใน ตั้งค่า. xml ) . ชื่อแฟ้มที่สร้างจากค่าแกนถูกแก้ไขเพื่อให้มันปลอดภัยจากชื่อแฟ้ม (ตัวอย่างเช่น, ไฮเฟนถูกแทนที่ด้วย x2D) มันไม่มีผลกับข้อมูลจริง
- ข้อมูลใหม่ -- แต่ละครั้ง EDDGrid คัดลอกใหม่อีกครั้งตรวจสอบระยะไกล<Datets) เพื่อดูว่ามีก้อนอะไรบ้าง ถ้าเอกสารสําหรับข้อมูลในส่วนนี้ยังไม่มีอยู่แล้ว การร้องขอรับเนื้อส่วนจะถูกเพิ่มเข้าไปในคิว ERDDAP โพรเซส Head ของงานทั้งหมด ที่ร้องขอจากคิวสําหรับชิ้นข้อมูล, 1 คูณ 1 คุณจะเห็นสถิติของกิจกรรมของ Thead's หน้าสถานะ และใน รายงานรายวัน . (ใช่ ERDDAP™ สามารถกําหนดงานได้หลายอย่างในกระบวนการนี้ แต่จะใช้ข้อมูลจากระยะไกลจํานวนมาก ERDDAP วงดนตรี ความทรงจํา และเวลา CPU ซึ่งไม่ใช่ความคิดที่ดี)
หมายเหตุ: ครั้งแรก EDDGrid โหลดแล้ว (ถ้าทุกอย่างไปได้สวย) จะมีการเพิ่มการร้องขอข้อมูลจํานวนมากเข้าไปในคิวของทาสก์ แต่จะไม่มีการสร้างแฟ้มข้อมูลท้องถิ่น ดังนั้น ผู้สร้างจะล้มเหลว แต่งาน Thead จะยังคงทํางานต่อไปและสร้างแฟ้มภายในเครื่อง หากทั้งหมดไปดี, การอ่านงานจะทําให้บางแฟ้มข้อมูลภายใน และต่อไปพยายามที่จะโหลดข้อมูลชุด (ใน ~15 นาที) จะประสบความสําเร็จ แต่แรก ด้วยจํานวนที่จํากัดมากของข้อมูล
หมายเหตุ: หลังจากชุดข้อมูลท้องถิ่นมีข้อมูลบางอย่าง และปรากฏอยู่ใน ERDDAP ข้อมูลภายในยังคงใช้งานได้
คําเตือน: หากชุดข้อมูลปลายทางมีขนาดใหญ่มาก และ/ หรือเซิร์ฟเวอร์ระยะไกลจะช้า (นั่นคือปัญหาใช่ไหม) มันจะใช้เวลานานกว่าจะทําสําเนาเสร็จ ใน บาง กรณี เวลา ที่ จําเป็น จะ ไม่ เป็น ที่ ยอม รับ. ตัวอย่างเช่น การส่งข้อมูล 1 ทีบี ข้ามเส้น T1 (0. 15 จีบี/s) ใช้เวลาอย่างน้อย 60 วัน ภายใต้เงื่อนไขที่เหมาะสม นอกจากนี้ มันใช้แบนด์วิธ, ความทรงจํา และเวลา CPU ในเครื่องคอมพิวเตอร์ท้องถิ่น คําตอบคือ ส่งฮาร์ดไดรฟ์ไปยังผู้ดูแลระบบของชุดข้อมูลระยะไกล เพื่อให้ s/ he สามารถทําสําเนาของชุดข้อมูล และส่งฮาร์ดไดรฟ์กลับไปให้คุณ ใช้ข้อมูลนั่นเป็นจุดเริ่มต้น EDDGrid คัดลอกจะเพิ่มข้อมูลไปยังมัน (นั่นคือวิธีนึง บริการเมฆของอเมซอน EC2 จัด การ กับ ปัญหา นี้ แม้ ว่า ระบบ ของ พวก เขา จะ มี แบนด์วิธ อยู่ มาก มาย.)
คําเตือน: หากค่าที่กําหนดสําหรับทางซ้ายสุด (ก่อน) ตัวแปรแกนหายไปจากชุดข้อมูลระยะไกล EDDGrid คัดลอกไม่ได้ลบแฟ้มที่คัดลอกไว้ในเครื่อง ถ้าคุณต้องการ คุณสามารถลบมันด้วยตัวเอง
CheckSource ข้อมูล
เดอะ datasets.xml สําหรับชุดข้อมูลชุดนี้ จะมีป้ายเลือก
<checkSourceData>true</checkSourceData>
ค่าปริยายเป็นจริง หาก/ เมื่อคุณตั้งค่ามันให้เท็จ ชุดข้อมูลจะไม่ตรวจสอบแหล่งข้อมูล เพื่อดูว่ามีข้อมูลเพิ่มเติมหรือไม่
ก็ตั้งแต่
คุณบอกได้ว่า EDDGrid คัดลอกเพื่อทําสําเนาของสับเซตของข้อมูลแหล่ง, แทนที่จะใช้ชุดข้อมูลแหล่งทั้งหมด, โดยการเพิ่มป้ายในรูปแบบ<เฉพาะตั้งแต่ ค.ศ. บาง ค่า <กับชุดข้อมูล datasets.xml ชิ้น. EDDGrid คัดลอกจะดาวน์โหลดเฉพาะค่าข้อมูลที่เกี่ยวข้องกับค่าของมิติแรกเท่านั้น (ปกติมิติเวลา) ที่มากกว่า บาง ค่า . บาง ค่า สามารถเป็น:
-
จํานวนครั้งที่ระบุผ่านทาง now- ปิดการใช้งาน . ยกตัวอย่างเช่น<เฉพาะตั้งแต่ ค.ศ. now- 2 ปี<เพื่อทําสําเนาของข้อมูลท้องถิ่นสําหรับข้อมูล ที่ค่าของมิติภายนอก (ค่าเวลาปกติ) อยู่ใน 2 ปีที่ผ่านมา (ซึ่งจะตรวจสอบอีกครั้งในแต่ละครั้งที่ชุดข้อมูลจะถูกโหลดอีกครั้ง ซึ่งก็คือเมื่อมันมองหาข้อมูลใหม่ที่จะคัดลอก) . ดู now- ปิดการใช้งาน รายละเอียดไวยากรณ์ . มันมีประโยชน์ถ้ามิติแรกมีข้อมูลเวลา ซึ่งมักใช้ได้
EDDGrid คัดลอกไม่ได้ลบแฟ้มภายในที่มีข้อมูลที่ เมื่อเวลาผ่านไป จะเก่ากว่า now- ปิดการใช้งาน . คุณสามารถลบแฟ้มเหล่านั้นได้ทุกเวลาหากคุณเลือก ถ้าคุณทํา, เราแนะนําให้คุณตั้ง ธง หลังจากที่คุณลบแฟ้มเพื่อบอก EDDGrid คัดลอกไปยังรายการของแฟ้มที่มีแคช
-
จุดคงที่ในเวลาที่ระบุเป็นข้อความ ISO 8601 yyyy-MM-ddTHH:mm:ssZ . ยกตัวอย่างเช่น<2000-01-01.00 น.<บอกชุดข้อมูลเพียงเพื่อทําสําเนาของข้อมูลท้องถิ่น ที่มูลค่าของมิติแรกเป็น ->=2000-0100:00Z. มันมีประโยชน์ถ้ามิติแรกมีข้อมูลเวลา ซึ่งมักใช้ได้
-
จํานวนจุดลอย ยกตัวอย่างเช่น<เพียง แต่ 946684800.0<(ตั้งแต่นั้น) หน่วยจะเป็นหน่วยปลายทางของมิติแรก ตัวอย่างเช่น, สําหรับมิติเวลา, หน่วยใน ERDDAP™ เสมอ "seconds since 1970-01-01T00:00:00Z" . งั้น 946684800.0 "seconds since 1970-01-01T00:00:00Z" เท่ากับ 2000-01-01T00:00:00Z. นี่เป็นตัวเลือกที่มีประโยชน์เสมอ, แต่มีประโยชน์ โดยเฉพาะเมื่อมิติแรกไม่มีข้อมูลเวลา
EDDGrid ทําสําเนาให้ใช้ใหม่
- สร้าง<ชุดข้อมูล: รายการ (คนพื้นเมืองไม่ EDDGrid คัดลอก) สําหรับแหล่งข้อมูลระยะไกล ให้มันทํางานอย่างถูกต้อง รวมถึงข้อมูลกํากับทั้งหมดที่ต้องการ
- ถ้ามันช้าเกินไป ให้เพิ่มรหัส XML เพื่อห่อมัน EDDGrid คัดลอกชุดข้อมูล
- ใช้อีกแบบ datasetID (บางทีโดยการเปลี่ยนแปลง datasetID ของคนเก่า datasetID นิดหน่อย) .
- คัดลอก<เข้าใช้ได้ TO>,<โหลดทุก ๆ NMinuts) และ<On Changle> จากระยะไกล EDDGrid XML ไปยัง EDDGrid สําเนาของ XML (ค่าของมันสําหรับ EDDGrid คัดลอกสสาร; ค่าสําหรับชุดข้อมูลภายใน กลายเป็นความไม่เกี่ยวข้อง)
- ERDDAP™ จะทําและรักษาสําเนาภายในของข้อมูล
- (คําเตือน: EDDGrid คัดลอกสมมุติว่าค่าข้อมูลสําหรับแต่ละชิ้น ไม่เคยเปลี่ยน หาก/ ตอนที่พวกเขาทํา คุณต้องลบแฟ้มชิ้นงานเข้าไปเอง เครื่อง มือ ขนาด ใหญ่ / รับทราบ / * datasetID * ซึ่งเปลี่ยนไปและ ธง ชุดข้อมูลที่จะเรียกใหม่อีกครั้ง เพื่อให้ส่วนที่ลบไปแล้วถูกแทนที่ หากคุณมีจดหมายบอกรับข้อมูลจดหมาย คุณจะได้รับสองอีเมล: อันแรกเมื่อข้อมูลชุดแรกโหลดและเริ่มคัดลอกข้อมูล และอื่น ๆ เมื่อโหลดข้อมูลชุดข้อมูลอีกครั้ง (อัตโนมัติ) และตรวจสอบแฟ้มข้อมูลของเครื่องใหม่
- ค่าแกนทั้งหมดต้องเท่ากัน แต่ละแกนยกเว้นทางซ้าย (ก่อน) ค่าทั้งหมดต้องเท่ากันสําหรับเด็กๆทุกคน ความแม่นยําของการทดสอบถูกกําหนดโดย ตรงกับ Axndigit .
- ตั้งค่า ข้อมูลกํากับภาพ ตัวแปร EDDGrid คัดลอกใช้การตั้งค่า, ข้อมูลกํากับ และตัวแปรต่าง ๆ จากชุดข้อมูลต้นฉบับที่แนบมาด้วย
- เปลี่ยนข้อมูลกํากับภาพ -- ถ้าคุณต้องการเปลี่ยน addAttributes หรือเปลี่ยนลําดับตัวแปรที่เกี่ยวข้องกับชุดข้อมูลแหล่ง:
- เปลี่ยน addAttributes สําหรับชุดข้อมูลต้นฉบับใน datasets.xml ตามที่ต้องการ
- ลบแฟ้มที่คัดลอกไปหนึ่งแฟ้ม
- ตั้งค่า ธง นําข้อมูลกลับมาใช้ใหม่โดยทันที หากคุณใช้ธง และมีการบอกรับอีเมลไปยังชุดข้อมูล คุณก็จะได้อีเมล 2 ฉบับ: อันแรกเมื่อชุดข้อมูลเริ่มโหลดและเริ่มคัดลอกข้อมูล และอื่น ๆ เมื่อโหลดข้อมูลชุดข้อมูลอีกครั้ง (อัตโนมัติ) และตรวจสอบแฟ้มข้อมูลของเครื่องใหม่
- แฟ้มที่ถูกลบออกไปจะถูกสร้างขึ้นมาใหม่โดยใช้ข้อมูลกํากับภาพตัวใหม่ หากชุดข้อมูลแหล่งไม่สามารถใช้งานได้ EDDGrid คัดลอกชุดข้อมูล จะได้รับข้อมูลกํากับภาพจากแฟ้มที่ถูกสร้างขึ้นใหม่ เนื่องจากมันเป็นแฟ้มที่อายุน้อยที่สุด
EDDGrid คัดลอกโครงสร้าง XML
<dataset type="EDDGridCopy" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaFiles>true|false(default)</accessibleViaFiles>
<!-- 0 or 1 -->
<accessibleViaWMS>...</accessibleViaWMS> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<matchAxisNDigits>...</matchAxisNDigits> <!-- 0 or 1 -->
<fileTableInMemory>...</fileTableInMemory> <!-- 0 or 1 (true or false
(the default)) -->
<checkSourceData>...</checkSourceData> <!-- 0 or 1 -->
<onlySince>...</onlySince> <!-- 0 or 1 -->
<dataset>...</dataset> <!-- 1 -->
</dataset>
EDTable from Cassandra
EDTable from Cassandra จัดการข้อมูลจากหนึ่ง คาสเซนดร้า โต๊ะ คาสเซนดร้าเป็นฐานข้อมูล NOSQL
- ERDDAP™ สามารถทํางานกับคาสเซนดร้า v2 และ v3 โดยไม่มีการเปลี่ยนแปลงหรือความแตกต่างในการจัดฉาก เราได้ทดสอบกับ คาสเซนดร้า v2 และ v3 จาก อาปาเช . มันเป็นไปได้ว่า ERDDAP™ สามารถทํางานกับคาสเซนดร้าดาวน์โหลดจากข้อมูล
- สําหรับ Aug 2019 - May 2021 เรามีปัญหาในการให้คาสเซนดร้า ทํางานกับรับเลี้ยงโอเพน เจดค์ Java V8. มันโยน exception/_ ACCS\ vOLIOLY). แต่ตอนนี้ (2021) พ.ศ.) , ปัญหานั้นหายไปแล้ว: เราสามารถใช้คาสเซนดร้า v2.22 และรับสมัครโอเพ่น เจดค์ เจดยู8292-b10 ได้สําเร็จ
ตารางหนึ่ง
คาสเซนดร้าไม่สนับสนุน "สมาชิก" ในวิธีที่ฐานข้อมูลความสัมพันธ์ทํา หนึ่ง ERDDAP™ เพิ่มข้อมูล (บางทีสับเซตของหนึ่ง) โต๊ะคาสเซนดร้า
คาสเซนดร้า datasets.xml
- ERDDAP™ มากับคาสเซนดร้า Java คนขับ คุณไม่จําเป็นต้องแยกมัน
- อ่านข้อมูลทั้งหมดของเอกสารเกี่ยวกับ EDTable from Cassandra รายละเอียดบางอย่างสําคัญมาก
- คาสเซนดร้า Java คน ขับ จะ ตั้งใจ ทํา งาน ร่วม กับ อา ปาเช คาสเซนดร้า (1. 1+) และเอนเตอร์เทนเมนต์ข้อมูล (3. 1+) . หากคุณกําลังใช้งาน Apache Castan 1. 1. 1. 2. x คุณต้องแก้ไขแฟ้ม cassanra.yml สําหรับแต่ละโหนดเพื่อให้เริ่ม/Nativative\_transsport: transport: transfer: record bet assism
- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล (โดยเฉพาะอย่างยิ่ง)<พาร์ติชัน KeySourceName (ชื่อส่วน:) ) คุณสามารถเก็บข้อมูลส่วนใหญ่ที่คุณต้องการในการสร้าง XML สําหรับข้อมูล EDTable from Cassandra ได้ โดยการติดต่อกับผู้ดูแลระบบแคสแซนดร้า และค้นหาในเว็บ
ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ Xml มีสองตัวเลือกพิเศษสําหรับ EDTable from Cassandra:
- ถ้าพวกเจ้าเข้าไป ก็จงเข้าไป (โดยปราศจากคําคม) สําหรับขอบเขตกุญแจ โปรแกรมจะแสดงรายการของกุญแจต่าง ๆ
- ถ้าคุณป้อนกุญแจเฉพาะ แล้วป้อน "!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! (โดยปราศจากคําคม) สําหรับชื่อตาราง โปรแกรมจะแสดงรายการของตารางในคีย์สเปซนั้นและคอลัมน์ของพวกเขา
แยกแยะตัวพิมพ์เล็ก- ใหญ่
- ชื่อตัวพิมพ์เล็ก- ใหญ่ คาสเซนดร้าใช้คีย์สเปซกับชื่อโต๊ะ ในทางที่อ่อนไหว เพราะเรื่องนี้ เธอไม่ควรจะใช้คําว่าสงวน (แต่ด้วยอีกคดีนึง) เป็นคีย์สเปซของคาสเซนดร้า หรือชื่อโต๊ะ
- ชื่อคอลัมน์ที่อ่อนไหว โดยปริยายแล้ว คาสเซนดร้าจะตั้งชื่อคอลัมน์ ในทางที่อ่อนไหว ถ้าคุณใช้คําพิเศษของคาสเซนดร้า (ได้โปรดอย่า!) คุณต้องใช้
<columnNameQuotes>"<columnNameQuotes>
ใน datasets.xml สําหรับชุดข้อมูลนี้ คาสเซนดร้าและ ERDDAP™ จะรักษาชื่อคอลัมน์ในรูปแบบที่ไวต่อสถานการณ์ นี่น่าจะเป็นอาการปวดหัวอย่างมากสําหรับคุณ เพราะมันยากที่จะหาชื่อคอลัมน์ที่ไวต่อกรณี -- คาสเซนดร้า มักจะแสดงชื่อคอลัมน์
- ทํา งาน ใกล้ ชิด กับ ผู้ อํานวย การ คาส ซาน ซึ่ง อาจ มี ประสบการณ์ ที่ เกี่ยว ข้อง. หากชุดข้อมูลล้มเหลว ให้อ่าน ข้อความผิดพลาด หาสาเหตุให้ดี
คาสเซนดร้า<การเชื่อมต่อ คุณสมบัติ@ label
คาสเซนดร้ามีคุณสมบัติของการเชื่อมต่อที่สามารถกําหนดได้ datasets.xml . หลายอันจะมีผลกระทบต่อการแสดงของคาสซานดร้า ERDDAP™ เชื่อมโยง โชคไม่ดีที่คุณสมบัติของคาสเซนดร้า ต้องตั้งค่าตามโปรแกรม Java . ERDDAP™ ต้องมีรหัสของแต่ละที่ ERDDAP™ สนับสนุน ตอนนี้ ERDDAP™ รองรับคุณสมบัติเหล่านี้: (ค่าเริ่มต้นที่แสดงคือสิ่งที่เราเห็น ระบบของคุณอาจจะแตกต่างกัน)
- ตัวเลือกทั่วไป
<การเชื่อมต่อ ชื่อคุณสมบัติ=" บีบข้อมูล ""-- ไม่มี | ขนาด LZ4 | กระเด้งกระดอน <การเชื่อมสัมพันธ์ คุณสมบัติ: (แยกแยะตัวอักษรพิมพ์เล็ก- ใหญ่)
(คําแนะนําการบีบข้อมูลทั่วไป: ใช้ 'ไม่มี' หากการเชื่อมต่อระหว่างคาสเซนดร้ากับ ERDDAP™ เป็นภายในเครื่อง/ ด่วน และใช้ 'LZ4' หากการเชื่อมต่ออยู่ในระยะไกล/ slow)
<การเชื่อมต่อ ชื่อคุณสมบัติ=" ข้อมูล ""-- ชื่อผู้ใช้/ การเข้ารหัส <การเชื่อมสัมพันธ์ คุณสมบัติ: (นั่นคือตัวอักษร '/' )
<การเชื่อมต่อ ชื่อคุณสมบัติ=" เมตริก ""-- จริง | เท็จ <การเชื่อมสัมพันธ์ คุณสมบัติ: (2021-01-25 เป็นค่าปริยาย = trust, ปัจจุบันไม่สนใจและผิดเสมอ)
<การเชื่อมต่อ ชื่อคุณสมบัติ=" พอร์ต ""-- ตัวแก้ไข <การเชื่อมสัมพันธ์ คุณสมบัติ: (ค่าปริยายสําหรับโพรโทคอลไบนารีดั้งเดิม=9042)
<การเชื่อมต่อ ชื่อคุณสมบัติ=" SSI ""-- จริง | เท็จ <การเชื่อมสัมพันธ์ คุณสมบัติ: (ค่าปริยาย=เท็จ)
(ความพยายามอย่างรวดเร็วของฉันที่จะใช้ sSI ล้มเหลว ถ้าคุณทําสําเร็จ ได้โปรดบอกฉันว่าคุณทําได้ยังไง) - ตัวเลือกการสืบค้น
<การเชื่อมต่อ ชื่อคุณสมบัติ=" ความสม่ําเสมอ ระดับ ""-- ทั้งหมด | ใคร | แต่ละ_ควอร์ม | ภายในระบบ/ หนึ่ง | ภายในระบบ/ ค.ศ. | _ภายในเครื่อง | หนึ่ง | เศษส่วน | อนุกรม | สาม | สอง <การเชื่อมสัมพันธ์ คุณสมบัติ: (แยกแยะตัวพิมพ์เล็ก- ใหญ่)
<การเชื่อมต่อ ชื่อคุณสมบัติ=" คว้าขนาด ""-- ตัวแก้ไข <การเชื่อมสัมพันธ์ คุณสมบัติ: (ค่าปริยาย=5000)
(ไม่ต้องตั้งค่าการเรียกค่าขนาดเล็ก)
<การเชื่อมต่อ ชื่อคุณสมบัติ=" อนุกรม ""-- ทั้งหมด | ใคร | แต่ละ_ควอร์ม | ภายในระบบ/ หนึ่ง | ภายในระบบ/ ค.ศ. | _ภายในเครื่อง | หนึ่ง | เศษส่วน | อนุกรม | สาม | สอง <การเชื่อมสัมพันธ์ คุณสมบัติ: (แยกแยะตัวอักษรพิมพ์เล็ก- ใหญ่) - ตัวเลือกการไล่ระดับสี
<การเชื่อมต่อ ชื่อคุณสมบัติ=" การเชื่อมต่อTimes ""-- ตัวแก้ไข <การเชื่อมสัมพันธ์ คุณสมบัติ: (ค่าปริยาย=5000)
(ไม่ตั้งค่าการเชื่อมต่อ เวลานอกของมิลลิถึงค่าที่น้อยกว่า)
<การเชื่อมต่อ ชื่อคุณสมบัติ=" มีชีวิตอยู่ตลอดไป ""-- จริง | เท็จ <การเชื่อมสัมพันธ์ คุณสมบัติ: <การเชื่อมต่อ ชื่อคุณสมบัติ=" อ่าน Times ""-- ตัวแก้ไข <การเชื่อมสัมพันธ์ คุณสมบัติ: (คาสเซนดร้าอ่านไทม์มิลลิสโดยปริยาย 12000 แต่ ERDDAP™ เปลี่ยนค่าปริยายเป็น 120000 ถ้า คาสเซนดร้ากําลังโยนเวลาออกไป การเพิ่มขึ้นนี้อาจไม่ช่วยอะไร เพราะบางครั้งคาสเซนดร้าก็โยนมันทิ้ง ปัญหานี้มีโอกาสที่คุณจะเก็บข้อมูลต่อพาร์ทิชันมากเกินไป รหัสกุญแจ)
<การเชื่อมต่อ ชื่อคุณสมบัติ=" รับข้อมูลบัฟเฟอร์Size ""-- ตัวแก้ไข <การเชื่อมสัมพันธ์ คุณสมบัติ: (ไม่เป็นที่แน่ชัดว่า beffersiize ปริยายคืออะไร อย่าเอานี่เป็นค่าเล็กน้อย)
<การเชื่อมต่อ ชื่อคุณสมบัติ=" Solinger ""-- ตัวแก้ไข <การเชื่อมสัมพันธ์ คุณสมบัติ: <การเชื่อมต่อ ชื่อคุณสมบัติ=" ไม่ใช้เอฟเฟ็คต์ ""-- จริง | เท็จ <การเชื่อมสัมพันธ์ คุณสมบัติ: (ค่าปริยาย)
ถ้าคุณต้องการตั้งค่าคุณสมบัติการเชื่อมต่ออื่น ดูที่ ส่วนของการได้รับการสนับสนุนเพิ่มเติม .
สําหรับการเริ่มต้นของ Tomcat, การเชื่อมต่อจะถูกใช้เป็นครั้งแรกเท่านั้น โดยชุดข้อมูลถูกสร้างจากที่อยู่ URL ของคาสเซนดร้า โหลดข้อมูลทั้งหมดใหม่อีกครั้ง และชุดข้อมูลที่ตามมาทั้งหมด ที่ใช้ที่อยู่ URL เดียวกัน จะใช้ค่าการเชื่อมต่อดั้งเดิมเหล่านั้น
แฟ้ม CQL
คาสเซนดร้า สืบค้นภาษา (แฟ้ม CQL) เป็นภาษาที่ใช้ในฐานข้อมูลดั้งเดิม เพราะว่า OPeNDAP การร้องขอข้อมูลอักขระแท็บอาร์ก ถูกออกแบบให้เลียนแบบข้อมูล SQL ERDDAP™ ในการแปลงการร้องขออักขระแท็บอาร์กติกเป็น CQL แบบเชื่อมโยง/ Preparaded Statement ERDDAP™ บันทึกข้อความใน ปูมบันทึก. txt เป็น
ข้อความเป็นข้อความ: The Statement เป็นข้อความ
ในเวอร์ชันของประโยคที่คุณเห็น จะเป็นการแสดงข้อความของประโยค และจะมีเพียงแค่ "?" ซึ่งค่าเงื่อนไขจะถูกวาง
มันไม่ง่ายขนาดนั้น แต่น่าเสียดายที่ CQL มีข้อจํากัดหลายประการ ที่จะสามารถยืนยันได้ถึงข้อจํากัดชนิดใด ตัวอย่างเช่น คอลัมน์พาร์ติชันสามารถบังคับด้วย = และ in, ดังนั้น ERDDAP™ ส่งเงื่อนไขบางอย่างไปที่คาสเซนดร้า และใช้ข้อจํากัดทั้งหมด หลังจากได้รับข้อมูลจากคาสเซนดร้า ช่วย ERDDAP™ จัดการกับคาสเซนดร้าอย่างมีประสิทธิภาพ คุณต้องระบุ<พาร์ติชัน KeySourceName (ชื่อส่วน:) [<Group Columnsource Names>] (ชื่อของซัพพลายเออร์) และ<index ColumnSource Names>] (ชื่อโครงการ) ใน datasets.xml สําหรับชุดข้อมูลนี้ นี่เป็นวิธีที่สําคัญที่สุดที่จะช่วย ERDDAP™ ทํางานอย่างมีประสิทธิภาพกับคาสเซนดร้า ถ้าคุณไม่บอก ERDDAP™ ข้อมูลชุดนี้ ชุดข้อมูลจะช้า ERDDAP™ และใช้ทรัพยากรคาสเซนดร้าจํานวนมาก
<พาร์ติชัน KeySourceName
เพราะกุญแจพาร์ติชันมีบทบาทสําคัญ ในโต๊ะคาสเซนดร้า ERDDAP™ อยากรู้ sourceName และ ถ้า เกี่ยว ข้อง กับ ข้อมูล อื่น ๆ เกี่ยว กับ วิธี ทํา งาน กับ พวก เขา.
- คุณกําหนดรายการของพาร์ทิชันที่แยกไว้แล้ว datasets.xml ผ่าน<พาร์ติชัน KeySourceName ตัวอย่างง่ายๆ
<partitionKeySourceNames>station, deviceid<partitionKeySourceNames>
ตัวอย่างที่ซับซ้อนกว่านั้น
<partitionKeySourceNames>deviceid=1007, date/sampletime/1970-01-01<partitionKeySourceNames>
- กุญแจแบ่งเวลา - หากหนึ่งคอลัมน์กุญแจของพาร์ทิชันเป็นคอลัมน์ของเวลาประทับที่มีรุ่นหยาบกว่าของคอลัมน์เวลาประทับอื่น ๆ กําหนดนี้ผ่าน
*พาร์ติชันKeySourcName time\_precision *
ที่ไหน time\_precision คือหนึ่งใน time\_precision ใช้ข้อความอื่นใน ERDDAP . ตามรอย Z ใน time\_precision ข้อความเป็นค่าปริยาย จึงไม่สําคัญว่า time\_precision ข้อความจบที่ Z หรือไม่ ยกตัวอย่างเช่น ERDDAP™ จะแปลวันที่/ sampletime/1970-01-01 เป็น "ข้อห้ามสําหรับวัน สามารถสร้างจากข้อจํากัดของเวลาตัวอย่างได้ โดยใช้สิ่งนี้ time\_precision "" การเปลี่ยนเงื่อนไขที่แท้จริงนั้นซับซ้อนกว่า, แต่นั่นคือภาพรวม ใช้นี่เมื่อมันเกี่ยวข้อง มันช่วย ERDDAP™ เพื่อทํางานกับแคสแซนดร้าอย่างมีประสิทธิภาพ ถ้าความสัมพันธ์ระหว่างคอลัมน์นี้ มีอยู่ในโต๊ะคาสเซนดร้า ERDDAP™ ชุดข้อมูลจะช้ามาก ERDDAP™ และใช้ทรัพยากรคาสเซนดร้าจํานวนมาก - เดี่ยว กุญแจแยกค่า ถ้าคุณต้องการ ERDDAP™ ชุดข้อมูลที่จะให้ทํางานโดยใช้กุญแจพาร์ติชันเพียงตัวเดียว, ระบุ พาร์ติชันKeySourceName . อย่าใช้เครื่องหมายอ้างถึงคอลัมน์ตัวเลข ตัวอย่างเช่น, hypedid=1007 ใช้เครื่องหมายคําพูดสําหรับคอลัมน์สตริง ตัวอย่างเช่น, Postid= "Point Pinos"
- ลําดับปริยายของข้อมูล ลําดับของกุญแจพาร์ติชัน< dataVariable >'s in datasets.xml กําหนดลําดับปริยายของผลลัพธ์จากคาสเซนดร้า แน่นอน ผู้ใช้สามารถร้องขอลําดับอื่นสําหรับผลลัพธ์ที่ได้โดยเพิ่มเข้าไป orderBy (" รายการตัวแปรการแยกเครื่องหมายจุลภาค ") เพื่อสิ้นสุดการถามของพวกเขา
- โดยปริยายแล้ว คาสเซนดร้าและ ERDDAP™ ทํากับชื่อคอลัมน์ในรูปแบบที่อ่อนไหว แต่ถ้าคุณตั้ง คอลัมน์Name ถึง " ERDDAP™ จะรักษาคอลัมน์ของคาสซานดร้า เพื่อความสบายใจ
<พาร์ติชัน KeyCSV>
ถ้ามีการระบุสิ่งนี้ ERDDAP™ จะใช้มันแทนการขอคาสเซนดร้าสําหรับพาร์ทิชัน ข้อมูลสําคัญทุกครั้งที่โหลดชุดข้อมูลใหม่อีกครั้ง นี่จะให้รายการของกุญแจพาร์ทิชันที่แตกต่างกัน โดยลําดับที่จะใช้ เวลาต้องถูกกําหนดเป็นวินาที ตั้งแต่ 1970-01-01T00:00.00Z. แต่ยังมีสองวิธีพิเศษในการระบุเวลา (แต่ละการเข้ารหัสเป็นข้อความ) .
- เวลา (ISO8601 เวลา) (อาจถูกเข้ารหัสเป็นข้อความ)
- "เวลา" (ISO8601 Starttime, ความคืบหน้า, หยุดเวลา) " (ต้องเข้ารหัสเป็นข้อความ)
หยุด เวลาสามารถ ISO8601 เวลาหรือ " now- เวลา (เช่น " now- 3 นาที) . หยุด เวลาไม่จําเป็นต้องตรงกับการเริ่มต้นที่แน่นอน เวลา + x ก้าว แถวที่มี a คูณ () ค่าจะถูกขยายเป็นหลายแถวก่อนการสอบถามทุกครั้ง, ดังนั้นรายการของพาร์ทิชัน กุญแจสามารถทันสมัยได้ตลอดเวลา ยกตัวอย่างเช่น
<partitionKeyCSV>
deviceid,date
1001,"times(2014-11-01T00:00:00Z, 86400, 2014-11-02T00:00:00Z)"
1007,"time(2014-11-07T00:00:00Z)"
1008,time(2014-11-08T00:00:00Z)
1009,1.4154912E9
</partitionKeyCSV>
ขยายไปยังตารางของชุดปุ่มพิมพ์ลัดของพาร์ทิชันนี้:
deviceid,date
1001,1.4148E9
1001,1.4148864E9
1007,1.4153184E9
1008,1.4154048E9
1009,1.4154912E9
<หมู่
คาสเซนดร้ายอมรับเงื่อนไขแบบ SQL บนกลุ่มคอลัมน์ ซึ่งเป็นเสาที่ประกอบเป็นส่วนที่สองของหลัก (หลังปุ่มพาร์ติชัน (วินาที) ) . ดังนั้น คุณต้องระบุคอลัมน์เหล่านี้ผ่าน<Group Columnsource Names>. เปิดใช้งาน ERDDAP™ เพื่อทํางานกับแคสแซนดร้าอย่างมีประสิทธิภาพ ถ้ามีกลุ่มคอลัมน์ และคุณไม่ได้บอก ERDDAP ชุดข้อมูลจะช้ามาก ERDDAP™ และใช้ทรัพยากรคาสเซนดร้าจํานวนมาก
- ยกตัวอย่างเช่น<Group Columnsource Names> MyCluster Column1, MyCluster Column2 </ cluster Coumendsource Name)
- ถ้าตารางคาสเซนดร้าไม่มีกลุ่ม<Group Columnsource Names) หรือระบุมันโดยไม่มีค่า
- โดยปริยายแล้ว คาสเซนดร้าและ ERDDAP™ ทํากับชื่อคอลัมน์ในรูปแบบที่อ่อนไหว แต่ถ้าคุณตั้ง คอลัมน์Name ถึง " ERDDAP™ จะรักษาชื่อคอลัมน์ของคาสซานดร้า แบบที่อ่อนไหว
<ดัชนีColumnSourceName
คาสเซนดร้ายอมรับ '=' ข้อจํากัดเกี่ยวกับคอลัมน์ดัชนีรอง, ซึ่งเป็นคอลัมน์ที่คุณได้สร้างไว้โดยตรง โดยทําดัชนีผ่าน
CREATE INDEX *indexName* ON *keyspace.tableName* (*columnName*);
(ใช่ แล้ว จําเป็น ต้อง ใช้ วงเล็บ.)
มันมีประโยชน์มากถ้าคุณระบุคอลัมน์เหล่านี้ผ่าน<ดัชนีColumnSourceName). เปิดใช้งาน ERDDAP™ เพื่อทํางานกับแคสแซนดร้าอย่างมีประสิทธิภาพ ถ้ามีคอลัมน์ดัชนี และคุณไม่ได้บอก ERDDAP บางคําถามจะไม่จําเป็น เจ็บช้าใน ERDDAP™ และใช้ทรัพยากรคาสเซนดร้าจํานวนมาก
- ยกตัวอย่างเช่น<Name=ดัชนีName MyIdex Coloumn1, IIndex Column2 </ndex ColumnSource Name) Name
- ถ้าตารางคาสเซนดร้าไม่มีคอลัมน์ดัชนี ก็ยังไม่ได้ระบุ<ดัชนีColumnsource Names) หรือระบุมันโดยไม่มีค่า
- ข้อสังเกต: ดัชนีคาสเซนดร้าไม่เหมือนดัชนีฐานข้อมูล ดัชนีคาสเซนดร้าช่วยได้เท่านั้น '=' ข้อจํากัด และมันก็เป็นเพียง แนะนํา สําหรับคอลัมน์ที่มีค่าที่ต่างกัน น้อยกว่าค่ารวม
- โดยปริยายแล้ว คาสเซนดร้าและ ERDDAP™ ทํากับชื่อคอลัมน์ในรูปแบบที่อ่อนไหว แต่ถ้าคุณตั้ง คอลัมน์Name ถึง " ERDDAP™ จะรักษาชื่อคอลัมน์ของคาสซานดร้า แบบที่อ่อนไหว
<การเรียกดูสูงสุด
เมื่อ ERDDAP™ (อีกครั้ง) โหลดชุดข้อมูล ERDDAP™ ได้รับจากคาสเซนดร้า รายชื่อของส่วนผสมต่าง ๆ ของปุ่มพาร์ติชัน สําหรับชุดข้อมูลขนาดใหญ่ จํานวนของการจัดหมู่จะมาก หากคุณต้องการป้องกันไม่ให้ผู้ใช้ร้องขอข้อมูลส่วนใหญ่หรือทั้งหมด (หรือแม้กระทั่งคําขอ ERDDAP™ เพื่อดาวน์โหลดข้อมูลส่วนใหญ่หรือทั้งหมด เพื่อกรองข้อมูลเพิ่มเติม) คุณบอกได้ว่า ERDDAP™ เพื่ออนุญาตให้มีการขอลดจํานวนของการจัดหมู่ด้วยปริมาณที่ผ่าน<AxreRequestraction) ซึ่งเป็นเลขจุดลอยระหว่าง 1e-10 (ซึ่งหมายความว่าคําขอไม่สามารถใช้ได้มากกว่า 1 ชุดในพันล้าน) และ 1 (ค่าปริยาย ซึ่งหมายความว่าการร้องขอสําหรับชุดข้อมูลทั้งหมด) . ตัวอย่างเช่น ถ้าชุดข้อมูลมี 10000 ชุดที่แตกต่างกันของปุ่มพาร์ติชัน และค่าสูงสุดRequestfract ถูกตั้งค่าเป็น 0.1 แล้วร้องขอข้อมูลที่ต้องการจาก 1001 หรือมากกว่า จะทําให้เกิดข้อความผิดพลาด แต่คําขอที่ต้องการข้อมูล จาก 1000 หรือน้อยกว่านั้น จะได้รับอนุญาต
โดยทั่วไป, ยิ่งชุดข้อมูลใหญ่เท่าไหร่, ค่าล่างที่คุณควรตั้ง<Matrequereforction). ดังนั้นคุณอาจกําหนดให้เป็น 1 สําหรับชุดข้อมูลขนาดเล็ก, 0.1 สําหรับชุดข้อมูลขนาดปานกลาง 0.01 สําหรับชุดข้อมูลขนาดใหญ่ และ 0.001 สําหรับข้อมูลขนาดใหญ่
วิธี นี้ ไม่ สมบูรณ์ เลย. มันจะนําไปสู่บางคําขอที่มีเหตุผลถูกปฏิเสธ และบางคําขอที่ใหญ่เกินไปได้รับ อนุญาต แต่มันเป็นโจทย์ที่ยาก และคําตอบนี้ดีกว่าไม่มีอะไรเลย
คาสเซนดร้า subsetVariables
เช่นชุดข้อมูล EDTable อื่น ๆ คุณสามารถระบุรายการจุลภาคของ< dataVariable > destinationName S ในคุณลักษณะระดับโลกที่เรียกว่า " subsetVariables "เพื่อระบุตัวแปร ที่มีจํานวนค่าจํากัด ชุดข้อมูลจะมี .ubet หน้าเว็บ และแสดงรายการของตัวแปรเหล่านั้น ในรายการวางลงบนหน้าเว็บหลายหน้า
รวมถึงเพียงพาร์ทิชันตัวแปรที่สําคัญและ คอลัมน์คงที่ในรายการเป็น strongly E NCO อุรุกวัย คาสเซนดร้าจะสามารถสร้างรายการ ของการจัดหมู่ที่แตกต่างกันได้อย่างรวดเร็ว และง่ายทุกครั้งที่ชุดข้อมูลถูกโหลดใหม่ ข้อยกเว้นหนึ่งคือปุ่ม Timetamp parts ที่หยาบกว่าของคอลัมน์เวลาอื่น ๆ -- อาจเป็นการดีที่สุดที่จะลืมเหล่านี้ออกจากรายการ subsetVariables เนื่องจากมีจํานวนค่าจํานวนมาก และมันไม่ค่อยมีประโยชน์กับผู้ใช้
ถ้าคุณรวมกุญแจที่ไม่ใช่ส่วน, ตัวแปรที่ไม่โดดเด่นในรายการ, มันอาจจะ มาก ราคาถูกในการคํานวณสําหรับคาสเซนดร้า ในแต่ละครั้งที่ชุดข้อมูลถูกโหลด เพราะ ERDDAP™ ต้องดูทุกแถวของข้อมูล เพื่อสร้างข้อมูล ที่ จริง การ สอบ ถาม คง จะ ไม่ สําเร็จ. ยกเว้นชุดข้อมูลที่เล็กมาก ๆ นี้ไม่แน่นอน
แฟ้มภาพต่าง ๆ
เพราะมันมีความคลุมเครือเกี่ยวกับ ชนิดของข้อมูลคาสเซนดร้า แผนที่ที่ ERDDAP™ ชนิดของข้อมูล, คุณต้องระบุ [<ข้อมูล (# ดาต้าชนิด) แท็กแต่ละตัว< dataVariable >) (เปลี่ยนตัวแปรได้) เพื่อบอกว่า ERDDAP™ ชนิดของข้อมูลที่จะใช้ มาตรฐาน ERDDAP™ ข้อมูล ชนิด (และประเภทข้อมูลคาสเซนดร้า) คือ:
- บูเลียน (บูเลียน) ซึ่ง ERDDAP™ จากนั้นเก็บไว้เป็นไบท์
- ไบต์ (Int ถ้าระยะเป็น -128 ถึง 127)
- สั้น (Int, ถ้าช่วงคือ -32768 ถึง 32767)
- อินท (Int, เคาน์เตอร์?, varint? ถ้าช่วงคือ -214748364848 ถึง 2147483647)
- ยาว (ใหญ่, เคาน์เตอร์?, Varint? ถ้าช่วงคือ -92233 7,78547808 ถึง 92233720368547807.)
- ลอย (ลอย)
- หมู่ (สองเท่า ทศนิยม (กับการสูญเสียความแม่นยํา) เวลา)
- ค่า (Ascii หรือข้อความ ถ้าพวกเขาไม่เคยมีมากกว่า 1 ตัวอักษร)
- ข้อความ (Ascii, text, varchar, inet, uid, Timeuid, chot, plook, set, set, list?)
คาสเซนดร้า นาฬิกา เป็นกรณีพิเศษ: ใช้ ERDDAP ข้อมูลคู่ แบบ
หากคุณระบุรูปแบบข้อมูลข้อความ ERDDAP™ สําหรับแผนที่คาสเซนดร้า, ชุดหรือรายการ, แผนที่, ชุด หรือรายการในแต่ละแถวคาสเซนดร้า จะถูกแปลงเป็นสตริงเดียวในแถวเดียว ERDDAP™ โต๊ะ ERDDAP™ มี ระบบ อื่น สําหรับ รายการ; ดู ข้าง ล่าง.
ชนิด รายชื่อ... ERDDAP [s]<ข้อมูล (# ดาต้าชนิด) แท็กคาสเซนดร้า dataVariable s อาจรวมค่าปกติ ERDDAP™ ข้อมูล ชนิด (ดูด้านบน) รวมทั้งข้อมูลพิเศษหลายแบบ ที่สามารถใช้สําหรับคอลัมน์รายชื่อคาสเซนดร้าได้ เช่น บูเลอันลินทิส, byteList, UbyteList, SportList, usortList, Intituts, Untlist, Long List, Solist, Follow List, Sleist, Charliist, Stylist. เมื่อคอลัมน์หนึ่งในรายชื่อเหล่านี้อยู่ในผลลัพธ์ที่ส่งต่อไปยัง ERDDAP™ แต่ละแถวของแหล่งข้อมูลจะถูกขยายไปยังรายการ ขนาด () จํานวนแถวของข้อมูล ERDDAP สืบค้นเมื่อ: ชนิด (ตัวอย่างเช่น Int) ในช่องข้อมูลต้นฉบับนั้น จะถูกทําซ้ํา ขนาด () เวลา หากผลลัพธ์มีตัวแปรรายการมากกว่าหนึ่งตัวแปร รายการทั้งหมดในแถวของข้อมูลที่กําหนด จะต้องมีขนาดเท่ากัน และต้องรายการ "parallel", หรือ ERDDAP™ จะสร้างข้อความผิดพลาด ยกตัวอย่างเช่น การวัดกระแสจาก ADCP ความลึก \[ 0 \] (เพลง) \[ 0 \] , v เรขาคณิต \[ 0 \] และค่าสถิติ z \[ 0 \] ทุกอย่างเกี่ยวข้องกัน และ ความลึก \[ 1 \] (เพลง) \[ 1 \] , v เรขาคณิต \[ 1 \] และค่าสถิติ z \[ 1 \] ทุกอย่างเกี่ยวข้องกัน อีกทางเลือกหนึ่ง ถ้าคุณไม่ต้องการ ERDDAP™ เพื่อขยายรายการเป็นหลายแถวใน ERDDAP™ ตาราง, ระบุข้อความเป็น dataVariable ข้อมูล พิมพ์ แล้ว รายการ ทั้ง หมด จะ ถูก แทน ด้วย เชือก เส้น เดียว ใน แถว เดียว ERDDAP .
ข้อมูลเวลาของคาสเซนดร้า
ข้อมูลเวลาของคาสเซนดร้า ตระหนักถึงเขตเวลาเสมอ หากคุณป้อนข้อมูลเวลาประทับ โดยไม่ต้องระบุเขตเวลา คาสเซนดร้าจะตั้งเวลาใช้เขตเวลาท้องถิ่นแทน
ERDDAP™ รองรับข้อมูลเวลาและมักจะแสดงข้อมูลใน Zulu เขตเวลาจีเอ็มที ดังนั้นถ้าคุณป้อนข้อมูลเวลาประทับในคาสเซนดร้า ใช้พื้นที่เวลานอกเหนือจาก Zulu /GMT, จําไว้ว่าคุณต้องทําทุกลําดับสําหรับข้อมูลเวลา ERDDAP™ ใช้ Zulu เขตเวลาจีเอ็มที ไม่ต้องแปลกใจเมื่อค่าเวลา ERDDAP จะเลื่อนไปหลายชั่วโมงเนื่องจากเวลาเปลี่ยนจากท้องถิ่นเป็น Zulu เวลาของจีเอ็มที
- ใน ERDDAP ' datasets.xml ใน< dataVariable ตั้งค่าป้ายสําหรับตัวแปรเวลา
<dataType>double</dataType>
และใน< addAttributes > ตั้งค่า
<att name="units">seconds since 1970-01-01T00:00:00Z</att>
- ข้อ แนะ: ถ้าข้อมูลเป็นช่วงเวลา, มันจะมีประโยชน์ถ้ามีค่าเวลาเป็นศูนย์กลางของช่วงเวลา (อย่างเช่น ตอนเที่ยง) . ตัวอย่างเช่น, ถ้าผู้ใช้มีข้อมูลสําหรับ 2010-03-26T13:00Z จากข้อมูลชุดอื่น และอยากได้ข้อมูลที่ใกล้เคียงที่สุดจากข้อมูลคาสเซนดร้าที่มีข้อมูลในแต่ละวัน, แล้วข้อมูลสําหรับ 2010-03-26T12:00Z (เป็นตัวแทนของข้อมูลคาสเซนดร้าสําหรับวันนั้น) เห็นได้ชัดเลยว่าดีที่สุด (แทนที่จะเที่ยงคืนก่อนหรือหลัง ที่มันชัดเจนน้อยกว่าซึ่งเป็นที่ดีที่สุด) .
- ERDDAP™ มีสิ่งอํานวยความสะดวก แปลงตัวเลข เวลาเข้า/ จากเวลาสตริง .
- ดู ยังไง ERDDAP™ จัดการกับเวลา .
สเปซว่าง
คาสเซนดร้าสนับสนุนการว่างในคาสเซนดร้า ( ERDDAP™ อินท) และขนาดใหญ่ยิ่ง ( ERDDAP™ ยาว) คอลัมน์ แต่ ERDDAP™ ไม่สนับสนุนสเปซว่างของจํานวนเต็ม โดยปริยายแล้ว จํานวนเต็มคาสเซนดร้าจะถูกแปลงเป็น ERDDAP™ 2147483647 สําหรับคอลัมน์ int หรือ 92233 7,368547807 สําหรับคอลัมน์ยาว. รายการเหล่านี้จะแสดงเป็น "NAN" ในบางแฟ้มส่งออกเสียงข้อความ (ยกตัวอย่างเช่น .csv) , "" ในแฟ้มส่งออกข้อความชนิดอื่น (ยกตัวอย่างเช่น .htmlTable ) และเลขเฉพาะ (2147483647 สําหรับค่า instit) ในแฟ้มชนิดอื่น (ตัวอย่างเช่น แฟ้มไบนารีเช่น .nc และพรม) . ผู้ใช้สามารถค้นหาข้อมูลเป็นแถวได้ โดยใช้ค่านี้หายไป โดยอ้างถึง "NN", e.g, "& วินด์สเตด= NaN"
ถ้าคุณใช้ค่าจํานวนเต็มอื่นเพื่อแสดงว่า ค่าที่หายไปในตารางคาสเซนดร้าของคุณ โปรดระบุค่าดังกล่าวใน datasets.xml .
<att name="missing\_value" type="int"\>-999</att>
สําหรับคอลัมน์จุดลอยคาสซานดร้า สเปซว่างจะถูกแปลงเป็น NNs ใน ERDDAP . สําหรับชนิดของข้อมูลคาสเซนดร้า ที่ถูกเปลี่ยนเป็นสตริงใน ERDDAP™ ช่องว่างถูกเปลี่ยนเป็นเชือกเปล่า นั่นไม่น่าจะเป็นปัญหา
"WARINNG: re-prining กําลังเตรียมการค้นหา"
- "WARINNG: re-prining กําลังเตรียมการค้นหาแล้ว"ใน แว่นขยาย ล็อก/คาทาลิน่า ออก (หรือแฟ้มปูมบันทึกของ Tomcat อื่น ๆ)
เอกสารของคาสเซนดร้าบอกว่า มีปัญหา ถ้าการสอบถามแบบเดียวกันนี้ ถูกทําขึ้นเป็นการเตรียมพร้อมสองครั้ง (หรือมากกว่านั้น) . (ดูนี่สิ รายงานข้อผิดพลาด .) เพื่อหลีกเลี่ยงการทําให้คาสเซนดร้าโกรธ ERDDAP™ แคชพร้อมใช้งานทั้งหมด เพื่อให้สามารถเรียกมันอีกครั้ง แคชดังกล่าวจะสูญหายหาก/ Tomcat/ ERDDAP™ เริ่มการทํางานใหม่, แต่ฉันคิดว่าไม่เป็นไร เพราะการเตรียมการจะเกี่ยวข้องกับเซสชัน (ระหว่าง Java และ คาสเซนดร้า) ซึ่งก็สูญหายไป ดังนั้น คุณจะเห็นข้อความเหล่านี้ ผมไม่มีคําตอบอื่น โชคดีที่มันเป็นคําเตือน ไม่ใช่ความผิดพลาด (แม้ ว่า คาส ซาน จะ ขู่ ว่า มัน อาจ นํา ไป สู่ ปัญหา ด้าน การ แสดง) .
คาสเซนดร้าอ้างว่า การเตรียมงานเป็นสิ่งที่ดีตลอดไป ERDDAP การจัดทําแคชของ KDE จะไม่มีการทําให้วัน/วันว่างว่างทํางานเลย หากไม่เป็นความจริงและคุณได้รับข้อผิดพลาดเกี่ยวกับบาง statements ที่มีการออกวันที่/ไม่แน่นอน แล้วคุณต้องเริ่มใหม่อีกครั้ง ERDDAP™ เพื่อล้าง ERDDAP แคชของอุปกรณ์เตรียม
รักษาความปลอดภัยคาสเซนดร้า
เมื่อทํางานกับคาสเซนดร้า คุณต้องทําสิ่งต่างๆ ให้ปลอดภัยและปลอดภัยที่สุด เพื่อหลีกเลี่ยงการยอมให้ผู้ใช้ที่มุ่งร้าย ERDDAP™ พยายามทําในสิ่งที่ปลอดภัยด้วย
- เราแนะนําให้คุณตั้ง ERDDAP™ เพื่อเชื่อมต่อกับคาสเซนดร้าในฐานะผู้ใช้คาสเซนดร้า เกี่ยวข้องกับ ตาราง (วินาที) และอัลกุรอานนั้นมิใช่อื่นใดนอกจากเป็นข้อตักเตือนเท่านั้น
- เราแนะนําให้คุณติดตั้งการเชื่อมต่อจาก ERDDAP™ คาสเซนดร้าจึงทําให้
- ใช้ SSL เสมอ
- อนุญาตการเชื่อมต่อจากที่อยู่ IP เดียว (หรือหนึ่งบล็อกของที่อยู่) และจากคนหนึ่ง ERDDAP™ ผู้ใช้ และ
- แค่โอนรหัสผ่านในแบบฟอร์ม DA5
- \[ การ รู้ ปัญหา \] การเชื่อมต่อ (รวมพาสเวิร์ดด้วย) จะถูกจัดเก็บเป็นข้อความธรรมดา datasets.xml . เราไม่พบวิธีที่จะอนุญาตให้ผู้ดูแลระบบป้อนรหัสผ่านคาสเซนดร้าในระหว่าง ERDDAP เริ่มที่ Tomcat (ซึ่งเกิดขึ้นโดยไม่มีผู้ใช้งาน) ดังนั้นรหัสผ่านจะต้องเข้าถึงได้ในแฟ้ม เพื่อให้มันปลอดภัยมากขึ้น
- คุณ (คือ ERDDAP™ ผู้ดูแล) ควรเป็นเจ้าของ datasets.xml และชนรุ่นต่อ ๆ ไป
- สร้างกลุ่มที่รวมเฉพาะผู้ใช้เท่านั้น=ทอมแคท ใช้chrchrpp เพื่อให้กลุ่มสําหรับ datasets.xml ด้วยเพียงแค่การอ่านสิทธิพิเศษ
- ใช้chmod เพื่อกําหนดสิทธิ์ของ O-rwx (ไม่มีการอ่านหรือแก้ไขสิทธิ์ผู้ใช้ "อื่น") สําหรับ datasets.xml .
- เมื่อเข้ามา ERDDAP™ จัดเก็บรหัสผ่านและคุณสมบัติการเชื่อมต่ออื่น ๆ ใน "prinvate" Java ตัวแปร
- มี การ วิเคราะห์ คํา ขอ จาก ลูก ค้า และ ตรวจ สอบ ความ ถูก ต้อง ก่อน ที่ จะ ทํา ให้ คํา ร้อง ขอ ของ CQL สําหรับ คาส ซาน.
- การร้องขอหาคาสเซนดร้า ทําจาก CQL particle/Prepared Statement เพื่อป้องกันการฉีด ซีคิวแอล อย่างไรก็ตาม คาสเซนดร้ามีความไวต่อการฉีด ซีคิวแอล น้อยกว่าฐานข้อมูลดั้งเดิม การฉีด SQL .
ความเร็วคาสเซนดร้า
คาสเซนดร้าอาจจะเร็วหรือช้า มีบางอย่างที่คุณสามารถทําได้ เพื่อให้มันเร็ว
- ทั่วไป - ธรรมชาติของ CQL คือความซับซ้อน การสลายตัว . พวกเขาเพียงแค่ระบุสิ่งที่ผู้ใช้ต้องการ มันไม่ได้รวมคําจํากัดความหรือคําใบ้ว่า จะจัดการการสอบถามอย่างไร ดังนั้นไม่มีทาง ERDDAP™ ทําให้เกิดการสอบถาม ในแบบที่จะช่วยคาสเซนดร้าให้คําสอบถาม (หรือในวิธีใด ๆ กําหนดวิธีการสอบถามที่จะจัดการ) . โดย ทั่ว ไป ขึ้น อยู่ กับ เจ้า หน้าที่ ฝ่าย บริหาร ของ คาส ซาน ที่ จะ จัด การ เรื่อง ราว ต่าง ๆ (ตัวอย่างเช่น ดัชนี) เพื่อจัดลําดับความต่อเนื่อง
- การระบุคอลัมน์เวลาประทับที่เกี่ยวข้องกับ preger-prilion timetamp ผ่าน [<พาร์ติชัน KeySourceName (ชื่อส่วน:) เป็นวิธีที่ดีที่สุดที่จะช่วย ERDDAP™ ทํางานอย่างมีประสิทธิภาพกับคาสเซนดร้า ถ้าความสัมพันธ์นี้อยู่ในโต๊ะคาสเซนดร้า และคุณไม่ได้บอก ERDDAP™ ชุดข้อมูลจะช้ามาก ERDDAP™ และใช้ทรัพยากรคาสเซนดร้าจํานวนมาก
- การระบุกลุ่มเสาทาง<Group Columnsource Names>] (ชื่อของซัพพลายเออร์) เป็นวิธีที่สําคัญที่สุดอย่างที่สอง ERDDAP™ ทํางานอย่างมีประสิทธิภาพกับคาสเซนดร้า ถ้ามีกลุ่มคอลัมน์ และคุณไม่ได้บอก ERDDAP สับเซตขนาดใหญ่ของลําดับที่เป็นไปได้สําหรับข้อมูลจะไม่จําเป็นจะช้าเจ็บปวดใน ERDDAP™ และใช้ทรัพยากรคาสเซนดร้าจํานวนมาก
- สร้าง ดัชนี สําหรับข้อแตกต่างร่วมกัน คุณสามารถเร่งความเร็วได้โดยสร้างดัชนี สําหรับคอลัมน์คาสเซนดร้า ที่มักถูกจํากัดด้วยเงื่อนไข "="
คาสเซนดร้าไม่สามารถทําดัชนีสําหรับรายการ, ชุด, หรือคอลัมน์แผนที่ได้
- กําลังระบุคอลัมน์ดัชนีผ่านทาง [Ctrl+2]<index ColumnSource Names>] (ชื่อโครงการ) เป็นวิธีที่สําคัญที่จะช่วย ERDDAP™ ทํางานอย่างมีประสิทธิภาพกับคาสเซนดร้า ถ้ามีคอลัมน์ดัชนี และคุณไม่ได้บอก ERDDAP อะไรบางอย่างสําหรับข้อมูลจะไม่จําเป็น, ช้าเจ็บปวดใน ERDDAP™ และใช้ทรัพยากรคาสเซนดร้าจํานวนมาก
คาสเซนดร้าName
- ข้อความวิเคราะห์ "Cassandras" -- สําหรับทุก ERDDAP™ ผู้ใช้สอบถามข้อมูลคาสเซนดร้า ERDDAP™ จะพิมพ์บรรทัดในแฟ้มปูมบันทึก เครื่อง มือ ขนาด ใหญ่ logs/log.txt กับบางสถิติที่เกี่ยวข้องกับการสอบถาม ตัวอย่างเช่น
\\* Cassandra stats: partitionKeyTable: 2/10000=2e-4 < 0.1 nCassRows=1200 nErddapRows=12000 nRowsToUser=7405
โดยใช้ตัวเลขในตัวอย่างนี้, นี่หมายความว่า:
- เมื่อ ERDDAP™ สุดท้าย (อีกครั้ง) โหลดชุดข้อมูลนี้ คาสเซนดร้าบอก ERDDAP™ มีรหัส 10000 ของปุ่มพาร์ติชัน ERDDAP™ จัดเก็บการจัดรูปแบบที่แตกต่างกันทั้งหมดในแฟ้ม
- เนื่องจากข้อจํากัดของผู้ใช้ ERDDAP™ ระบุรหัส 2 แบบจาก 10000 ที่อาจมีข้อมูลที่ต้องการ ดังนั้น ERDDAP™ จะโทร.หาแคสแซนดร้า 2 ครั้ง 1 ครั้ง สําหรับแต่ละรหัส (นั่นคือสิ่งที่คาสเซนดร้าต้องการ) เห็นได้ชัดว่ามันยุ่งยาก ถ้าชุดข้อมูลขนาดใหญ่ มีการจัดหมู่ของปุ่มพาร์ทิชัน และคําขอที่ให้ไม่ได้ลดจํานวนอย่างมาก คุณสามารถกําหนดให้แต่ละคําขอลดช่องว่างที่สําคัญโดยการตั้งค่า [Chelp]<Agent requestep (# การละเมิด #) . ตรงนี้, 2/1000 = 2e-4, ซึ่งน้อยกว่าการเรียกค่าสูงสุด (0.1) ดังนั้น จึงได้รับอนุญาต
- หลังจากปรับใช้เงื่อนไขบนปุ่มพาร์ติชัน คอลัมน์ และ คอลัมน์ดัชนี ที่ถูกส่งมาโดย ERDDAP™ คาสเซนดร้านําข้อมูลกลับมา 1200 แถว ERDDAP™ ในเซต
- ผล ที่ ตาม มา ต้องให้ ข้อมูล ประเภท= บางประเภท รายการ คอลัมน์ (โดย เฉลี่ย แล้ว มี รายการ ละ 10 รายการ) เพราะว่า ERDDAP™ ขยาย 1200 แถวจากคาสเซนดร้าเป็น 12000 แถว ERDDAP .
- ERDDAP™ ใช้ข้อจํากัดทั้งหมดของผู้ใช้ กับข้อมูลจากคาสซานดร้า ใน กรณี นี้ เงื่อนไข ที่ คาส ซาน ไม่ ได้ จัด การ ทํา ให้ จํานวน แถว ลด ลง เป็น 7405. นี่เป็นจํานวนแถวที่ถูกส่งไปยังผู้ใช้
การใช้ข้อความวินิจฉัยโรค ที่สําคัญที่สุดคือ ทําให้แน่ใจว่า ERDDAP™ กําลังทําในสิ่งที่คุณคิด ถ้าไม่ใช่ (ตัวอย่างเช่น, มันไม่ได้ลดจํานวนการจัดหมู่ ที่แตกต่างกันตามที่คาดหวังไว้หรอกเหรอ?) จากนั้นคุณสามารถใช้ข้อมูล เพื่อหาว่าอะไรเกิดขึ้น
- การ วิจัย และ การ ทดลอง เพื่อ หา และ ปรับ ปรุง ให้ ดี ขึ้น [พ.ศ.<การเชื่อมต่อProperty]] (การเชื่อมโยงระหว่างคาสซานดรา) เอส
- ตรวจสอบความเร็วการเชื่อมต่อเครือข่ายระหว่างคาสเซนดร้าและ ERDDAP . ถ้า ความ เกี่ยว พัน นั้น ช้า ๆ ดู ซิ ว่า คุณ จะ ปรับ ปรุง ได้ ไหม. สถานการณ์ที่ดีที่สุดคือเมื่อ ERDDAP™ กําลังทํางานอยู่บนเซิร์ฟเวอร์ที่แนบมากับเครื่องเดียวกัน (เร็ว) เปลี่ยนเป็นแม่ข่ายที่ใช้งาน โหนดแคสแซนดร้าที่คุณเชื่อมต่ออยู่
- กรุณาอดทนด้วย อ่านข้อมูลที่นี่และในเอกสารคาสเซนดร้าอย่างระมัดระวัง การทดลอง เช็คงานของคุณสิ ถ้าคาสเซนดร้า... ERDDAP™ การเชื่อมต่อยังคงช้ากว่าที่คุณคาดหวัง กรุณารวมโต๊ะคาสเซนดร้าของคุณและของคุณ ERDDAP™ ชิ้นของ datasets.xml และได้เห็น ส่วนของการได้รับการสนับสนุนเพิ่มเติม .
- ถ้าอย่างอื่นล้มเหลว พิจารณาการเก็บข้อมูลในคลังเก็บ NetCDF v3 .nc แฟ้ม (โดยเฉพาะ .nc แฟ้มที่ใช้ CF แว่นขยาย (แบบ DSG) โครง สร้าง ข้อมูล ของ อาร์เรย์ อย่าง ต่อ เนื่อง และ สามารถ จัด การ ได้ ERDDAP ' แฟ้ม DDTable จาก NCF ) . ถ้าพวกเขาถูกจัดการตามหลักเหตุผล (แต่ละด้วยข้อมูลสําหรับชิ้นส่วนของพื้นที่และเวลา) . ERDDAP™ สามารถดึงข้อมูลจากพวกมันได้อย่างรวดเร็ว
โปรแกรม DDTable from Cassandra backage XML
<dataset type="EDDTableFromCassandra" datasetID\="..." active\="..." >
<ipAddress>...</ipAddress>
<!-- The Cassandra URL without the port number, for example,
127.0.0.1 REQUIRED. -->
<connectionProperty name="name">value</connectionProperty>
<!-- The names (for example, "readTimeoutMillis") and values
of the Cassandra properties that ERDDAP™ needs to change.
0 or more. -->
<keyspace>...</keyspace> <!-- The name of the keyspace that has
the table. REQUIRED. -->
<tableName>...</tableName> <!-- The name of the table, default = "".
REQUIRED. -->
<partitionKeySourceNames>...<partitionKeySourceNames>
<!-- REQUIRED. -->
<clusterColumnSourceNames>...<clusterColumnSourceNames>
<!-- OPTIONAL. -->
<indexColumnSourceNames>...<indexColumnSourceNames> <!-- OPTIONAL. -->
<maxRequestFraction>...<maxRequestFraction>
<!-- OPTIONAL double between 1e-10 and 1 (the default). -->
<columnNameQuotes>...<columnNameQuotes> <!-- OPTIONAL.
Options: \[nothing\] (the default) or ". -->
<sourceNeedsExpandedFP\_EQ>true(default)|false</sourceNeedsExpandedFP\_EQ>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<dataVariable>...</dataVariable> <!-- 1 or more.
Each dataVariable MUST include a <dataType> tag. See
Cassandra DataTypes.
For Cassandra timestamp columns, set dataType=double and
units=seconds since 1970-01-01T00:00:00Z -->
</dataset>
DDTable from Depsquest
DDTable from Depsquest จับตัวแปรภายใน 1 และ 2 ลําดับจาก DAP เซิร์ฟเวอร์อย่างเช่น DAP ใช่ (เคยอยู่ที่https://www.pmel.noaa.gov/epic/software/dapper/ตอนนี้เลิกแล้ว) .
-
เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน คุณสามารถเก็บข้อมูลที่คุณต้องการได้ โดยการดูแฟ้ม DDS และ DASS ของแหล่งข้อมูลต่าง ๆ ในเว็บเบราว์เซอร์ของคุณ (โดยเพิ่ม .das และ inds ไปยัง sourceUrl (ตัวอย่างหนึ่งอยู่ที่https://dapper.pmel.noaa.gov/dapper/epic/tao\\_time\\_series.cdp.dds)
-
ตัวแปรอยู่ใน DAP ลําดับถ้าการตอบสนองของ .ds บ่งชี้ว่าโครงสร้างข้อมูล ที่ถือตัวแปรเป็น "ความต่อเนื่อง" (กรณีที่ขาดความรู้สึก) .
-
ในบางกรณี คุณจะเห็นลําดับภายในลําดับ ลําดับระดับ 2 -- EDTable fromDapSequinence จัดการกับเหล่านี้ด้วย
ถอดรหัสได้จากโครงกระดูก XML
<dataset type="EDDTableFromDapSequence" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<outerSequenceName>...</outerSequenceName>
<!-- The name of the outer sequence for DAP sequence data.
This tag is REQUIRED. -->
<innerSequenceName>...</innerSequenceName>
<!-- The name of the inner sequence for DAP sequence data.
This tag is OPTIONAL; use it if the DAP data is a two level
sequence. -->
<sourceNeedsExpandedFP\_EQ>true(default)|false</sourceNeedsExpandedFP\_EQ>
<sourceCanConstrainStringEQNE>true|false</sourceCanConstrainStringEQNE>
<sourceCanConstrainStringGTLT>true|false</sourceCanConstrainStringGTLT>
<sourceCanConstrainStringRegex>...</sourceCanConstrainStringRegex>
<skipDapperSpacerRows>...</skipDapperSpacerRows>
<!-- skipDapperSpacerRows specifies whether the dataset
will skip the last row of each innerSequence other than the
last innerSequence (because Dapper servers put NaNs in the
row to act as a spacer). This tag is OPTIONAL. The default
is false. It is recommended that you set this to true for
all Dapper sources and false for all other data sources. -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
</dataset>
เพิ่มข้อมูล
เพิ่มข้อมูล จัดการข้อมูลจากตารางฐานข้อมูลสัมพัทธ์หรือ มุมมอง
เลือกตารางหรือมุมมองเดียว
ถ้าข้อมูลที่คุณต้องการให้บริการอยู่ในสองโต๊ะหรือมากกว่า (และดังนั้นจําเป็นต้องมี JOIN เพื่อดึงข้อมูลจากทั้งสองตารางในครั้งเดียว) คุณต้องทําให้ หมดอายุแล้ว (เข้าร่วมแล้ว) ตารางหรือ มุมมอง ด้วยข้อมูลทั้งหมดที่คุณต้องการให้ใช้งานได้เป็นข้อมูลชุดเดียว ERDDAP .
สําหรับฐานข้อมูลขนาดใหญ่ที่ซับซ้อน มันอาจจะมีเหตุผลที่จะแยกชิ้นออกหลายชิ้นเป็นตารางที่ลดความปกติ แต่แต่ละชุดมีข้อมูลที่แตกต่างกันซึ่งจะกลายเป็นชุดข้อมูลแยกใน ERDDAP .
ทําตารางที่ไม่ปกติสําหรับการใช้ ERDDAP™ อาจฟังดูบ้าบอสําหรับคุณ โปรดเชื่อใจเรา มันมีเหตุผลหลายอย่าง ERDDAP™ ทํางานร่วมกับตารางที่ไม่ปกติ:
- มันง่ายกว่ามากสําหรับผู้ใช้ เมื่อ ERDDAP™ นําเสนอชุดข้อมูลเป็นหนึ่งง่ายเสียศูนย์ตารางเดียวมันง่ายมากสําหรับทุกคนที่จะเข้าใจข้อมูล ผู้ใช้ส่วนมากไม่เคยได้ยินของตารางที่ปกติ และน้อยคนที่เข้าใจคีย์, กุญแจต่างประเทศ หรือตารางเข้าร่วม และพวกเขาเกือบจะแน่ใจว่าไม่ทราบรายละเอียดของชนิดที่แตกต่างกัน ของการเข้าร่วม หรือวิธีการระบุ SQL ที่จะทําเข้าร่วม (หรือหลายกลุ่ม) ถูกต้อง การใช้โต๊ะที่เสียรูปแล้ว หลีกเลี่ยงปัญหาเหล่านั้น เหตุผลนี้เพียงอย่างเดียวเพียงกําหนดการใช้งานของตารางเดียว defaulted สําหรับการนําเสนอของชุดข้อมูลเพื่อ ERDDAP™ ผู้ใช้
- ตารางที่ปกติ (หลายตารางที่เกี่ยวข้องกับคอลัมน์กุญแจ) ดีสําหรับการเก็บข้อมูลในฐานข้อมูล แต่แม้ใน SQL ผลลัพธ์ที่ถูกส่งกลับไปยังผู้ใช้ที่ถูกลดความปกติ (เข้าร่วม) โต๊ะเดี่ยว ดังนั้นมันดูสมเหตุสมผลที่จะนําเสนอชุดข้อมูลกับผู้ใช้เป็นขนาดใหญ่ที่ถูกตัดสิทธิ์ โต๊ะเดียวที่พวกเขาสามารถร้องขอสับเซต (e.g., แสดงให้ฉันเห็นแถวของตารางที่อุณหภูมิ) 30) .
- คุณสามารถเปลี่ยนได้ ERDDAP™ โดยไม่เปลี่ยนโต๊ะ ERDDAP™ มี ข้อ เรียก ร้อง บาง ประการ ที่ อาจ ต่าง ไป จาก วิธี ที่ คุณ ได้ จัด ตั้ง ฐานข้อมูล. ยกตัวอย่างเช่น ERDDAP™ ต้องการบันทึกข้อมูลเวลาประทับไว้ใน 'เวลาประทับกับเขตเวลา' โดยการแยกตาราง/ ดูสําหรับ ERDDAP™ คุณสามารถทําการเปลี่ยนแปลงเหล่านี้ เมื่อคุณทําตารางที่ผิดปกติสําหรับ ERDDAP . ดังนั้น คุณไม่จําเป็นต้องเปลี่ยนโต๊ะของคุณ
- ERDDAP™ จะสร้างโครงสร้างบางส่วนของโต๊ะที่ตั้งศูนย์แล้ว คุณสามารถกําหนดว่าคอลัมน์ใดของข้อมูลที่มาจากตาราง 'outer' และจึงมีค่าต่าง ๆ จํากัด ERDDAP™ จะรวบรวมค่าที่แตกต่างกันทั้งหมด ในคอลัมน์เหล่านี้ และนําเสนอให้กับผู้ใช้พิเศษ หน้าเว็บแบบสับเซตที่ช่วยผู้ใช้ให้เลือกชุดข้อมูลได้อย่างรวดเร็ว ค่าแต่ละคอลัมน์ที่แตกต่างกัน ยังจะแสดงในรายการวางลงบนข้อมูลในหน้าเว็บอื่น ๆ ด้วย
- ตารางที่ถูกตัดทอนข้อมูล ทําให้ข้อมูลส่งจากคุณไปยัง ERDDAP ผู้บริหารง่าย คุณเป็นผู้เชี่ยวชาญของชุดข้อมูลชุดนี้ ดังนั้นมันสมเหตุสมผล ที่คุณจะตัดสินใจว่าโต๊ะไหน และคอลัมน์ไหนที่เข้าร่วม และวิธีการเข้าร่วมมัน คุณจะได้ไม่ต้องส่งเรา (หรือแย่ไปกว่านั้น ผู้ใช้สิ้นสุด) มีตารางและคําแนะนําที่ละเอียด สําหรับวิธีการเข้าร่วมมัน คุณแค่ต้องให้เราเข้าถึง ตารางที่ถูกตัดทอน
- ตารางที่เสื่อมสภาพแล้วจะช่วยให้เข้าถึงข้อมูลได้อย่างมีประสิทธิภาพ โดยปกติรูปแบบที่ผิดปกติ จะเข้าถึงได้เร็วกว่ารูปแบบปกติ เข้าร่วมจะช้า การเข้าร่วมหลายๆครั้งอาจจะช้ามาก
เพื่อเอาข้อมูลจากสองตารางในฐานข้อมูล ERDDAP™ มีอยู่สามทางเลือก
- ตัวเลือกที่แนะนํา: คุณสามารถสร้างแฟ้มมีค่าแบบจุลภาค หรือแท็บที่แยกออกจากแท็บได้ โดยมีข้อมูลจากตารางที่ลดลง หากชุดข้อมูลมีขนาดใหญ่แล้วมันก็มีเหตุผลในการสร้างหลายแฟ้ม แต่ละด้วยสับเซตโคฮีฟของตารางที่เสื่อมสภาพ (ยกตัวอย่างเช่น ข้อมูลจากช่วงเวลาเล็กๆ) .
ข้อได้เปรียบคือ ERDDAP™ จะสามารถจัดการการร้องขอผู้ใช้สําหรับข้อมูล โดยไม่ต้องพยายามเพิ่มเติมใด ๆ โดยฐานข้อมูลของคุณ ดังนั้น ERDDAP™ จะไม่เป็นภาระในฐานข้อมูล หรือความเสี่ยงด้านความปลอดภัย นี่เป็นตัวเลือกที่ดีที่สุด ภายใต้สถานการณ์เกือบทั้งหมด เพราะ ERDDAP™ โดยปกติจะได้รับข้อมูลจากแฟ้ม เร็วกว่าจากฐานข้อมูล (ถ้าเราแปลงแฟ้ม .csv เป็น .nc แฟ้ม CF) . (ส่วนหนึ่งของเหตุผลก็คือ ERDDAP โปรแกรม + files เป็นระบบอ่านได้อย่างเดียว และไม่ต้องจัดการกับการสร้างความเปลี่ยนแปลงในระหว่างการให้ ACID (ความสัมปชัญญะ, ความสอดคล้อง, ความเป็นกลาง, ความยืดหยุ่น) .) นอกจากนี้คุณอาจไม่ต้องการเซิร์ฟเวอร์แยก เนื่องจากเราสามารถเก็บข้อมูลบนหนึ่งของเรา RaID และเข้าถึงด้วยที่มีอยู่ ERDDAP™ บนเซิร์ฟเวอร์ที่มีอยู่
- โอเค ตัวเลือก: คุณติดตั้งฐานข้อมูลใหม่ในคอมพิวเตอร์อื่น ๆ ที่มีเพียงแค่ตารางที่เสื่อมสภาพ เนื่องจากฐานข้อมูลนี้สามารถเป็นฐานข้อมูลของ open source เช่น MariaDB, MySQL, และ PostgreSQL ตัวเลือกนี้ไม่ต้องการต้นทุนมากนัก
ข้อได้เปรียบคือ ERDDAP™ จะสามารถจัดการการร้องขอผู้ใช้สําหรับข้อมูล โดยไม่ต้องพยายามเพิ่มเติมใด ๆ โดยฐานข้อมูลปัจจุบันของคุณ ดังนั้น ERDDAP™ ไม่เป็นภาระในฐานข้อมูลปัจจุบัน นี่ยังช่วยลดความกังวล เรื่องความปลอดภัยได้อีกด้วย ERDDAP™ จะไม่มีการเข้าใช้งานฐานข้อมูลปัจจุบันของคุณ
-
ตัวเลือกการแบ่งเขต: เราเชื่อมต่อกันได้ ERDDAP™ ไปที่ฐานข้อมูลปัจจุบันของคุณ เพื่อทําสิ่งนี้ คุณต้อง
- สร้างตารางหรือมุมมองแยก กับตารางข้อมูลที่เสื่อมสภาพ
- สร้างผู้ใช้ "erdap" ที่เข้าถึงตารางที่อ่านได้อย่างเดียว (วินาที) .
นี่เป็นตัวเลือกหากข้อมูลมีการเปลี่ยนแปลงบ่อย ๆ และคุณต้องการให้ ERDDAP™ ผู้ใช้สามารถเข้าถึงการเปลี่ยนแปลงเหล่านั้นในทันที อย่างไรก็ตาม มันอาจจะมีเหตุผลที่จะใช้งานตัวเลือกของแฟ้มทางด้านบนและระยะ ๆ (ทุก 30 นาที?) แทนที่แฟ้มที่มีข้อมูลปัจจุบัน ข้อเสียของวิธีการนี้ คือ ERDDAP™ การร้องขอของผู้ใช้อาจจะเป็นภาระที่หนักเกินทนในฐานข้อมูลของคุณและที่ ERDDAP™ การเชื่อมต่อคือความเสี่ยงด้านความปลอดภัย (ถึงแม้ว่าเราจะลดความเสี่ยงลง) .
ทําให้ตารางที่ผิดปกติหรือมุมมองสําหรับ ERDDAP™ เป็นโอกาสดีที่จะทําการเปลี่ยนแปลงไม่กี่ที่ ERDDAP™ ความต้องการ ในทางที่ไม่มีผลต่อตารางเดิมของคุณ
- เปลี่ยนวันที่และเวลาของช่องข้อมูล/ โคลัมน์ที่จะใช้ข้อมูลประเภทต่าง ๆ ที่ Postgrest เรียก เขตเวลากับเขตเวลา (หรือเทียบเท่าในฐานข้อมูลของคุณ) . Timetamps ไม่มีเขตเวลาข้อมูลการทํางานที่ถูกต้องใน ERDDAP .
- สร้างดัชนีสําหรับคอลัมน์ที่ผู้ใช้มักทําการค้นหา
- ระวังตัวให้ดี กรณีของชื่อสนาม/โคลัมน์ (ตัวอย่างเช่น ใช้ตัวพิมพ์เล็กทั้งหมด) เมื่อคุณพิมพ์มัน
- อย่าใช้คําสงวนไว้สําหรับตาราง และชื่อสนาม/โคลัมน์
หากคุณต้องการความช่วยเหลือการทําตารางหรือมุมมองที่ผิดปกติ โปรดติดต่อผู้ดูแลระบบของคุณ ถ้าคุณอยากพูดถึงวิธีการทั้งหมดนี้ หรือจัดลําดับวิธีการทําที่ดีที่สุด กรุณาส่งอีเมลหาคริส จอห์นที่โนอา โกฟ
ฐานข้อมูลใน datasets.xml
มันยากที่จะสร้างความถูกต้อง datasets.xml ข้อมูลที่จําเป็นสําหรับ ERDDAP™ เพื่อสร้างการเชื่อมต่อฐานข้อมูล จง อด ทน. ตามแบบแผน
- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน
ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ XmI มี 3 ตัวเลือกพิเศษสําหรับ EDTable from Datatabase:
- ถ้าพวกเจ้าเข้าไป ก็จงเข้าไป (โดยปราศจากคําคม) สําหรับชื่อของแคตตาล็อก โปรแกรมจะแสดงรายการของหมวดหมู่
- ถ้าพวกเจ้าเข้าไป ก็จงเข้าไป (โดยปราศจากคําคม) สําหรับชื่อเชมา โปรแกรมจะแสดงรายการของชื่อเชมา
- ถ้าพวกเจ้าเข้าไป ก็จงเข้าไป (โดยปราศจากคําคม) สําหรับชื่อตาราง โปรแกรมจะแสดงรายการของตารางและคอลัมน์ของตาราง และกลุ่มแรก (มะลาอิกะฮฺ) ผู้ควบคุมอย่างรัดกุม
- อ่านข้อมูลทั้งหมดของเอกสารเกี่ยวกับ EDTable from Datatabase
- คุณสามารถรวบรวมข้อมูลส่วนใหญ่ที่คุณต้องการในการสร้าง XML สําหรับข้อมูล EDTable from Datatabase ได้ โดยการติดต่อกับผู้ดูแลระบบ และค้นหาในเว็บ
- แม้ว่าฐานข้อมูลมักรักษาชื่อคอลัมน์และชื่อตาราง ในแบบที่ไม่แน่นอน, พวกมันมีความไวต่อกรณี ERDDAP . ดังนั้นหากข้อความผิดพลาดจากฐานข้อมูลบอกว่า ไม่มีชื่อคอลัมน์ (ตัวอย่างเช่น "ตัวระบุที่ไม่รู้จัก= ' คอลัมน์ / ชื่อ ') ถึงแม้ว่าคุณจะรู้ว่ามันมีอยู่จริง ลองใช้เมืองหลวงดู Column\ NAME OF TRANSLATORS ซึ่งมักเป็นจริงเสมอ ชื่อคอลัมน์ที่อ่อนไหว
- ทํางานกับผู้บริหารฐานข้อมูล ที่อาจจะมีประสบการณ์ที่เกี่ยวข้องกัน หากชุดข้อมูลล้มเหลว ให้อ่าน ข้อความผิดพลาด หาสาเหตุให้ดี
ไดรเวอร์ JDBC
-
[คนขับ JDBC และ<ไดรเวอร์Name (#jdc- driver) -- คุณต้องหาแฟ้มข้อมูลของ JDBC 3 หรือ JDBC 4 สําหรับฐานข้อมูลของคุณ ใส่ลงไป แว่นขยาย / webapps/erdap/WEB-INF/lib หลังจากคุณติดตั้ง ERDDAP . แล้วในของคุณ datasets.xml สําหรับชุดข้อมูลนี้ คุณต้องระบุค่า<ไดรเวอร์Name (โชคไม่ดี) แตกต่างจากชื่อแฟ้ม ค้นหาในเว็บสําหรับไดรเวอร์ JDBC สําหรับฐานข้อมูลและไดรเวอร์ของคุณName Java ต้องใช้มัน
- สําหรับ MariaDB, ลอง https://mariadb.com/kb/en/about-the-mariadb-java-client/
เดอะ<ไดรเวอร์Name datasets.xml (ดูด้านล่าง) น่าจะเป็น org.mariadb.jdc. คนขับ - สําหรับ MySQL และ Amazon RDS, ลอง https://dev.mysql.com/downloads/connector/j/
เดอะ<ไดรเวอร์Name datasets.xml (ดูด้านล่าง) น่าจะเป็น com.Mysql.jdbc คนขับ - สําหรับ Oracle # ลองดู https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html . เดอะ<ไดรเวอร์Name datasets.xml (ดูด้านล่าง) น่าจะเป็น Acatha.jdc.driver Oracle คนขับ
- สําหรับ Postgrestql เราได้ไดรเวอร์ JDBC 4 จาก https://mvnrepository.com/artifact/org.postgresql/postgresql
เดอะ<ไดรเวอร์Name datasets.xml (ดูด้านล่าง) น่าจะเป็น org. posstgrsql. คนขับ - สําหรับ SQL Server คุณสามารถหาไดรเวอร์ JDS JDBC จาก https://jtds.sourceforge.net . เดอะ<ไดรเวอร์Name datasets.xml (ดูด้านล่าง) น่าจะเป็นตาข่าย. Wource Forge.jtds.jdbc. คนขับ
- สําหรับ MariaDB, ลอง https://mariadb.com/kb/en/about-the-mariadb-java-client/
หลังจากที่คุณใส่ไดรเวอร์ JDBC ใน ERDDAP™ ไดเร็กทอรี lib, คุณต้องเพิ่มการอ้างอิงไปยังแฟ้ม .jr นั้นในแฟ้ม .bat และ/ หรือแฟ้ม .sh สําหรับสร้างแฟ้ม Datatets Xml, DasDDs และ ArchiveADatatet ซึ่งอยู่ใน แว่นขยาย / webapps/ erdep/WEB-INF/ Directory; มิฉะนั้น คุณจะได้รับรุ่น NotFound Exception เมื่อคุณเรียกใช้งานสคริปต์ดังกล่าว
แต่น่าเสียดายที่ เจดีบี บางครั้งเป็นที่มาของปัญหา ในบทบาทของการเป็นสื่อกลางระหว่าง ERDDAP™ และฐานข้อมูลบางครั้งก็เปลี่ยนแปลงความละเอียดอ่อนในฐานข้อมูลมาตรฐาน/เอกฉันท์ เอสคิวแอลเรียกร้องให้ ERDDAP™ การสร้างจึงก่อให้เกิดปัญหา (ยกตัวอย่างเช่น ความสัมพันธ์กับ ตัวระบุอักษรตัวพิมพ์เล็ก/ ใหญ่ และเกี่ยวข้องกับ เขตเวลา/ เวลา ) . กรุณาอดทน โปรดอ่านข้อมูลที่นี่อย่างระมัดระวัง ตรวจสอบการทํางานของคุณและดูของเรา ส่วนของการได้รับการสนับสนุนเพิ่มเติม .
ฐานข้อมูล<การเชื่อมต่อ คุณสมบัติ@ label
- [<การเชื่อมต่อProperty]] (ความเชื่อมโยงระหว่างเบสกับสี) -- ใน datasets.xml สําหรับชุดข้อมูลของคุณ คุณต้องกําหนดการเชื่อมต่อหลาย ป้ายกํากับคุณสมบัติที่จะบอก ERDDAP™ วิธีเชื่อมต่อกับฐานข้อมูลของคุณ (ตัวอย่างเช่น เพื่อกําหนดชื่อ, รหัสผ่าน, การเชื่อมต่อ sSI และ เรียกขนาด ) . มันต่างกันในทุกสถานการณ์ และยากที่จะหา ค้นหาตัวอย่างบนเว็บนี้ โดยใช้ไดรเวอร์ JDBC เพื่อเชื่อมต่อฐานข้อมูลของคุณ เดอะ<Name=การเชื่อมต่อProperty") Name (ตัวอย่างเช่น "เซอร์", "รหัสผ่าน" และ "Sl") การค้นหาจากเว็บสําหรับ "คุณสมบัติการเชื่อมต่อ JDBC" ฐานข้อมูล ชนิด " (ยกตัวอย่างเช่น Oracle MySQL, อเมซอน RDS, MariaDB, PostgreSQL) .
อ้างถึงชื่อและตัวพิมพ์เล็ก- ใหญ่
- อ้างถึงชื่อสนาม/ โคลัมน์; อักษรตัวพิมพ์ใหญ่ - โดยปริยายแล้ว EDTable from Datatatabase จะใส่ ANSI-SQL-มาตรฐานคู่คู่คู่ที่อ้างถึงสนาม/โคลัมน์ ชื่อในข้อความ SELECT ในกรณีที่คุณใช้คําสงวนเป็นชื่อสนาม/โคลัมน์ หรือตัวละครพิเศษในชื่อสนาม/โคลัมน์ การอ้างถึงคู่นี้ยังขัดขวางการฉีด SQL บางประเภทด้วย คุณบอกได้ว่า ERDDAP™ ใช้ "หรือไม่มีคําพูดผ่าน<คอลัมน์Name ใน datasets.xml สําหรับชุดข้อมูลนี้
สําหรับฐานข้อมูลจํานวนมาก การใช้เครื่องหมายคําพูดใด ๆ ส่งผลให้ฐานข้อมูลทํางานกับชื่อสนาม/โคลัม ในทางที่ละเอียดอ่อน (แทนที่จะเป็นกรณีทั่วไปของฐานข้อมูล แบบไร้ความรู้สึก) . ฐานข้อมูลมักแสดงชื่อแฟ้ม/โคลัมน์เป็นอักษรตัวใหญ่ทั้งหมด เมื่อในความเป็นจริงแล้ว รูปแบบที่อ่อนไหวนั้นแตกต่างกัน ใน ERDDAP™ กรุณารักษาชื่อคอลัมน์ฐานข้อมูล เป็นกรณีอ่อนไหว
- สําหรับมาเรีย DB คุณต้องตรวจสอบฐานข้อมูลด้วย \-- สไตล์ของสมชาย= ANSI\_QUOTES .
- สําหรับ MySQL และ RDS ของ Amazon คุณต้องตรวจสอบฐานข้อมูลด้วย \-- สไตล์ของสมชาย= ANSI\_QUOTES .
- Oracle รองรับการอ้างถึงคู่ ANSI-SQL แบบมาตรฐาน ค่าปริยาย .
- PostgrestQL รองรับการอ้างถึงคู่แบบ ANSI-SQL แบบมาตรฐาน โดยค่าปริยาย
อย่าใช้คําที่สงวนไว้สําหรับฐานข้อมูล แคตตาล็อก เซมา หรือชื่อตาราง ERDDAP™ ไม่ใส่คําพูดรอบ ๆ พวกเขา
หากเป็นไปได้ ให้ใช้กล่องด้านล่างทั้งหมดสําหรับฐานข้อมูล, แคตตาล็อก, Schema, ชื่อตาราง และชื่อสนามเมื่อสร้างตารางฐานข้อมูล (หรือมุมมอง) และเมื่อพูดถึงชื่อสนาม/โคลัมน์ใน datasets.xml ใน ERDDAP . มิฉะนั้นคุณอาจได้รับข้อความผิดพลาด ที่บอกว่าฐานข้อมูล, แคตตาล็อก, Shema, Table และ/หรือสนาม ไม่พบ หากคุณได้รับข้อความผิดพลาดนั้น ลองใช้รุ่นที่แยกแยะกรณี, รุ่นใหญ่ทั้งหมด และรุ่นล่างทั้งหมดของชื่อใน ERDDAP . หนึ่งในนั้นอาจจะทํางาน ถ้าไม่ คุณต้องเปลี่ยนชื่อของฐานข้อมูล, แคตตาล็อก, Shema, และ/หรือตารางทั้งหมดเป็นตัวสํารอง
ฐานข้อมูล<ข้อมูล ประเภท
- ฐานข้อมูล [<ข้อมูล (# ดาต้าชนิด) ป้ายกํากับ... เพราะมันมีความคลุมเครือเกี่ยวกับ ชนิดของข้อมูลฐานข้อมูล แผนที่ที่ ERDDAP™ ชนิดของข้อมูล, คุณต้องระบุ [<ข้อมูล (# ดาต้าชนิด) แท็กแต่ละตัว< dataVariable >) (เปลี่ยนตัวแปรได้) เพื่อบอกว่า ERDDAP™ ชนิดของข้อมูลที่จะใช้ ส่วนหนึ่งของโจทย์คือ ชุดข้อมูลต่าง ๆ ใช้เทอมต่างๆ สําหรับข้อมูลต่าง ๆ -- พยายามเทียบนิยาม, ไม่ใช่แค่ชื่อ ดูรายละเอียดของ มาตรฐาน ERDDAP™ ข้อมูล ชนิด ซึ่งรวมการอ้างอิงไปยังชนิดของข้อมูล SQL ด้วย วันและเวลา เป็นกรณีพิเศษ: ใช้ ERDDAP ข้อมูลคู่ แบบ
ข้อมูลเวลาของฐานข้อมูล
บางคอลัมน์เวลาในฐานข้อมูล ไม่มีเขตเวลาที่ชัดเจน เสาดังกล่าวเป็นปัญหาสําหรับ ERDDAP . ฐานข้อมูลรองรับแนวคิดของวันที่ (ด้วยหรือไม่มีเวลา) โดยไม่ต้องโซนเวลา เป็นช่วงประมาณของเวลา แต่ Java (และดังนั้น ERDDAP ) จัดการกับวันที่ทันที + เวลาที่มีเขตเวลาเท่านั้น ดังนั้นคุณอาจรู้ว่าข้อมูลเวลาตามเวลาท้องถิ่น (ด้วยเวลากลางวันหรือกลางคืน) หรือ จีเอ็มที / Zulu เขตเวลา แต่ Java (ถึง ERDDAP ) อย่า เราคิดแต่เดิมว่า เราจะสามารถแก้ปัญหานี้ได้ (e.g, โดยระบุเขตเวลาสําหรับคอลัมน์) แต่ฐานข้อมูล + JDBC+ Java ปฏิสัมพันธ์ทําให้เป็นการแก้ปัญหาที่เชื่อถือไม่ได้
- ดังนั้น ERDDAP™ ต้องการให้มีการจัดเก็บข้อมูลวันที่และวันที่ทั้งหมดไว้ในตารางฐานข้อมูล โดยมีชนิดของข้อมูลฐานข้อมูลที่ตรงกับ JDBC ประเภท "เวลาประทับกับเขตเวลา" (ในอุดมคติแล้ว มันใช้ GMT / Zulu เขตเวลา) .
- ใน ERDDAP ' datasets.xml ใน< dataVariable ตั้งค่าป้ายสําหรับตัวแปรเวลา
และใน< addAttributes > ตั้งค่า
<att name="units">seconds since 1970-01-01T00:00:00Z</att>
- ข้อ แนะ: ถ้าข้อมูลเป็นช่วงเวลา, มันจะมีประโยชน์ถ้ามีค่าเวลาเป็นศูนย์กลางของช่วงเวลา (อย่างเช่น ตอนเที่ยง) . ตัวอย่างเช่น หากผู้ใช้มีข้อมูลสําหรับ 2010-03-26T13:00Z จากข้อมูลชุดอื่น และต้องการข้อมูลที่ใกล้ที่สุดจากฐานข้อมูลชุดที่มีข้อมูลสําหรับในแต่ละวัน จากนั้นฐานข้อมูลสําหรับ 2010-03-2612:00Z (แสดงข้อมูลวันที่นั้น) เห็นได้ชัดเลยว่าดีที่สุด (แทนที่จะเที่ยงคืนก่อนหรือหลัง ที่มันชัดเจนน้อยกว่าซึ่งเป็นที่ดีที่สุด) .
- ERDDAP™ มีสิ่งอํานวยความสะดวก แปลงตัวเลข เวลาเข้า/ จากเวลาสตริง .
- ดู ยังไง ERDDAP จัดการกับเวลา .
สเปซว่าง
ฐานข้อมูลรองรับช่องว่างในจํานวนเต็ม (Int, เล็ก, เล็ก, เล็ก) คอลัมน์ แต่ ERDDAP™ ไม่สนับสนุนจํานวนจริง ฐานข้อมูลว่างจะถูกแปลงเป็น ERDDAP™ 127 สําหรับคอลัมน์ byte 255 สําหรับคอลัมน์ ubete, 32767 สําหรับคอลัมน์แบบย่อ, 65535 สําหรับคอลัมน์แบบย่อ, 2147483647 สําหรับคอลัมน์ inte, 429496727295 สําหรับคอลัมน์ยูนนท์, 9,223,373,036,854,775,807 สําหรับคอลัมน์ยาว, หรือ 18444964640709091615 สําหรับคอลัมน์ยาว ค.ศ. หากคุณใช้ค่าปริยาย โปรดระบุมัน missing\_value s สําหรับผู้ใช้ข้อมูลใน ERDDAP™ ด้วย
<att name="\_FillValue" type="int"\>2147483647</att>
หรือ
<att name="\_FillValue" type="short"\>32767</att>
อีกทางเลือกหนึ่ง คุณสามารถใช้ missing\_value "แอททริบิวต์แทน "//fillvallue" ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ เพิ่มแอตทริบิวต์ของ Xml โดยอัตโนมัติ datasets.xml สําหรับชุดข้อมูลฐานข้อมูล
สําหรับคอลัมน์ของจุดลอยฐานข้อมูล สเปซว่างจะถูกแปลงเป็น NNs ใน ERDDAP . สําหรับชนิดของข้อมูลฐานข้อมูลที่ถูกแปลงเป็นข้อความ ERDDAP™ ช่องว่างถูกเปลี่ยนเป็นเชือกเปล่า
ความปลอดภัยในฐานข้อมูล
- เมื่อทํางานกับฐานข้อมูล คุณต้องทําทุกสิ่งอย่างปลอดภัยและปลอดภัยที่สุด เพื่อหลีกเลี่ยงการยอมให้ผู้ใช้ที่มุ่งร้าย ทําลายฐานข้อมูลของคุณ ERDDAP™ พยายามทําในสิ่งที่ปลอดภัยด้วย
- พิจารณาการจําลองคอมพิวเตอร์อื่น ๆ ตารางฐานข้อมูลและฐานข้อมูลกับข้อมูลที่คุณต้องการ ERDDAP™ เพื่อรับใช้ (ใช่ สําหรับฐานข้อมูลพาณิชย์เช่น Oracle นี่เกี่ยวกับค่าชดเชยเพิ่มเติม แต่สําหรับฐานข้อมูลโอเพนซอร์ส เช่น PostgrestQL, MySQL, Amazon RDS, และ MariaDB, นี้ไม่มีค่าใช้จ่ายใด ๆ) นี่ช่วยให้คุณมีความปลอดภัยสูง และยังป้องกัน ERDDAP™ การร้องขอจากการทําให้ฐานข้อมูลเดิมช้าลง
- เราแนะนําให้คุณตั้ง ERDDAP™ เพื่อเชื่อมต่อฐานข้อมูลโดยใช้สิทธิ์ของผู้ใช้ฐานข้อมูล ซึ่งเฉพาะผู้ใช้เท่านั้นที่สามารถเข้าใช้งานได้ เกี่ยวข้องกับ ฐานข้อมูล (วินาที) และอัลกุรอานนั้นมิใช่อื่นใดนอกจากเป็นข้อตักเตือนเท่านั้น
- เราแนะนําให้คุณติดตั้งการเชื่อมต่อจาก ERDDAP™ ที่ฐานข้อมูลเพื่อให้มัน
- ใช้ SSL เสมอ
- อนุญาตการเชื่อมต่อจากที่อยู่ IP เดียว (หรือหนึ่งบล็อกของที่อยู่) และจากคนหนึ่ง ERDDAP™ ผู้ใช้ และ
- แค่โอนรหัสผ่านในแบบฟอร์ม DA5
- \[ การ รู้ ปัญหา \] การเชื่อมต่อ (รวมพาสเวิร์ดด้วย) จะถูกจัดเก็บเป็นข้อความธรรมดา datasets.xml . เราไม่พบวิธีที่จะอนุญาตให้ผู้ดูแลระบบป้อนรหัสผ่านระหว่าง ERDDAP เริ่มที่ Tomcat (ซึ่งเกิดขึ้นโดยไม่มีผู้ใช้งาน) ดังนั้นรหัสผ่านจะต้องเข้าถึงได้ในแฟ้ม เพื่อให้มันปลอดภัยมากขึ้น
- คุณ (คือ ERDDAP™ ผู้ดูแล) ควรเป็นเจ้าของ datasets.xml และชนรุ่นต่อ ๆ ไป
- สร้างกลุ่มที่รวมเฉพาะผู้ใช้เท่านั้น=ทอมแคท ใช้chrchrpp เพื่อให้กลุ่มสําหรับ datasets.xml ด้วยเพียงแค่การอ่านสิทธิพิเศษ
- ใช้chmod เพื่อกําหนดสิทธิ์ของ O-rwx (ไม่มีการอ่านหรือแก้ไขสิทธิ์ผู้ใช้ "อื่น") สําหรับ datasets.xml .
- เมื่อเข้ามา ERDDAP™ จัดเก็บรหัสผ่านและคุณสมบัติการเชื่อมต่ออื่น ๆ ใน "prinvate" Java ตัวแปร
- การร้องขอจากไคลเอนต์ ได้รับการวิเคราะห์และตรวจสอบความถูกต้อง ก่อนที่จะสร้างการร้องขอ SQL สําหรับฐานข้อมูล
- การร้องขอฐานข้อมูลนั้น ถูกทําขึ้นโดย SQL เพื่อป้องกัน การฉีด SQL .
- การร้องขอไปยังฐานข้อมูลจะถูกส่งผ่านเมื่อประมวลผล สืบค้น (ไม่ประมวลผล) จํากัดการร้องขอให้อ่านได้อย่างเดียว (ดังนั้นพยายามฉีด SQL เพื่อเปลี่ยนแปลงฐานข้อมูลจะล้มเหลวด้วยเหตุผลนี้เช่นกัน) .
แบบ SQL
- เพราะว่า OPeNDAP การร้องขอข้อมูลแท็บมอง ถูกออกแบบให้เลียนแบบข้อมูล SQL ERDDAP™ ในการแปลงการร้องขออักขระแท็บอาร์ก เป็นชุดแบบ SQL แบบง่าย ๆ ยกตัวอย่างเช่น ERDDAP™ ร้องขอ
time,temperature&time>=2008-01-01T00:00:00Z&time<=2008-02-01T00:00:00Z
จะถูกแปลงเป็น SQL ที่เตรียมพร้อม
SELECT "time", "temperature" FROM *tableName*
WHERE "time" >= 2008-01-01T00:00:00Z AND "time" <= 2008-02-01T00:00:00Z
ERDDAP™ ร้องขอโดยใช้ลวดลาย () &/ หรือ orderBy ( ตัวแปร ) จะเพิ่มระยะตัดและ/หรือเวลาโดย ตัวแปร ไปยัง SQL เตรียมคําแถลง โดย ทั่ว ไป การ ทํา เช่น นี้ จะ ทํา ให้ การ ตอบ รับ จาก ข้อมูล ลด ลง อย่าง มาก. ERDDAP™ บันทึกการเตรียมการ ปูมบันทึก. txt เป็น
statement=*thePreparedStatement*
นี่จะเป็นตัวแสดงข้อความ ของการเตรียมงาน ซึ่งอาจจะแตกต่างไปเล็กน้อย จากการเตรียมพร้อมที่แท้จริง ตัว อย่าง เช่น ใน การ เตรียม ล่วง หน้า มี การ ระบุ เวลา ด้วย วิธี พิเศษ. แต่ในการแสดงข้อความ พวกเขาปรากฏเป็น ISO 8601 วันที่
ความเร็วของฐานข้อมูล
- ฐานข้อมูลอาจช้า มีบางอย่างที่คุณทําได้
- ทั่วไป - ธรรมชาติของ SQL คือ query คือ การสลายตัว . พวกเขาเพียงแค่ระบุสิ่งที่ผู้ใช้ต้องการ มันไม่ได้รวมคําจํากัดความหรือคําใบ้ว่า จะจัดการการสอบถามอย่างไร ดังนั้นไม่มีทาง ERDDAP™ เพื่อสร้างการค้นหาในรูปแบบที่จะช่วยให้ฐานข้อมูลปรับแต่งการค้นหาได้ (หรือในวิธีใด ๆ กําหนดวิธีการสอบถามที่จะจัดการ) . โดยทั่วไปแล้ว ขึ้นกับผู้บริหารฐานข้อมูลที่จะตั้งค่าสิ่งต่างๆ (ตัวอย่างเช่น ดัชนี) เพื่อจัดลําดับความต่อเนื่อง
ตั้งค่าขนาดการดึงข้อมูล
ฐานข้อมูลจะคืนข้อมูลไปยัง ERDDAP™ เป็นก้อนๆ โดยปริยายแล้ว ฐานข้อมูลต่าง ๆ จะคืนค่ากลับมาเป็นจํานวนแถวในท่อน บ่อย ครั้ง จํานวน นี้ เล็ก มาก และ ไร้ ประสิทธิภาพ มาก. ตัวอย่างเช่น ค่าปริยายสําหรับ Oracle ได้ 10! อ่านเอกสาร JDBC สําหรับไดรเวอร์ JDBC ของฐานข้อมูลของคุณ เพื่อค้นหาคุณสมบัติของการเชื่อมต่อที่จะตั้งค่าเพื่อเพิ่มข้อมูลนี้ และเพิ่มรายละเอียดไปยังรายละเอียดของข้อมูล datasets.xml . ยกตัวอย่างเช่น สําหรับ MySQL และ Amazon RDS ใช้
<connectionProperty name="defaultFetchSize">10000</connectionProperty>
สําหรับมารีอาดีบีตอนนี้ไม่มีทางเปลี่ยนขนาดการดึง แต่มันเป็นคุณสมบัติที่ต้องการ สืบค้นเมื่อเว็บไซต์ เพื่อดูว่ามีการดําเนินการนี้ สําหรับ Oracle ใช้
<connectionProperty name="defaultRowPrefetch">10000</connectionProperty>
สําหรับ PostgrestQL, ใช้
<connectionProperty name="defaultRowFetchSize">10000</connectionProperty>
แต่เปลี่ยนเบอร์ได้ตามสบาย การกําหนดจํานวนที่มากเกินไปจะทําให้ ERDDAP™ การใช้หน่วยความจําจํานวนมาก และมีโอกาสมากกว่าที่จะไม่มีหน่วยความจํา
การเชื่อมต่อ
ฐานข้อมูลแต่ละเครื่องมีคุณสมบัติอื่น ๆ ของการเชื่อมต่อ ซึ่งสามารถกําหนดได้ใน datasets.xml . หลายอันจะมีผลกระทบต่อประสิทธิภาพของฐานข้อมูล ERDDAP™ เชื่อมโยง โปรดอ่านเอกสารสําหรับไดรเวอร์ JDBC ของฐานข้อมูลของคุณ เพื่อดูตัวเลือก หากคุณพบคุณสมบัติของการเชื่อมต่อที่มีประโยชน์ โปรดส่งอีเมลพร้อมกับรายละเอียด erd dot data at noaa dot gov .
- ทําตาราง -- คุณ อาจ ได้ รับ การ ตอบ สนอง เร็ว กว่า หาก คุณ ตอบ รับ เป็น ระยะ ๆ (ทุกๆวัน? เมื่อไรก็ตามที่มีข้อมูลใหม่) สร้างตารางจริง (เช่นเดียวกันกับวิธีที่คุณสร้าง ViEW) และบอก ERDDAP™ เพื่อเอาข้อมูลจากโต๊ะ แทนที่จะเป็นวีอีดับเบิลยู เนื่อง จาก คํา ขอ ใด ๆ ที่ มี ต่อ โต๊ะ จะ สําเร็จ ได้ ถ้า ไม่ มี โต๊ะ อีก โต๊ะ หนึ่ง การ ตอบ รับ จะ เร็ว กว่า มาก.
- เก็บโต๊ะไว้ MySQL และ Amazon RDS จะตอบสนองอย่างรวดเร็วถ้าคุณใช้ บ้าน พัก คน ชรา . มาเรีย DB จะตอบสนองได้เร็วขึ้นถ้าคุณใช้ บ้าน พัก คน ชรา . PostgrsQL จะตอบสนองอย่างรวดเร็วถ้าคุณ หมึก โต๊ะ Oracle ไม่จําเป็นต้องมีคําสั่งที่คล้ายคลึงกัน
- สร้าง ดัชนี สําหรับข้อแตกต่างร่วมกัน คุณสามารถเร่งความเร็วหลายหรือมากที่สุดได้โดยการสร้างดัชนีในฐานข้อมูลสําหรับตัวแปร (ฐานข้อมูลไหนเรียกว่า "โคลัมน์") ซึ่งมักถูกจํากัดในการสอบถามของผู้ใช้ โดยทั่วไปแล้ว, พวกนี้คือตัวแปรเดียวกันที่ระบุโดย< subsetVariables >) (# เปลี่ยนตัวแปรได้) และ/หรือละติจูด ลองติจูด และตัวแปรเวลา
ใช้การสระด้วยการเชื่อมต่อ
ปกติ ERDDAP™ ทําการเชื่อมต่อไปยังฐานข้อมูลแต่ละตัว นี่เป็นวิธีที่น่าเชื่อถือที่สุด ตัวเลือกที่เร็วกว่าคือการใช้ข้อมูลข้อมูล ซึ่งสนับสนุนการเชื่อมต่อ เพื่อตั้งค่า, กําหนด (ตัวอย่างเช่น)
<dataSourceName>java:comp/env/jdbc/postgres/erddap</dataSourceName>
ขวาถัดจาก< sourceUrl ><ไดรเวอร์Name<การเชื่อมต่อ สมบัติ: และใน แว่นขยาย /conf/context.xml, นิยามทรัพยากรด้วยข้อมูลเดียวกัน ตัวอย่างเช่น
<Resource
name="jdbc/postgres/erddap" auth="Container" type="javax.sql.DataSource"
driverClassName="org.postgresql.Driver"
url="*jdbc:postgresql://somehost:5432/myDatabaseName*"
username="*myUsername*" password="*myPassword*"
initialSize="0" maxActive="8" minIdle="0" maxIdle="0" maxWait="-1"/>
ข้อมูลทั่วไปเกี่ยวกับการใช้ข้อมูล https://docs.oracle.com/javase/tutorial/jdbc/basics/sqldatasources.html . ดู ข้อมูลข้อมูลของ Tomcate ถึง ตัวอย่างข้อมูล Tomcate หรือค้นหาตัวอย่างของการใช้ข้อมูลในเว็บร่วมกับเซิร์ฟเวอร์โปรแกรมอื่น ๆ
- ถ้าอย่างอื่นล้มเหลว พิจารณาการเก็บข้อมูลในคลังเก็บ NetCDF v3 .nc แฟ้ม (โดยเฉพาะ .nc แฟ้มที่ใช้ CF แว่นขยาย (แบบ DSG) โครง สร้าง ข้อมูล ของ อาร์เรย์ อย่าง ต่อ เนื่อง และ สามารถ จัด การ ได้ ERDDAP ' แฟ้ม DDTable จาก NCF ) . ถ้าพวกเขาถูกจัดการตามหลักเหตุผล (แต่ละด้วยข้อมูลสําหรับชิ้นส่วนของพื้นที่และเวลา) . ERDDAP™ สามารถดึงข้อมูลจากพวกมันได้อย่างรวดเร็ว
โครงสร้าง EDTIVE จาก Datatabase XML
<dataset type="EDDTableFromDatabase" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<!-- The format varies for each type of database, but will be
something like:
For MariaDB: jdbc:mariadb://xxx.xxx.xxx.xxx:3306/databaseName
For MySql jdbc:mysql://xxx.xxx.xxx.xxx:3306/databaseName
For Amazon RDS: jdbc:mysql://xxx.xxx.xxx.xxx:3306/databaseName
For Oracle: jdbc:oracle:thin:@xxx.xxx.xxx.xxx:1521:databaseName
For Postgresql: jdbc:postgresql://xxx.xxx.xxx.xxx:5432/databaseName
where xxx.xxx.xxx.xxx is the host computer's numeric IP address
followed by :PortNumber (4 digits), which may be different for your
database. REQUIRED. -->
<driverName\>...</driverName>
<!-- The high-level name of the database driver, for example,
"org.postgresql.Driver". You need to put the actual database
driver .jar file (for example, postgresql.jdbc.jar) in
tomcat/webapps/erddap/WEB-INF/lib. REQUIRED. -->
<connectionProperty name="name">value</connectionProperty>
<!-- The names (for example, "user", "password", and "ssl")
and values of the properties needed for ERDDAP™ to establish
the connection to the database. 0 or more. -->
<dataSourceName>...</dataSourceName> <!-- 0 or 1 -->
<catalogName>...</catalogName>
<!-- The name of the catalog which has the schema which has the
table, default = "". OPTIONAL. Some databases don't use
this. -->
<schemaName>...</schemaName> <!-- The name of the
schema which has the table, default = "". OPTIONAL. -->
<tableName>...</tableName> <!-- The name of the
table, default = "". REQUIRED. -->
<columnNameQuotes><columnNameQuotes> <!-- OPTIONAL. Options:
" (the default), ', \[nothing\]. -->
<orderBy>...</orderBy> <!-- A comma-separated list of
sourceNames to be used in an ORDER BY clause at the end of the
every query sent to the database (unless the user's request
includes an &orderBy() filter, in which case the user's
orderBy is used). The order of the sourceNames is important.
The leftmost (first) sourceName is most important; subsequent
sourceNames are only used to break ties. Only relevant
sourceNames are included in the ORDER BY clause for a given user
request. If this is not specified, the order of the returned
values is not specified. Default = "". OPTIONAL. -->
<sourceCanOrderBy>no(default)|partial|yes</sourceCanOrderBy>
<!-- 0 or 1 -->
<sourceCanDoDistinct>no(default)|partial|yes</sourceCanDoDistinct>
<!-- 0 or 1 -->
<sourceNeedsExpandedFP\_EQ>true(default)|false</sourceNeedsExpandedFP\_EQ>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<dataVariable>...</dataVariable> <!-- 1 or more.
Each dataVariable MUST include a <dataType> tag.
See Database DataTypes.
For database date and timestamp columns, set dataType=double and
units=seconds since 1970-01-01T00:00:00Z -->
</dataset>
จาก EDDGrid
**จาก EDDGrid ** ให้คุณสร้างชุดข้อมูล EDTable จากใด ๆ EDDGrid ชุดข้อมูล
- เหตุ ผล พื้น ฐาน บาง ประการ ที่ ทํา เช่น นี้ คือ:
- อนุญาตให้ประมวลผลชุดข้อมูลได้ OPeNDAP เงื่อนไขการเลือก ซึ่งเป็นประเภท "ตัดสินตามค่า" (ซึ่งผู้ใช้อาจจะร้องขอ) .
- ชุดข้อมูลเป็นชุดข้อมูลอักขระแท็บ
- ค่าของแอททริบิวต์ทั่วไป "maxAxis0" (มักจะเป็นประเภท = "int") . (ค่าปริยายคือ 10) จะถูกใช้เพื่อจํากัดจํานวนแกน \[ 0 \] (ปกติ "time" แกน) ค่าต่าง ๆ ของการแนบแฟ้ม EDDGrid ข้อมูลที่สามารถเข้าถึงได้ต่อการร้องขอข้อมูล ถ้าคุณไม่อยากให้มันมีลิมิต, จงระบุค่า 0 การตั้งค่านี้มีความสําคัญเพราะ มิฉะนั้นมันจะง่ายเกินไปสําหรับผู้ใช้ที่จะถาม EDTable จาก EDDGrid เพื่อตรวจสอบข้อมูลทั้งหมด นั่น จะ ต้อง ใช้ เวลา นาน และ คง จะ ล้ม เหลว อย่าง แน่นอน เมื่อ เวลา ผ่าน ไป. นี่คือฉากที่ทําให้ปลอดภัย ที่จะได้ EDTable from EDDGrid ชุดข้อมูลในของคุณ ERDDAP โดยไม่กลัวว่าพวกเขาจะนําไปสู่ การใช้ทรัพยากรการคํานวณอย่างไม่มีเหตุผล
- ถ้าปิด EDDGrid คือ EDDGrid จาก เอลด์ดาป และ ERDDAP™ เหมือนกัน ERDDAP แล้ว EDTable จาก EDDGrid จะใช้ชุดข้อมูลที่อ้างถึงในปัจจุบันโดยตรงเสมอ นี่คือวิธีที่มีประสิทธิภาพมากสําหรับ EDTable จาก EDDGrid เพื่อเข้าถึงข้อมูลที่ถูกย่าง
- คลาสนี้<โหลดใหม่ ทุก ๆ nintuts) (โหลดทุกนาที) นั่นคือสิ่งที่นับ ปิด EDDGrid '<ใส่กระสุนเข้าไปทุกเม็ด
- ถ้าค่าสําหรับ [a]<update everNMillies) (อัปเดตทุก ๆ ครั้ง) มีการตั้งค่าสําหรับชุดข้อมูลนี้ ไม่สนใจ ปิด EDDGrid '<อัปเดต ALNMillies) คือสิ่งที่สําคัญ
- สร้าง DatatasXml มีตัวเลือกสําหรับประเภทข้อมูลประเภท=EDTable EDDGrid ซึ่งร้องขอที่อยู่ URL ของ ERDDAP (ปกติก็เหมือนกัน ERDDAP ) (ลงท้ายด้วย "/dadap/") และการแสดงออกปกติ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ XMI จะสร้าง XML สําหรับอุปกรณ์ EDTable from EDDGrid ชุดข้อมูลแต่ละชุดที่ถูกฝังไว้ใน ERDDAP™ ซึ่งมี datasetID ซึ่งตรงกับเงื่อนไขการค้นหา (ใช้ . / * เพื่อเข้าคู่กับทั้งหมด datasetID s สําหรับชุดข้อมูลแบบฝังตัว) .
ชิ้นส่วนของ XML ที่ถูกสร้างโดยการสร้าง DatatatetsXml สําหรับแต่ละชุดข้อมูลรวม:
- A datasetID ซึ่งก็คือ EDDGrid ' datasetID บวก "/ ที่เป็นไปได้"
- ข้อสรุปใหม่ของโลก ซึ่งเป็น EDDGrid สรุปของบทนี้ บวกกับ ย่อหน้าใหม่ อธิบายว่าชุดข้อมูลนี้คืออะไร
- คุณสมบัติใหม่ของโลกซึ่งเป็น EDDGrid ชื่อเพลง บวก " (เป็นตาราง) ".
- แอตทริบิวต์ใหม่ที่มี 10
จาก EDDGrid โครงสร้าง XML
<dataset type="EDDTableFromEDDGrid" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1.
For EDDTableFromEDDGrid, this calls lowUpdate() of the underlying
EDDGrid. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<dataset>...</dataset> <!-- 1
Any type of EDDGrid dataset. You can even use an
EDDGridFromERDDAP™ to access an independent EDDGrid dataset on
this server. -->
</dataset>
แก้ไขโครงการหลัก...
แก้ไขโครงการหลัก... สร้างชุดข้อมูลต่าง ๆ จากข้อมูลเกี่ยวกับกลุ่มแฟ้มในระบบเซิร์ฟเวอร์ รวมทั้งที่อยู่ URL ของแต่ละแฟ้ม เพื่อให้ผู้ใช้สามารถดาวน์โหลดแฟ้มได้ผ่านทาง ERDDAP ' "files" ระบบ . ไม่เหมือนกับทั้งหมด เลือกแฟ้ม คลาสย่อย, ประเภทข้อมูลชุดนี้ ไม่มีข้อมูลจากภายในแฟ้ม
- EDTable from FebruaryName มีประโยชน์เมื่อ:
- คุณมีกลุ่มแฟ้มที่คุณต้องการจะกระจายเป็นแฟ้มทั้งหมด เพราะมันไม่มี "data" ในรูปแบบเดียวกับที่แฟ้มข้อมูลทั่วไปมี ตัว อย่าง เช่น แฟ้ม ภาพ แฟ้ม วี ดิ ทัศน์ เอกสาร คํา เอกสาร แผ่น ดีเซล แผ่น พา ไพ รัส ไฟล์ ภาพ หรือ แฟ้ม ข้อ ความ ที่ ไม่ มี การ จัด ระบบ.
- คุณมีกลุ่มของแฟ้มที่มีข้อมูลในรูปแบบ ERDDAP™ ยังอ่านไม่ออก ยกตัวอย่างเช่น รูปแบบโครงการที่กําหนดเอง แบบไบนารี
แก้ไขโครงการหลัก...
- ข้อมูลใน DDTable จากแฟ้มName เป็นตารางที่ ERDDAP™ สร้างข้อมูลออนไลน์ด้วยข้อมูลเกี่ยวกับกลุ่มแฟ้มท้องถิ่น ในตาราง มีแถวสําหรับแต่ละไฟล์ สี่คุณลักษณะพิเศษใน datasets.xml สําหรับชุดข้อมูล เลือกว่าจะให้แฟ้มใดรวมอยู่ในชุดข้อมูลนี้:
แฟ้ม ไดร์
- <ไฟล์ Dir) -- กําหนดไดเร็คทอรีต้นทางในระบบแฟ้มของแม่ข่ายด้วยแฟ้มสําหรับชุดข้อมูลนี้ แฟ้มที่มีตําแหน่งอยู่ในระบบแฟ้มของเซิร์ฟเวอร์<แฟ้ม Dir) จะปรากฏในคอลัมน์ url ของชุดข้อมูลนี้ภายในไดเรกทอรีเสมือนชื่อhttps://serverUrl/erddap/files/datasetID/. ยกตัวอย่างเช่น ถ้า datasetID แฟ้มภาพประเภท JIPMU RSS T และ<แฟ้ม Dir) คือ / home/data/Mur/ และไดเร็กทอรีดังกล่าวมีไฟล์ที่ชื่อ jIPMU RSS T201501000000.png. แล้วที่อยู่ URL ที่จะแสดงให้กับผู้ใช้สําหรับแฟ้มดังกล่าวจะเป็น https://serverUrl/erddap/jplMURSST/jplMURSST20150103000000.png.
นอกจากการใช้ไดเรกทอรีท้องถิ่นสําหรับ<แฟ้ม Dir > คุณสามารถกําหนดที่อยู่ URL ของหน้าเว็บทางไกลแบบไดเร็กทอรีได้ มันใช้ได้กับ
- ข้อมูลไม่แบ่งแยกใน THEDS, e.g. https://data.nodc.noaa.gov/thredds/catalog/aquarius/nodc\\_binned\\_V3.0/monthly/ \[ 2020-10-21 เซิร์ฟเวอร์นี้ไม่สามารถใช้งานได้อีก \]
- ชุดข้อมูลการจําแนกประเภท Hyrax อี.จี. https://podaac-opendap.jpl.nasa.gov/opendap/allData/ccmp/L3.5a/monthly/flk/
- รายการไดเรกทอรีคล้าย Apache ส่วนใหญ่, e.g. https://www1.ncdc.noaa.gov/pub/data/cmb/ersst/v5/netcdf/
จาก ออนฟลาย
\\♪ จากบนฟลาย -- สําหรับ S3 ถังขนาดใหญ่ (เช่น Noa-goes17 ซึ่งมี 26 ล้านไฟล์) อาจต้องใช้เวลา ERDDAP™ ถึง 12 ชั่วโมงที่จะดาวน์โหลดข้อมูลทั้งหมดเกี่ยวกับเนื้อหาของถัง (แล้วก็มีปัญหาอื่นอีก) . การจะอ้อมค้อมเรื่องนี้ มันมีวิธีพิเศษ<Dir) ใน DDTable from Files เพื่อสร้างชุดข้อมูลและชื่อแฟ้มจากถัง AWS S3 ชุดข้อมูลจะไม่มีรายการไดเรกทอรีของ S3 ถังทั้งหมด และชื่อแฟ้มที่ผู้ใช้สามารถค้นหาได้โดยผ่านทางการร้องขอไปยังชุดข้อมูล แต่ชุดข้อมูลจะได้รับการตั้งชื่อไดเรกทอรีและแฟ้มบน-the-fly ถ้าผู้ใช้ผ่านลําดับไดเรกทอรีที่มีชุดข้อมูล "files" ทางเลือก ดังนั้น จึงอนุญาตให้ผู้ใช้สามารถเรียกดูลําดับชั้นแฟ้มและแฟ้มของ s3 ได้ โดยใช้ข้อมูลชุด "files" ระบบ เพื่อทําเช่นนี้ แทนที่จะระบุที่อยู่ URL สําหรับถัง S3 ว่าเป็น "ไดเรกทอรีเริ่มการทํางาน" (ในชุดสะสม Xml) หรือ<Dir) (ใน datasets.xml ) ใช้:
\\*\\*\\*fromOnTheFly,*theS3BucketUrl*
ตัว อย่าง เช่น:
\\*\\*\\*fromOnTheFly,https://noaa-goes17.s3.us-east-1.amazonaws.com/
ดูเอกสารสําหรับ ทํางานกับ S3 Buckets ใน ERDDAP™ แจ้งให้ทราบถึงคําบรรยายรูปแบบที่จะใช้สําหรับที่อยู่ URL ของช่อง S3 และดู รายละเอียดและตัวอย่างเหล่านี้ ของการใช้\*\*จากบนฟลาย
กลับค่าเดิม
- <Official) -- แฟ้มในส่วนย่อยของ<fileDir) ด้วยชื่อที่เข้าคู่กับ<แฟ้มRegx) จะปรากฏในคําสั่งย่อยเดียวกันใน "files" ที่อยู่ URL หาก<ถูกตั้งค่าให้เป็นจริง ค่าเริ่มต้นไม่ถูกต้อง
- [<พาธ regex)] (# Pathregex) -- หากการแทนที่=จริง จะมีเพียงชื่อไดเรกทอรีที่ตรงกับพาธRegex (ค่าปริยาย = "/*") จะได้รับการยอมรับ ถ้า การ กลับ ชาติ มา เกิด= ความ เท็จ ก็ จะ ไม่ มี การ ใส่ ใจ เรื่อง นี้. ไม่ ค่อย มี การ ใช้ วิธี นี้ แต่ อาจ ใช้ ได้ ใน สภาพ การณ์ ที่ ผิด ปกติ. (ดูนี่สิ เอกสารของ Regex ถึง บทเรียน regax .)
แฟ้มRegex
- <แฟ้มRegx) -- เฉพาะชื่อแฟ้มที่ชื่อแฟ้มทั้งหมด (ไม่รวมชื่อไดเรกทอรี) ตรงกับ<แฟ้มRegx) จะรวมอยู่ในชุดข้อมูลนี้ด้วย ตัวอย่างเช่น JIPMU RSS T. {14}\.png (ดูนี่สิ เอกสารของ Regex ถึง บทเรียน regax .)
เนื้อหาของตารางข้อมูลจากชื่อแฟ้ม
ในตารางจะมีคอลัมน์ด้วย
-
url-- ตําแหน่ง URL ที่ผู้ใช้สามารถใช้ในการดาวน์โหลดแฟ้มได้ ERDDAP ' "files" ระบบ .
-
ชื่อ... ชื่อของแฟ้ม (ไม่มีชื่อไดเรกทอรี) .
-
สร้างล่าสุด -- เวลาที่แฟ้มถูกแก้ไขครั้งสุดท้าย (เก็บเป็นทวีคูณโดย "seconds since 1970-01-01T00:00:00Z" ) . ตัวแปรนี้มีประโยชน์ เนื่องจากผู้ใช้สามารถดูได้ว่าจะให้แฟ้มที่มีการเปลี่ยนแปลงหรือไม่ ตัวแปรนี้คือ เวลา ตัวแปรสแตมป์ ข้อมูลอาจปรากฏเป็นตัวเลข (วินาทีตั้งแต่ 1970-01-01.00.00:00Z) หรือค่าข้อความ (ISO 8601: 2004 (E) รูปแบบ) ขึ้นอยู่กับสถานการณ์
-
ขนาด ขนาดของแฟ้มในไบต์ที่ถูกจัดเก็บเป็นทวีคูณ รายการดังกล่าวจะถูกจัดเก็บเป็น 2 เท่า เนื่องจากบางแฟ้มอาจจะมีขนาดใหญ่กว่าค่า institute และความยาวอาจจะยังไม่ถูกรองรับในรูปแบบแฟ้มตอบโต้บางตัว สองเท่าจะให้ขนาดที่แม่นยํา แม้จะเป็นไฟล์ขนาดใหญ่
-
เพิ่มคอลัมน์ที่นิยามโดย ERDDAP™ ผู้ดูแลระบบที่มีข้อมูลที่สกัดมาจากชื่อแฟ้ม (ตัวอย่างเช่น เวลาที่เกี่ยวข้องกับข้อมูลในแฟ้ม) จากคุณสมบัติสองตัวที่คุณกําหนดไว้ในข้อมูลกํากับภาพสําหรับแต่ละคอลัมน์เพิ่มเติม/ dataVariable .
- ตัวแยก regex -- นี่คือ เงื่อนไขการค้นหา ( การ สอน ) . Regex ทั้งหมดจะต้องตรงกับชื่อแฟ้มทั้งหมด (ไม่รวมชื่อไดเรกทอรี) . Regex ต้องรวมการจับภาพอย่างน้อยหนึ่งกลุ่ม (ส่วนของพจน์ปกติที่ติดวงเล็บ) ซึ่ง ERDDAP™ ใช้พิจารณาว่าส่วนไหนของชื่อแฟ้มที่จะแยกออกมาเป็นข้อมูล
- ลบ กลุ่ม... นี่คือจํานวนของกลุ่มจับ (#1 คือกลุ่มแรก) ในพจน์ปกติ ค่าปริยายคือ 1 กลุ่มจับคือส่วนของการแสดงออกปกติ ที่ถูกห่อด้วยวงเล็บ
ต่อ ไป นี้ เป็น สอง ตัว อย่าง:
<dataVariable>
<sourceName>time</sourceName>
<destinationName>time</destinationName>
<dataType>String</dataType>
<addAttributes>
<att name="extractRegex">jplMURSST(.{14})\\.png</att>
<att name="extractGroup" type="int">1</att>
<att name="units">yyyyMMddHHmmss</att>
</addAttributes>
</dataVariable>
<dataVariable>
<sourceName>day</sourceName>
<destinationName>day</destinationName>
<dataType>int</dataType>
<addAttributes>
<att name="extractRegex">jplMURSST.{6}(..).{6}\\.png</att>
<att name="extractGroup" type="int">1</att>
<att name="ioos\\_category">Time</att>
</addAttributes>
</dataVariable>
ในกรณีของตัวแปรเวลา หากแฟ้มมีชื่อ jpMU RSS T201501000000000.png ตัวแยก จะตรงกับชื่อแฟ้ม, สกัดตัวอักขระที่ตรงกับกลุ่มดักจับตัวแรก ("20150103000000") เป็นข้อมูลประเภท= string, แล้วใช้ แสดงเฉพาะหมายเลขของธาตุ เพื่อวิเคราะห์ข้อความต่าง ๆ ไปยังค่าของเวลา (2015-01-03.0000:00Z) .
ในกรณีของตัวแปรวัน หากแฟ้มมีชื่อ jpMU RSS T201501000000000.png ตัวแยก จะตรงกับชื่อแฟ้ม, สกัดตัวอักขระที่ตรงกับกลุ่มดักจับตัวแรก ("03") เป็น<ข้อมูล (# ดาต้าชนิด) –=(in), การให้ค่าข้อมูลเป็น 3.
ข้อมูลอื่น ๆ
- ไม่<update everNMillies) (อัปเดตทุก ๆ ครั้ง) -- ชุดข้อมูลประเภทนี้ไม่ต้องการ และไม่สามารถใช้ได้<update everNMillies) แท็ก เพราะว่าข้อมูลให้บริการโดย EDTable from Files นั้นสมบูรณ์แบบเสมอ เพราะ ERDDAP™ ตรวจค้นหาระบบแฟ้ม เพื่อตอบสนองต่อการร้องขอข้อมูลแต่ละตัว ถึงแม้จะมีแฟ้มมากมาย, วิธีการนี้ ควรใช้ได้ดี การตอบรับอาจช้า ถ้ามีแฟ้มจํานวนมาก และชุดข้อมูลไม่ได้ถูกค้นหามาระยะหนึ่ง แต่ในหลายนาทีหลังจากนั้น ระบบปฏิบัติการเก็บข้อมูลไว้ในแคช ดังนั้นการตอบสนองควรจะรวดเร็วมาก
- คุณสามารถใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อทําให้ datasets.xml ผนวกเข้ากับชุดข้อมูลประเภทนี้ คุณสามารถเพิ่ม/ ตัดกับคอลัมน์อื่น ๆ ที่มีข้อมูลที่สกัดมาจากชื่อแฟ้ม ดังที่แสดงไว้ด้านบน
แก้ไขลวดลายจุดเชื่อมต่อStencils XML
<dataset type="EDDTableFromFileNames" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<fileDir>...</fileDir>
<recursive>...</recursive> <!-- true or false (the default) -->
<pathRegex>...</pathRegex> <!-- 0 or 1. Only directory names which
match the pathRegex (default=".\*") will be accepted. -->
<fileNameRegex>...</fileNameRegex>
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<dataVariable>...</dataVariable> <!-- 1 or more.
Each dataVariable MUST include <dataType> tag. -->
</dataset>
เลือกแฟ้ม
เลือกแฟ้ม เป็นสุดยอดคลาสของ EDTable จาก... คลาสแฟ้ม คุณไม่สามารถใช้ EDTable from Files ได้โดยตรง ใช้คลาสย่อยของ EDTable จากแฟ้ม เพื่อจัดการประเภทแฟ้มเฉพาะ:
- แฟ้ม DDTA จาก Ascii รวบรวมข้อมูลจากจุลภาค, แท็บ, กึ่งโคลอน หรือแฟ้มข้อมูล ASCII
- แฟ้ม DDTable จาก Audio รวบรวมข้อมูลจากกลุ่มแฟ้มเสียงภายในระบบ
- จาก แฟ้ม AwsXml รวมข้อมูลจากสถานีสภาพอากาศอัตโนมัติ (ขนาด AWS) แฟ้ม XML
- แฟ้ม DDTable from Columnar Ascii รวมข้อมูลจากแฟ้มข้อมูลอักขระ ASCII ด้วยคอลัมน์ข้อมูลที่คงที่
- จาก Hyrax แฟ้ม (ขอบเขต) รวมข้อมูลเข้ากับตัวแปรต่างๆ แต่ละมิติมีมิติร่วมกัน (ยกตัวอย่างเช่น เวลา ความสูง (ความลึก) ละติจูด ลองติจูด) และรับใช้โดย Hyrax OPeNDAP เซิร์ฟเวอร์ .
- แฟ้ม DDTA จาก InfidCra ข้อมูลรวมจาก NetCDF (v3 หรือ v4) .nc แฟ้มที่ใช้ค่าเฉพาะ, ใช้งานไม่ได้, ค่าย่อของ CFDSG แบบต่อเนื่อง Rangle Array (CRA) แฟ้ม ถึงแม้ว่า ERDDAP™ รองรับประเภทแฟ้มนี้ ซึ่งเป็นประเภทแฟ้มที่ไม่ควรใช้ กลุ่มที่จะใช้ประเภทแฟ้มนี้ได้ถูกสนับสนุนให้ใช้ ERDDAP™ เพื่อสร้างแฟ้ม CFDSG CRA และหยุดการใช้แฟ้มเหล่านี้
- แฟ้ม DDTable จาก JonlCSV ข้อมูลรวมจาก เจ สัน แฟ้มข้อความ CSV .
- แฟ้ม DDTable จาก Multiidnc ข้อมูลรวมจาก NetCDF (v3 หรือ v4) .nc (หรือ .nc mI ) แฟ้มที่มีหลายตัวแปร แต่ละแบบมีมิติร่วมกัน (ยกตัวอย่างเช่น เวลา ความสูง (ความลึก) ละติจูด ลองติจูด) .
- แฟ้ม DDTAB จาก Nc ข้อมูลรวมจาก NetCDF (v3 หรือ v4) .nc (หรือ .nc mI ) แฟ้มที่มีหลายตัวแปร แต่ละแบบมีมิติร่วมกัน (ยกตัวอย่างเช่น เวลา ความสูง (ความลึก) ละติจูด ลองติจูด) . มันดีที่จะยังคงใช้ประเภทข้อมูลชุดนี้ สําหรับชุดข้อมูลที่มีอยู่ แต่สําหรับชุดข้อมูลใหม่ที่เราแนะนํา โดยใช้ DDTable from Mulitidnc Files แทน
- แฟ้ม DDTable จาก NCF ข้อมูลรวมจาก NetCDF (v3 หรือ v4) .nc (หรือ .nc mI ) แฟ้มซึ่งใช้เป็นหนึ่งในรูปแบบแฟ้มที่ระบุโดย CF แว่นขยาย (แบบ DSG) การ ประชุม ภาค. แต่สําหรับไฟล์ที่ใช้เป็นหนึ่งในหลายมิติ CF DSG ตัวแปร, ใช้ แฟ้ม DDTable จาก Multiidnc แทน
- แฟ้ม DDTable จาก Nccsv ข้อมูลรวมจาก เข้ารหัสแบบ NCSV แฟ้ม .csv ASCII
- เลือกจากแฟ้ม Parquet จัดการกับข้อมูล สี่เหลี่ยม .
- แฟ้ม EDTIVE จาก Thredds February (ขอบเขต) รวมข้อมูลจากแฟ้มที่มีตัวแปรหลายตัวที่มีมิติที่ใช้ร่วมกัน (เต๋า) OPeNDAP เซิร์ฟเวอร์ .
- จาก WFS แฟ้ม (ขอบเขต) ทําสําเนาข้อมูลทั้งหมดจาก ArcGIS เซิร์ฟเวอร์แผนที่ WFS เซิร์ฟเวอร์ เพื่อให้ข้อมูลสามารถถูกตรวจสอบใหม่ได้อย่างรวดเร็ว ERDDAP™ ผู้ใช้
ตอนนี้ยังไม่มีแฟ้มชนิดอื่นให้รองรับ แต่ ปกติ แล้ว ค่อน ข้าง ง่าย ที่ จะ เพิ่ม การ สนับสนุน ให้ มี แฟ้ม ชนิด อื่น ๆ. ติดต่อเราถ้าคุณมีคําขอ หรือถ้าข้อมูลของคุณอยู่ในรูปแบบแฟ้มเก่าที่คุณต้องการจะย้ายออกจาก เราขอแนะนําให้การแปลงแฟ้มเป็น NetCDF v3 .nc แฟ้ม (โดยเฉพาะ .nc แฟ้มที่มี CF แว่นขยาย (แบบ DSG) โครงสร้างข้อมูลที่ต่อเนื่องของอาร์เรย์ ERDDAP™ สามารถดึงข้อมูลจากพวกมันได้อย่างรวดเร็ว) . NetCDF เป็นรูปแบบไบนารีที่รองรับอย่างกว้างขวาง อนุญาตให้เข้าถึงข้อมูลได้อย่างรวดเร็ว และรองรับแล้วโดย ERDDAP .
จากรายละเอียดของแฟ้ม
ข้อมูลต่อไปนี้ใช้ได้กับคลาสย่อยทั้งหมดของ EDTable from Files
ขน แกะ
คลาสนี้เก็บข้อมูลจากแฟ้มภายในระบบ แต่ละแฟ้มบรรจุ (ค่อน) ตารางข้อมูลเล็กๆ
- ชุดข้อมูลผลลัพธ์ที่ปรากฎราวกับว่าตารางของแฟ้มทั้งหมดได้รับการรวม (ทุกแถวของข้อมูลจากแฟ้ม #1 บวกทุกแถวจากแฟ้ม #2...) .
- แฟ้มไม่จําเป็นต้องมีตัวแปรที่ระบุทั้งหมด หากแฟ้มที่กําหนดไม่มีตัวแปรที่กําหนด ERDDAP™ จะเพิ่มค่าสูญหายตามต้องการ
- ตัวแปรในแฟ้มทั้งหมด ต้องมีค่าเท่ากับ add\_offset . missing\_value . _ไฟ ค่า . scale\_factor และ หน่วย คุณสมบัติ (ถ้ามี) . ERDDAP™ เช็ค แต่มันคือการทดสอบที่ไม่สมบูรณ์ ถ้ามีค่าต่างกัน ERDDAP ไม่รู้ว่าอันไหนถูกต้อง ดังนั้นแฟ้มไหนใช้งานไม่ได้ ถ้า นี่ เป็น ปัญหา คุณ อาจ ใช้ ได้ ขนาด NcML หรือ NCO เพื่อแก้ไขปัญหา
แฟ้มที่บีบอัด
แฟ้มข้อมูลต้นฉบับสําหรับ EDTable จากคลาสย่อยของแฟ้ม สามารถถูกบีบอัดจากภายนอกได้ (อี.จี. .tgz . .tar .gz . .tar .gzip . .gz . .gzip . .zip . .bz2 หรือ .Z) . ดู เอกสารที่ถูกบีบอัดจากภายนอก .
ข้อมูลแฟ้มที่มีแคช
- เมื่อมีการโหลดชุดข้อมูล EDTable จากแฟ้มแรก EDTables จะอ่านข้อมูลจากแฟ้มที่เกี่ยวข้องทั้งหมด และสร้างตาราง (หนึ่งแถวสําหรับแต่ละแฟ้ม) ด้วยข้อมูลเกี่ยวกับแต่ละแฟ้มและ "แย่" (แตกต่างกันหรือไม่ถูกต้อง) แฟ้ม
- ตารางจะถูกเก็บไว้บนดิสก์เช่น NetCDF v3 .nc แฟ้มใน เครื่อง มือ ขนาด ใหญ่ / Datatatet / CharesOffDatataSetid ตัวสุดท้าย / * datasetID * / ในแฟ้มชื่อ: Dirtable .nc (ซึ่งมีรายชื่อของชื่อไดเรกทอรีที่ไม่ซ้ํากัน) . แฟ้ม ตาราง .nc (ซึ่งบรรจุตารางด้วยข้อมูลของแต่ละแฟ้มที่ถูกต้อง) . แฟ้มเลว .nc (ซึ่งบรรจุตารางด้วยข้อมูลของไฟล์เลวแต่ละตัว) .
- เพื่อเพิ่มความเร็วเข้าถึงอุปกรณ์ ADTable จากแฟ้มชุดข้อมูล (แต่ค่าใช้จ่ายของการใช้หน่วยความจํามากขึ้น) คุณสามารถใช้
[<Name=ไดเรกทอรีName<) (ชื่อแฟ้ม)
เพื่อบอกว่า ERDDAP™ เพื่อเก็บสําเนาของตารางข้อมูลแฟ้มไว้ในหน่วยความจํา - การคัดลอกตารางข้อมูลแฟ้มบนดิสก์ มีประโยชน์เมื่อ ERDDAP™ ถูกปิดและเริ่มการทํางานใหม่: มันบันทึก EDTable จากแฟ้มที่มีให้อ่านอีกครั้ง
- เมื่อชุดข้อมูลถูกโหลดใหม่ ERDDAP™ ต้องอ่านข้อมูลในแฟ้มใหม่และแฟ้มที่มีการเปลี่ยนแปลงเท่านั้น
- หากแฟ้มมีโครงสร้างที่แตกต่างจากแฟ้มอื่น ๆ (ตัวอย่างเช่น, ประเภทข้อมูลที่แตกต่าง สําหรับตัวแปรตัวหนึ่ง, หรือค่าต่างๆ ของ " หน่วย "คุณลักษณะ) . ERDDAP เพิ่มแฟ้มไปยังรายการของแฟ้ม "เลว" ข้อมูลเกี่ยวกับปัญหาที่มีแฟ้มจะถูกเขียนไปยัง เครื่อง มือ ขนาด ใหญ่ แฟ้ม / log/log.txt
- คุณไม่จําเป็นต้องลบหรือทํางานกับแฟ้มเหล่านี้ ข้อยกเว้นหนึ่งคือ ถ้าคุณยังคงทําการเปลี่ยนแปลงชุดข้อมูล datasets.xml ตั้งค่า คุณอาจต้องลบแฟ้มเหล่านี้เพื่อบังคับ ERDDAP™ เพื่ออ่านแฟ้มทั้งหมดใหม่อีกครั้ง เนื่องจากแฟ้มต่าง ๆ จะถูกอ่าน/ แปลใหม่ หากคุณต้องการที่จะลบแฟ้มเหล่านี้ คุณสามารถทําได้เมื่อ ERDDAP™ กําลังวิ่ง (แล้วตั้ง ธง นําข้อมูลกลับมาใช้ใหม่) อย่างไรก็ตาม ERDDAP™ มักจะสังเกตว่า datasets.xml ข้อมูลไม่ตรงกับแฟ้ม ข้อมูลตารางและลบตารางแฟ้มโดยอัตโนมัติ
- ถ้าคุณอยากสนับสนุน ERDDAP™ เพื่อปรับปรุงข้อมูลชุดข้อมูลจัดเก็บ (ตัวอย่างเช่น, ถ้าคุณเพิ่งเพิ่ม, ลบ, หรือเปลี่ยนบางแฟ้มเป็นไดเรกทอรีข้อมูลชุด) ใช้ ระบบธง เพื่อบังคับ ERDDAP™ เพื่อปรับปรุงข้อมูลแคชของแฟ้ม
การ ร้อง ขอ
- ERDDAP™ การร้องขอข้อมูลรอบนอก สามารถใส่เงื่อนไขในตัวแปรใด ๆ
- เมื่อมีการร้องขอข้อมูลจากไคลเอนต์ EDTable from Files จะสามารถค้นหาในตารางได้อย่างรวดเร็ว โดยใช้ข้อมูลของแฟ้มที่ถูกต้อง เพื่อดูว่าแฟ้มใดมีข้อมูลที่เกี่ยวข้อง ตัวอย่างเช่น ถ้าแฟ้มต้นทางแต่ละแฟ้มมีข้อมูลสําหรับแผ่นฟลอปต์แบบคงที่หนึ่งแผ่น EDTable from Files จะสามารถตัดสินได้ว่าแฟ้มไหนมีข้อมูล
- เนื่องจากตารางข้อมูลแฟ้มที่ถูกต้อง รวมถึงค่าต่ําสุดและค่าสูงสุดของทุกตัวแปร สําหรับทุกแฟ้มที่ถูกต้อง EDTable from Files มักจะสามารถจัดการ query อื่น ๆ ได้อย่างมีประสิทธิภาพ ตัว อย่าง เช่น ถ้า หอย เป๋าฮื้อ บาง ตัว ไม่ มี เครื่อง รับ ความ ดัน อากาศ และ ลูก ค้า ขอ ข้อมูล เครื่อง ปรับ อากาศ!
กําลังปรับปรุงข้อมูลแฟ้มแคช
เมื่อไรก็ตามที่ชุดข้อมูลถูกโหลดใหม่ ข้อมูลแคชจะถูกปรับปรุงใหม่
- ชุดข้อมูลจะถูกเรียกใหม่เป็นระยะ ๆ ตามการกําหนดโดย<โหลดรายการทุก ๆ NMinuts) ใหม่ในฐานข้อมูล datasets.xml .
- ชุดข้อมูลจะถูกเรียกใหม่โดยเร็วที่สุด ERDDAP™ ตรวจสอบว่าคุณได้เพิ่ม เอาออก สัมผัส (เพื่อเปลี่ยนแฟ้มสุดท้าย เวลาแก้ไขใหม่) หรือเปลี่ยนแฟ้มข้อมูล
- ชุดข้อมูลจะถูกเรียกใหม่อีกครั้งโดยเร็วที่สุดถ้าคุณใช้ ระบบธง .
เมื่อชุดข้อมูลถูกโหลดใหม่ ERDDAP™ เปรียบเทียบแฟ้มที่มีอยู่แล้วกับตารางข้อมูลที่มีแคช แฟ้มใหม่จะถูกอ่านและเพิ่มไปยังตารางแฟ้มที่ถูกต้อง แฟ้มที่ยังไม่มีอยู่จะถูกทิ้งจากตารางแฟ้มที่ถูกต้อง แฟ้มที่มีวันที่เปลี่ยนแปลงของแฟ้ม ถูกอ่านแล้ว และข้อมูลต่าง ๆ ก็ถูกปรับปรุงใหม่ ตารางใหม่แทนที่ตารางเก่าในหน่วยความจําและบนดิสก์
แฟ้มเลว
ตารางของไฟล์ที่ไม่ดีและเหตุผลที่ไฟล์ได้รับการประกาศไม่ดี (แฟ้มเสียหาย ตัวแปรสูญหาย ค่าแกนไม่ถูกต้อง ฯลฯ) ส่งอีเมลไปยังอีเมล ทุกอย่าง ไปยังที่อยู่อีเมล (บางทีเธอ) ทุกครั้งที่ข้อมูลถูกโหลดใหม่ คุณควรเปลี่ยนหรือซ่อมแซมแฟ้มเหล่านี้ให้เร็วที่สุด
ตัวแปรหายไป
ถ้าบางไฟล์ไม่มี dataVariable นิยามในชุดข้อมูล datasets.xml ชิ้นส่วนที่โอเค เมื่อ EDTable from files อ่านแฟ้มหนึ่งในนั้น มันจะทําเหมือนว่าไฟล์มีตัวแปร แต่ด้วยค่าที่ขาดหายไปทั้งหมด
ใกล้ กับ ข้อมูล เวลา แท้
- EDTable from Files ทําตามคําขอสําหรับข้อมูลล่าสุด ว่าเป็นกรณีพิเศษ ปัญหา: หากแฟ้มสร้างข้อมูลชุดข้อมูลถูกปรับปรุงบ่อย ๆ ก็ดูเหมือนว่าชุดข้อมูลจะไม่ถูกปรับปรุงทุกครั้งที่เปลี่ยนแฟ้ม ดังนั้น EDTable from Files จะไม่ทราบถึงไฟล์ที่เปลี่ยนไป (คุณสามารถใช้ ระบบธง แต่นี่อาจนําไปสู่ ERDDAP™ การโหลดชุดข้อมูลเกือบอย่างต่อเนื่อง ดังนั้นกรณีส่วนใหญ่ เราไม่แนะนํา) แทน ที่ จะ เป็น เช่น นั้น EDTable from Files พิจารณา เรื่อง นี้ โดย ระบบ ต่อ ไป นี้: เมื่อ ERDDAP™ ได้รับการร้องขอข้อมูลภายใน 20 ชั่วโมง (ยกตัวอย่างเช่น 8 ชั่วโมงก่อน จนกระทั่งตอนนี้) . ERDDAP™ จะค้นหาทุกแฟ้มที่มีข้อมูลภายใน 20 ชั่วโมงที่ผ่านมา ดังนั้น ERDDAP™ ไม่จําเป็นต้องมีข้อมูล up-to-date สมบูรณ์ สําหรับทุกไฟล์ เพื่อหาข้อมูลล่าสุด คุณควรตั้ง [<โหลดใหม่ ทุก ๆ nintuts) (โหลดทุกนาที) ที่มีค่าน้อยอย่างสมเหตุสมผล (ยกตัวอย่างเช่น 60) แต่มันไม่จําเป็นต้องเล็ก (ตัวอย่างเช่น 3) .
-
ไม่ขอแนะนําให้ใช้ การจัดการข้อมูลระยะใกล้ในแฟ้ม: ตัวอย่างเช่น ถ้าคุณมีชุดข้อมูล ที่เก็บข้อมูลสําหรับหลายสถานี (หรือ ทุ่น หรือ เส้นทาง) เป็นเวลาหลายปี คุณสามารถจัดเรียงไฟล์ เพื่อยกตัวอย่าง มีไฟล์หนึ่งแฟ้มต่อสถานี แต่แล้วทุกครั้งที่ข้อมูลใหม่สําหรับสถานีมาถึง คุณต้องอ่านไฟล์เก่าขนาดใหญ่ และเขียนไฟล์ใหม่ขนาดใหญ่ และเมื่อ ERDDAP™ โหลดชุดข้อมูลใหม่อีกครั้ง มันจะสังเกตว่าบางแฟ้มถูกแก้ไขแล้ว ดังนั้นมันจึงอ่านแฟ้มเหล่านั้นได้อย่างสมบูรณ์ ไม่มีประสิทธิภาพเลย
-
แนะนํา การจัดการข้อมูลระยะใกล้ในแฟ้ม: เก็บข้อมูลไว้เป็นก้อนๆ ตัวอย่างเช่น ข้อมูลทั้งหมดสําหรับสถานีเดียว/บูย/ราเจอรี่เป็นเวลาหนึ่งปี (หรือหนึ่งเดือน) . แล้วเมื่อดาตัมใหม่มาถึง เพียงไฟล์ที่มีปีนี้ (หรือเดือน) ข้อมูลได้รับผลกระทบ
-
ดีที่สุด: ใช้ NetCDF v3 .nc แฟ้มที่มีมิติไม่จํากัด (เวลา) . จากนั้น เพื่อเพิ่มข้อมูลใหม่ คุณแค่เพิ่มข้อมูลใหม่เข้าไป โดยไม่ต้องอ่านและเขียนแฟ้มใหม่ทั้งหมด การเปลี่ยนแปลงนี้มีประสิทธิภาพมาก และโดยพื้นฐานแล้วเป็นอะตอม ดังนั้นไฟล์จึงไม่อยู่ในสถานะที่ไม่สอดคล้องกัน
-
ไม่อย่างนั้น: ถ้าคุณไม่ใช้/ ใช้ไม่ได้ .nc แฟ้มที่มีมิติไม่จํากัด (เวลา) จากนั้นเมื่อคุณจําเป็นต้องเพิ่มข้อมูลใหม่ คุณต้องอ่านและเขียนแฟ้มทั้งหมดที่ได้รับผลกระทบใหม่ (หวังว่าจะเล็กนะ เพราะมันมีแค่ปี (หรือเดือน) ค่าของข้อมูล) . โชคดีที่แฟ้มทั้งหมด ในอดีต (หรือเดือน) เพราะสถานีนั้นยังคงเปลี่ยนแปลงไม่ได้
-
ทั้งสองกรณี เมื่อ ERDDAP™ โหลดชุดข้อมูลใหม่อีกครั้ง แฟ้มส่วนมากจะไม่เปลี่ยนแปลง; มีแฟ้มขนาดเล็กไม่กี่แฟ้มเท่านั้นที่มีการเปลี่ยนแปลง และจําเป็นต้องอ่าน
ไดเรกทอรี
แฟ้มสามารถอยู่ในไดเรกทอรีเดียว หรืออยู่ในไดเร็กทอรีและส่วนย่อยของมัน (กลับหน้า) . ถ้ามีหลายแฟ้ม (ตัวอย่างเช่น >1,000) ระบบปฏิบัติการ (และดังนั้น EDTV จากแฟ้ม) จะดําเนินการอย่างมีประสิทธิภาพมากขึ้น หากคุณเก็บแฟ้มไว้ในชุดของตัวควบคุม (หนึ่งครั้งต่อปี หรือเดือนละหนึ่งชุดสําหรับชุดข้อมูลที่มีแฟ้มบ่อยครั้งมาก) เพื่อให้ไม่มีแฟ้มจํานวนมากในไดเรกทอรีที่ให้
การร้องขอของผู้บริหารระบบทางไกลและ HTTP
-
การร้องขอของผู้บริหารระบบทางไกลและ HTTP (โดย ผู้ เขียน ตื่น เถิด!) -- EDDGrid จาก NNc Files, EDTable from Multicalnk files, EDTable from Ncfiles, และ EDTable fromNCF Files บางครั้งสามารถให้บริการข้อมูลจาก .nc แฟ้มบนเซิร์ฟเวอร์ทางไกลและเข้าถึงผ่านทาง HTTP หากเซิร์ฟเวอร์รองรับ การ รับ ใช้ ที่ ยาว นาน ผ่านการร้องขอในช่วง HTTP (กลไก HTTP สําหรับทํางาน) . มันเป็นไปได้เพราะ Netcdf-java (ซึ่ง ERDDAP™ ใช้อ่าน .nc แฟ้ม) รองรับข้อมูลการอ่านจากระยะไกล .nc ต้องการแฟ้มผ่านทาง HTTP
อย่าทําแบบนี้!
ใช้ [แทน]<แคชจาก Url> ระบบ] (# คาเชฟัวร์) .
แคชจาก Url
- [ ** <แคชจาก Url) ** ) (# คาเชฟัวร์) -
ทั้งหมด EDDGrid จากแฟ้มและทั้งหมด EDTable จากแฟ้มชุดข้อมูลรองรับชุดของป้ายกํากับที่บอกว่า ERDDAP™ เพื่อดาวน์โหลดและรักษาสําเนาของแฟ้มฐานข้อมูลทั้งหมด หรือแคชของแฟ้มไม่กี่แฟ้ม (ดาวน์โหลดเมื่อต้องการ) . นี่เป็นคุณสมบัติที่มีประโยชน์อย่างเหลือเชื่อ
-
เดอะ<แคชจากUrl> แท็กจะให้คุณได้ระบุที่อยู่ URL ที่มีรายการของแฟ้มทางไกล
- ข้อมูลไม่แบ่งแยกใน THEDS, e.g. https://data.nodc.noaa.gov/thredds/catalog/aquarius/nodc\\_binned\\_V3.0/monthly/ \[ 2020-10-21 เซิร์ฟเวอร์นี้ไม่สามารถใช้งานได้อีก \]
- ชุดข้อมูลการจําแนกประเภท Hyrax อี.จี. https://podaac-opendap.jpl.nasa.gov/opendap/allData/ccmp/L3.5a/monthly/flk/
- รายการไดเรกทอรีคล้าย Apache ส่วนใหญ่, e.g. https://www.ncei.noaa.gov/data/global-precipitation-climatology-project-gpcp-daily/
- S3 ถัง, อี.จี.
https://noaa-goes17.s3.us-east-1.amazonaws.com/
อย่าง ไร ก็ ตาม การ ทํา เช่น นี้ อาจ ต้อง ใช้ บัญชี เอ ดับเบิล ยู เอส และ การ วาง แผน มาก ขึ้น. ดู ทํางานกับ S3 Buckets ใน ERDDAP™ . และปกติคุณไม่จําเป็นต้องใช้แคช จาก Url กับไฟล์ในถัง S3 ถ้าไฟล์เป็นแฟ้ม ASCII (e.g., .csv) เพราะว่า ERDDAP™ สามารถอ่านข้อมูลจากถังโดยตรง ผ่านกระแส
ERDDAP™ จะคัดลอกหรือจัดเก็บแฟ้มเหล่านี้ไว้ในชุดข้อมูล<ไดเรกทอรี หากคุณต้องการการสนับสนุนรายการแฟ้มระยะไกลอีกรูปแบบหนึ่ง (I.g., FTP) กรุณาส่งอีเมล์คําขอของคุณถึงคริส จอห์นที่โนอา โกฟ
- ค่าปริยายสําหรับค่า<แคชจาก Url> แท็กว่าง หากคุณไม่ได้ระบุค่าสําหรับ<แคชจากUrl> แท็ก, ระบบคัดลอก/ cache จะไม่ถูกใช้สําหรับข้อมูลชุดนี้
- ถ้าชุดข้อมูล<แฟ้มRegx) ค่าเป็นสิ่งอื่นที่ไม่ใช่. ERDDAP™ จะทําการดาวน์โหลดเฉพาะแฟ้มที่ตรงกับแฟ้มRegex
- ถ้าชุดข้อมูล<การตั้งค่าเป็นจริงและแฟ้มระยะไกลอยู่ในกํากับ ERDDAP™ จะมองหาในคณะกรรมการย่อยระยะไกลที่ตรงกับชุดข้อมูล<พาธ regex)] (# Pathregex) สร้างโครงสร้างไดเร็กทอรีเดียวกันในท้องถิ่น และใส่แฟ้มท้องถิ่นลงในเครื่องย่อยเดียวกัน
- ในชุดสะสม Xml, ถ้าคุณระบุ<แคชจากUrl> ค่า, การสร้าง ชุดข้อมูล XMI จะสร้างระบบภายใน<ไดเร็กทอรีและคัดลอก 1 แฟ้มระยะไกลเข้าไป ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ XmI จะสร้าง datasets.xml จัดเรียงตามแฟ้มตัวอย่าง (ระบุตัวอย่าง แฟ้ม=ไม่มีอะไร) .
- ถ้าแหล่งข้อมูลเป็นระยะไกล ERDDAP™ ใช้ EDDGrid จาก เอลด์ดาป หรือ DDTable from Edardp แทน<แคชจาก URI]. วิธีนั้น, ท้องถิ่นของคุณ ERDDAP™ ดูเหมือนว่าจะมีชุดข้อมูล แต่ไม่จําเป็นต้องเก็บข้อมูลในท้องถิ่น เหตุผลเดียวที่จะใช้<แคชจากUrl> เพื่อรับข้อมูลจากระยะไกล ERDDAP™ คือเมื่อคุณมีเหตุผลอื่นที่คุณอยากได้สําเนาแฟ้มข้อมูลภายใน ใน กรณี นั้น:
- ชุดข้อมูลนี้จะพยายามที่จะสมัครดูข้อมูลชุดบนระยะไกล ERDDAP เพื่อให้การเปลี่ยนแปลงของชุดข้อมูลดังกล่าว จะเรียกแฟล็กข้อมูลชุดนี้ Url, ทําให้ชุดข้อมูลท้องถิ่นนี้โหลดใหม่ และดาวน์โหลดแฟ้มระยะไกลที่มีการเปลี่ยนแปลง ดังนั้น ชุดข้อมูลท้องถิ่น จะถูกปรับให้ทันสมัยขึ้น อย่างรวดเร็วหลังจากการเปลี่ยนแปลง ถูกทําไปยังชุดข้อมูลทางไกล
- คุณควรจะส่งอีเมลไปยังผู้ดูแลระบบทางไกล ERDDAP™ มาขอให้ datasets.xml สําหรับชุดข้อมูลระยะไกล เพื่อให้คุณสามารถทําชุดข้อมูลในท้องถิ่นของคุณ ERDDAP™ ดูเหมือนชุดข้อมูลในระยะไกล ERDDAP .
- ถ้าแหล่งข้อมูลเป็นระยะไกล ERDDAP™ การตั้งค่าข้อมูลท้องถิ่น จะพยายามสมัครดูข้อมูลทางไกล
- ถ้า การ บอก รับ บรรลุ ผล สําเร็จ เมื่อ ไร ก็ ตาม ที่ อยู่ ห่าง ไกล ERDDAP โหลดข้อมูลใหม่และมีข้อมูลใหม่ มันจะติดต่อกับ แฟล็กURL สําหรับชุดข้อมูลนี้ ซึ่งจะทําให้มันโหลดใหม่อีกครั้ง และดาวน์โหลดแฟ้มใหม่และ/หรือเปลี่ยนแปลงข้อมูล
- ถ้าการสมัครสมาชิกล้มเหลว (ไม่ว่าจะด้วยเหตุผลอะไรก็ตาม) หรือถ้าคุณอยากแน่ใจว่า ชุดข้อมูลท้องถิ่นนั้น ทันสมัยแล้ว, คุณสามารถตั้งค่า ธง สําหรับชุดข้อมูลภายใน จะทําการโหลดใหม่ เพื่อให้ตรวจสอบแฟ้มข้อมูลใหม่และ/หรือมีการเปลี่ยนแปลงจากระยะไกล
- ถ้าแหล่งข้อมูลไม่ใช่รีโมท ERDDAP ชุดข้อมูลจะตรวจสอบสําหรับแฟ้มใหม่และ/ หรือมีการเปลี่ยนแปลงจากระยะไกล เมื่อมันโหลดใหม่ โดยปกติแล้ว สิ่งนี้ถูกควบคุมโดย<โหลดใหม่ ทุก ๆ nintuts) (โหลดทุกนาที) . แต่ถ้าคุณรู้ว่าเมื่อไหร่จะมีแฟ้มระยะไกลใหม่ คุณก็สามารถตั้งค่า ธง สําหรับชุดข้อมูลภายใน จะทําการเรียกใช้งานและตรวจสอบแฟ้มข้อมูลใหม่และ/หรือเปลี่ยนจากระยะไกล ถ้าเรื่องนี้เกิดขึ้นเป็นประจํา (I.g. ที่ 7am) คุณสามารถทําให้งาน Cron ที่จะใช้ curl ติดต่อกับธง Url สําหรับชุดข้อมูลนี้ มันจะโหลดและตรวจสอบแฟ้มข้อมูลใหม่และ/หรือมีการเปลี่ยนแปลงจากระยะไกล
-
เดอะ<แคชSizeGB > แท็กกําหนดขนาดของแคชภายในระบบ คุณอาจจะต้องใช้สิ่งนี้ เมื่อทํางานกับระบบจัดเก็บเมฆเช่น Amazon S3 ซึ่งเป็นระบบจัดเก็บที่ใช้โดยทั่วไปที่เป็นส่วนหนึ่งของ บริการเว็บของ Amazon (ขนาด AWS) . ค่าปริยายคือ - 1
- ถ้าค่าเป็น<=0 (e.g., ค่าปริยายของ -1) .
ERDDAP™ จะดาวน์โหลดและรักษา ทําสําเนาเสร็จสมบูรณ์ ข้อมูลทั้งหมดที่อยู่ในชุดข้อมูล<ไฟล์ Dir).
- นี่เป็นการตั้งค่าที่แนะนําเมื่อใดก็ตามที่เป็นไปได้
- ทุกครั้งที่โหลดชุดข้อมูลใหม่อีกครั้ง มันจะเปรียบเทียบชื่อ, ขนาด, และช่วงเวลาสุดท้ายของแฟ้มทางไกล และแฟ้มภายในเครื่อง และดาวน์โหลดแฟ้มระยะไกลใด ๆ ที่ใหม่หรือมีการเปลี่ยนแปลง
- ถ้าแฟ้มที่อยู่บนเซิร์ฟเวอร์ทางไกลหายไป ERDDAP™ จะไม่ลบแฟ้มที่เข้าคู่กับแฟ้มภายในระบบ (มิฉะนั้น หากมีบางอย่างผิดปกติกับเซิร์ฟเวอร์ทางไกล ERDDAP™ อาจลบบางแฟ้มหรือแฟ้มท้องถิ่นทั้งหมด!) .
- ด้วยการตั้งค่านี้ปกติคุณจะตั้งค่า<อัปเดต AllNMillies) ไปยัง -1 เนื่องจากชุดข้อมูลตระหนักถึงเมื่อมีการคัดลอกไฟล์ข้อมูลใหม่ไปยังตําแหน่ง
- ถ้าค่าเป็น >0
ERDDAP™ จะดาวน์โหลดแฟ้มจากชุดข้อมูลทางไกลเมื่อต้องการไปยังระบบ แคช (ในชุดข้อมูล<fileDir)) ด้วยขนาดขีดจํากัดของหมายเลขที่ระบุไว้ของ GB
- แคชต้องมีขนาดใหญ่พอที่จะเก็บแฟ้มข้อมูลได้อย่างน้อยหลายแฟ้ม
- โดยทั่วไปแล้ว แคชจะมีขนาดใหญ่กว่า เพราะแฟ้มข้อมูลที่ร้องขอมา จะมีแนวโน้มว่า จะอยู่ในแคชอยู่แล้ว
- ควรใช้การลากเมื่อ ERDDAP™ กําลังทํางานในแม่ข่ายการคํานวณแบบก้อนเมฆ (e.g., โพรเซส AWS สําหรับคํานวณ) และไฟล์ระยะไกลในระบบเก็บเมฆ (E.g., AWS S3) .
- เมื่อพื้นที่ดิสก์ที่ใช้โดยแฟ้มภายในระบบมากกว่าแคช ขนาด GB ERDDAP™ อีกไม่นาน (อาจจะไม่ทันที) ลบแฟ้มที่มีแคชบางส่วน (ปัจจุบัน โดยอิงจากส่วนที่เพิ่งใช้ไปก่อนหน้านี้ (LRU) อัลกอริทึม) กระทั่งพื้นที่ดิสก์ที่ถูกใช้โดยแฟ้มภายในระบบ<0. 75/*cachesize GB ("กอล") . ใช่ มีหลายคดีที่ LRU ทําหน้าที่ได้แย่มาก ไม่มีอัลกอริทึมที่สมบูรณ์แบบ
- ERDDAP™ จะไม่พยายามลบแฟ้มที่มีแคช ERDDAP™ เริ่มใช้ใน 10 วินาทีสุดท้าย นี่เป็นระบบที่ไม่สมบูรณ์สําหรับจัดการระบบแคช และระบบอ่านแฟ้มข้อมูลจะถูกคอมไพล์แบบหลวม ๆ เท่านั้น เพราะกฎนี้ ERDDAP™ อาจจะไม่สามารถลบแฟ้มที่เพียงพอเพื่อไปยังเป้าหมายของมันได้ ซึ่งในกรณีที่มันจะทําการพิมพ์การแจ้งเตือนไปยังแฟ้มปูมบันทึก.txt และระบบจะเสียเวลาในการพยายามลดระดับแคชลงมาก และเป็นไปได้ว่าขนาดของแฟ้มที่อยู่ในแคช อาจจะมากกว่าแฟ้มแคชมาก หากเหตุการณ์นี้เกิดขึ้นอีก ให้ใช้การตั้งค่าแคช Size GB ขนาดใหญ่สําหรับชุดข้อมูลดังกล่าว
- ตอนนี้ ERDDAP™ ไม่ต้องตรวจสอบว่าเซิร์ฟเวอร์ปลายทางมีแฟ้มใหม่กว่าที่อยู่ในแคชภายในหรือไม่ ถ้าคุณต้องการคุณสมบัตินี้ โปรดอีเมลชื่อคริส จอห์นที่โนอา โกฟ
- ถึง แม้ การ ใช้ ชื่อ เดียว กัน นี้ อาจ หมาย ความ ว่า ระบบ คัด ลอก และ ระบบ แคช ใช้ ระบบ พื้น ฐาน เดียว กัน แต่ ก็ ไม่ ถูก ต้อง.
- โปรแกรมคัดลอกระบบจะเริ่มทํางานทาสก์ทาสก์เพื่อดาวน์โหลดแฟ้มใหม่และเปลี่ยนแปลงทุกครั้งที่โหลดข้อมูลใหม่อีกครั้ง แฟ้มที่จะคัดลอกไปยังไดเร็กทอรีท้องถิ่นเท่านั้นที่มีผ่านทาง ERDDAP™ ชุดข้อมูล
- ระบบแคชจะได้รายการแฟ้มทางไกล ทุกครั้งที่ชุดข้อมูลถูกโหลดใหม่อีกครั้ง และแสร้งทําเป็นว่าแฟ้มเหล่านั้นทั้งหมดมีอยู่ผ่านทาง ERDDAP™ ชุดข้อมูล ที่น่าสนใจคือ แฟ้มระยะไกลทั้งหมดปรากฏอยู่ในชุดข้อมูล / files/ webs และสามารถดาวน์โหลดได้ (แม้ว่าจะมีการหน่วงเวลาเท่านั้น ในขณะที่แฟ้มถูกดาวน์โหลดครั้งแรกจากเซิร์ฟเวอร์ทางไกล ไปยังแคชภายใน)
- ชุดข้อมูลที่จะใช้แคช Size GB อาจได้ประโยชน์จากการใช้งาน เปิด/ ปิด เสียง ตั้งค่าที่มากกว่า 1 เนื่องจากจะทําให้ชุดข้อมูลสามารถดาวน์โหลดแฟ้มระยะไกลได้ทีละ 1 แฟ้ม
- ถ้าค่าเป็น<=0 (e.g., ค่าปริยายของ -1) .
ERDDAP™ จะดาวน์โหลดและรักษา ทําสําเนาเสร็จสมบูรณ์ ข้อมูลทั้งหมดที่อยู่ในชุดข้อมูล<ไฟล์ Dir).
-
เดอะ<แท็กแคชPartial Path Regex) เป็นป้ายที่ไม่ค่อยได้ใช้ในการระบุตัวเลือกสําหรับชุดข้อมูล<พาธ regex)] (# Pathregex) . ค่าเริ่มต้นเป็นโมฆะ
- ใช้นี่เท่านั้น หากคุณกําลังคัดลอกชุดข้อมูลทั้งหมดโดยใช้ค่าปริยาย<แคชSizeGB> value ของ -1 ด้วย<แคชSizeGB> value of >1, this is will are would backages from it is not sensicial
- ดู [เอกสารสําหรับ<พาธ regex)] (# Pathregex) เพื่อแนะนําวิธีสร้างรีเซ็กซ์
- หากมีการระบุค่านี้ มันจะถูกใช้ทุกครั้งที่เรียกชุดข้อมูลใหม่อีกครั้ง ยกเว้นครั้งแรกที่ชุดข้อมูลจะถูกเรียกใหม่อีกครั้งเมื่อเริ่มต้นเดือน
- มีประโยชน์เมื่อชุดข้อมูลระยะไกล ถูกเก็บไว้ในเขาวงกตของโครงสร้างย่อย และเมื่อแฟ้มเหล่านั้นส่วนใหญ่ แทบจะไม่เปลี่ยนเลย (<ไอ: นาซา<ไอ) ตัวอย่างเช่น คุณสามารถระบุ<แคชPartial Path Regex) ซึ่งตรงกับปีปัจจุบันหรือเดือนปัจจุบัน ชื่อ regexes เหล่านี้จะยากในการระบุ เนื่องจากชื่อบางส่วนและพาธทั้งหมดจะต้องตรงกับ<pathetic Part Regex) และเนื่องจาก<แคชPartial Path Regex) ต้องทํางานกับที่อยู่ URL ทางไกล และไดเรกทอรีภายใน ตัวอย่างชีวิตที่แท้จริงคือ
-
<cacheFromUrl>https://data.nodc.noaa.gov/ghrsst/GDS2/L4/GLOB/JPL/MUR/v4.1/</cacheFromUrl>
\\>!-- \\[2020-10-21 This server is no longer reliably available.\\] For most types of remote directories, omit the filename (e.g., contents.html for Hyrax). -->
<fileDir>/u00/satellite/MUR41/</fileDir>
<fileNameRegex>\\*\\.nc</fileNameRegex>
<recursive>true</recursive>
<pathRegex>.\\*</pathRegex>
<cachePartialPathRegex>.\\*/v4\\.1/(|2018/(|01./))</cachePartialPathRegex>
ที่อยู่ URL ตัวอย่างด้านบนมีแฟ้มในส่วนย่อยตามปี (E.g., 2018) และวันแห่งปี (E.g., 001, 002, .... 365 หรือ 366) . สังเกตว่า<แคชPartial Path Regex) เริ่มจาก. /*, จากนั้น มีส่วนย่อยเฉพาะ ซึ่งเป็นเรื่องปกติของที่อยู่ URL และไดเรกทอรีท้องถิ่น เช่น /v4\1/ จากนั้นมีชุดของกลุ่มจับรังที่ตัวเลือกแรกเป็นไม่มีอะไร และตัวเลือกที่สอง คือค่าเฉพาะ
ตัวอย่างด้านบนจะตรงกับไดเรกทอรีสําหรับ 10 วันที่สอง 2018, e.g.
https://data.nodc.noaa.gov/ghrsst/GDS2/L4/GLOB/JPL/MUR/v4.1/2018/010/ \[ 2020-10-21 เซิร์ฟเวอร์นี้ไม่สามารถใช้งานได้อีก \]
และวันที่ 011, 012, 019
(ดูนี่สิ เอกสารของ Regex ถึง บทเรียน regax .)
ถ้าคุณต้องการความช่วยเหลือในการสร้าง<แคชPartial Path Regex:" โปรดส่งอีเมล์<แคชจาก Url> ถึงคริส. จอห์นที่โนอา โกฟ
- วิธีการทั่วไป: ถ้าคุณต้องการใช้<Maypartial Path Regex), อย่าใช้มันตอนแรก, เพราะคุณต้องการ ERDDAP™ เพื่อดาวน์โหลดแฟ้มทั้งหมดในตอนแรก หลัง ERDDAP™ ได้ดาวน์โหลดแฟ้มทั้งหมดแล้ว เพิ่มเข้าไปในชิ้นข้อมูลชุด datasets.xml .
แฟ้มหลายพันแฟ้ม
ถ้าชุดข้อมูลของคุณมีไฟล์เป็นพันๆ ERDDAP™ อาจจะช้าในการตอบสนองต่อการร้องขอข้อมูลจากชุดข้อมูลนั้น มันมีสองประเด็น
- จํานวนของแฟ้มต่อไดเรกทอรี ภายใน ERDDAP™ ทํางานด้วยความเร็วเท่า ๆ กัน ไม่ว่าแฟ้ม n ตัว จะอยู่ในไดเรกทอรีเดียวหรือไม่ หรือกระจัดกระจายอยู่ในไดเร็กทอรีหลายอัน แต่มีปัญหาคือ ยิ่งมีแฟ้มในไดเรกทอรีที่กําหนดมากเท่าไร ระบบปฏิบัติการจะช้ามากในการคืนรายการของแฟ้มในไดเรกทอรี (ต่อแฟ้ม) ถึง ERDDAP . เวลาตอบสนองอาจจะ O (ปูมบันทึก n) . มันยากที่จะบอกว่า มีกี่แฟ้มในไดเรกทอรีเดียวที่มีมากเกินไป แต่อาจจะมากถึง 10,000 แฟ้ม ดังนั้นหากการตั้งค่าของคุณมีการสร้างแฟ้มจํานวนมาก ข้อแนะนําที่นี่อาจจะ: (เช่น สถานี หรือ สถานี/ปี) .
อีกเหตุผลหนึ่งที่จะใช้ตัวเลือกย่อย: หากผู้ใช้ต้องการใช้ ERDDAP ' "files" ระบบเพื่อหาชื่อของแฟ้มที่เก่าที่สุดสําหรับสถานี X มันจะเร็วกว่าและมีประสิทธิภาพกว่า ถ้าแฟ้มอยู่ในสถานี/ปี การกํากับการทํางาน เนื่องจากข้อมูลต้องโอนน้อยกว่ามาก
- จํานวนแฟ้มทั้งหมด
สําหรับชุดข้อมูลรอบนอก ERDDAP™ ติดตามช่วงของค่าแต่ละตัวแปรในแต่ละแฟ้ม เมื่อผู้ใช้ร้องขอ ERDDAP™ ต้องอ่านข้อมูลทั้งหมดจากแฟ้มทั้งหมด ที่อาจจะมีข้อมูลตรงกับการร้องขอของผู้ใช้ หากผู้ใช้ร้องขอข้อมูลจากเวลาจํากัด (อี.จี. หนึ่งวันหรือหนึ่งเดือน) งั้น ERDDAP™ ไม่ต้องเปิดแฟ้มจํานวนมาก ในชุดข้อมูลของคุณ แต่มีกรณีที่รุนแรงที่เกือบทุกไฟล์อาจจะมีข้อมูลที่ตรงกับ (e.g. เมื่อน้ําไหล=13.2C.) . ตั้งแต่นั้น ERDDAP™ ขอเวลาอีกนิด (บางส่วนของเวลาค้นหาบน HD, ส่วนหนึ่งเป็นเวลาที่อ่านหัวแฟ้ม) เพื่อเปิดแฟ้มที่ให้ (และหากมีแฟ้มจํานวนมากในไดเรกทอรี) มีโทษปรับเวลา ถ้าจํานวนแฟ้มทั้งหมด ERDDAP™ ต้องเปิดมันใหญ่มาก แม้แต่การเปิดไฟล์เป็นพันครั้ง ก็ต้องใช้เวลามาก ดังนั้น จึงมีประโยชน์ในการรวมไฟล์ประจําวันเป็นก้อนขนาดใหญ่ (1 สถานีเป็นเวลา 1 ปี) . ฉันเข้าใจว่าคุณอาจไม่อยากทําแบบนี้ ด้วยเหตุผลบางอย่าง แต่มันนําไปสู่การตอบสนองที่เร็วขึ้นมาก ในกรณีที่รุนแรง (เช่น ผมจัดการกับชุดข้อมูล GTSP ที่มีแฟ้มต้นฉบับ ~35 ล้านแฟ้ม) การส่งข้อมูลจากแฟ้มแหล่งจํานวนมหาศาล ใช้ไม่ได้เพราะ ERDDAP การตอบรับของคําถามง่ายๆ อาจใช้เวลาหลายชั่วโมง และใช้ความทรงจําจํานวนมาก โดยการรวมแฟ้มต้นทางเป็นจํานวนที่น้อยลง (สําหรับ GTSP, ผมมี 720, 2 ต่อเดือน) . ERDDAP™ สามารถตอบได้อย่างรวดเร็วพอควร ดู แฟ้มนับล้าน
N.B. Solid Station Dives เยี่ยมมาก วิธีที่เร็วที่สุด ง่ายที่สุด ERDDAP™ ยุ่งกับจํานวนมหาศาล (เล็ก) แฟ้มใช้ไดรฟ์ของรัฐ ดู Solid Station Drives เยี่ยมมาก!
แฟ้มนับล้าน
-
ข้อมูลบางชุดมีไฟล์แหล่งเป็นล้าน ERDDAP™ สามารถจัดการได้ แต่ด้วยผลลัพธ์ผสม
- สําหรับการร้องขอที่เพียงแค่เกี่ยวข้องกับตัวแปรในรายการใน< subsetVariables >) (# เปลี่ยนตัวแปรได้) . ERDDAP™ มีข้อมูลทั้งหมดที่จําเป็นแล้ว ที่ดึงออกมาจากแฟ้มข้อมูลและเก็บไว้ในแฟ้มเดียว เพื่อให้สามารถตอบสนองได้อย่างรวดเร็ว
- สําหรับคําขออื่น ERDDAP™ สามารถสแกนชุดข้อมูล ข้อมูลแฟ้มที่มีแคช และพบว่ามีแฟ้มไม่กี่แฟ้มเท่านั้น ที่อาจจะมีข้อมูลที่เกี่ยวข้องกับคําขอนี้ และตอบโต้อย่างรวดเร็ว
- แต่คําขออื่น (ตัวอย่างเช่น, ระดับน้ํา=18 องศา\_C) ที่ซึ่งไฟล์ใด ๆ มีข้อมูลที่เกี่ยวข้อง ERDDAP™ ต้องเปิดแฟ้มจํานวนมาก เพื่อดูว่าแต่ละแฟ้มมีข้อมูลที่เกี่ยวข้องกับการร้องขอหรือไม่ แฟ้มถูกเปิดใช้แบบแยกประเภท บนระบบปฏิบัติการใด ๆ และระบบแฟ้มใด ๆ (นอกจากไดรฟ์ของรัฐ) มันใช้เวลานานมาก (ดังนั้น ERDDAP™ ตอบสนองอย่างช้าๆ) และเชื่อมโยงระบบไฟล์ (ดังนั้น ERDDAP™ ตอบสนองต่อคําขออื่นอย่างช้าๆ) .
โชคดีที่มีทางออก
- ตั้งค่าชุดข้อมูลบนไม่เปิดเผย ERDDAP™ (คอมพิวเตอร์ส่วนตัวของคุณ?) .
- สร้างและประมวลผลสคริปต์ที่ต้องการชุดของ .nc แฟ้ม CF แต่ละแฟ้มมีชุดข้อมูลขนาดใหญ่ โดยปกติจะเป็นช่วงเวลา (ตัวอย่างเช่น, ข้อมูลทั้งหมดสําหรับเดือนที่กําหนด) . เลือกช่วงเวลา เพื่อให้แฟ้มผลลัพธ์ทั้งหมดน้อยกว่า 2GB (แต่หวังว่ามากกว่า 1GB) . หากชุดข้อมูลกํากับมีข้อมูลใกล้เคียงกับเวลา ให้ประมวลผลสคริปต์เพื่อสร้างแฟ้มใหม่สําหรับช่วงเวลาปัจจุบัน (อี.จี. เดือนนี้) บ่อย (ทุก 10 นาที? ทุกชั่วโมง?) . ร้องขอ ERDDAP™ สําหรับ .nc แฟ้ม CF สร้างเป็น NetCDF v3 .nc แฟ้มที่ใช้ CF แว่นขยาย (แบบ DSG) ข้อมูลโครงสร้างของอาร์เรย์ต่อเนื่อง)
- ตั้ง แฟ้ม DDTable จาก NCF ชุดข้อมูลในที่สาธารณะ ERDDAP™ ซึ่งได้ข้อมูลจาก .nc (CF) แฟ้ม ERDDAP™ สามารถดึงข้อมูลจากไฟล์เหล่านี้ได้อย่างรวดเร็ว และเนื่องจากตอนนี้มีหลายสิบหรือหลายร้อย (แทนที่จะเป็นล้าน) ของแฟ้ม, แม้ว่า ERDDAP™ ต้องเปิดไฟล์ทั้งหมด มันทําได้เร็วมาก
ใช่ ระบบนี้ต้องใช้เวลาและความพยายามในการจัดตั้งขึ้น แต่มันก็ได้ผลดีมาก การร้องขอข้อมูลส่วนใหญ่ สามารถจัดการได้เร็วกว่าเดิม 100 เท่า \[ บ๊อบรู้ว่านี่เป็นไปได้ แต่เควิน โอ'ไบรอัน เป็นคนทําครั้งแรก และแสดงให้เห็นว่ามันได้ผล ตอนนี้ Bob ใช้นี่สําหรับข้อมูล GTSP ซึ่งมีแฟ้มต้นฉบับประมาณ 18 ล้านแฟ้ม ERDDAP™ ปัจจุบัน รับ ใช้ ผ่าน ไป ประมาณ 500 คน .nc (CF) แฟ้ม \]
N.B. Solid Station Dives เยี่ยมมาก วิธีที่เร็วที่สุด ง่ายที่สุด ERDDAP™ ยุ่งกับจํานวนมหาศาล (เล็ก) แฟ้มใช้ไดรฟ์ของรัฐ ดู Solid Station Drives เยี่ยมมาก!
แฟ้มขนาดใหญ่
- แฟ้มข้อมูลขนาดใหญ่เดียว (เป็นแฟ้มข้อมูล ASCII ขนาดมหึมา) อาจทําให้เกิดการปลดปล่อย ถ้านี่เป็นปัญหา, มันควรชัดเจนเพราะ ERDDAP™ จะล้มเหลวในการโหลดชุดข้อมูล วิธีแก้ไข หากเป็นไปได้ คือแยกแฟ้มออกเป็นแฟ้มหลายแฟ้ม ทางเทคนิคแล้ว คุณสามารถแยกไฟล์ออกเป็นก้อนหลัก ตัวอย่างเช่น ถ้าไฟล์มีข้อมูลมูลค่า 20 เดือน ให้แยกเป็น 20 ไฟล์ แต่ละไฟล์ด้วยข้อมูล 1 เดือน แต่มีข้อดีแม้แฟ้มหลักจะถูกแยกตามอําเภอใจ วิธี นี้ มี ประโยชน์ หลาย อย่าง: a) นี่จะเป็นการลดหน่วยความจําที่จําเป็นในการอ่านแฟ้มข้อมูลเป็น 1/20 เนื่องจากมีเฉพาะแฟ้มเดียวที่อ่านได้ทีละแฟ้ม b) บ่อยครั้งที่ ERDDAP™ สามารถจัดการกับการร้องขอได้เร็วขึ้นมาก เนื่องจากมันต้องค้นหาเพียงหนึ่งหรือไม่กี่แฟ้ม เพื่อค้นหาข้อมูลสําหรับการร้องขอที่ให้มา C) ถ้าการเก็บข้อมูลยังคงดําเนินต่อไป แฟ้มที่มีอยู่ 20 แฟ้ม ก็จะไม่สามารถเปลี่ยนแปลงได้ และคุณจําเป็นต้องแก้ไข เพียงแฟ้มเล็ก ๆ ตัวใหม่เท่านั้น เพื่อเพิ่มมูลค่าของข้อมูลในเดือนถัดไป
ปัญหาของ FTP/ Advice
- หากคุณมีแฟ้มข้อมูลใหม่ไปยัง FTP ERDDAP™ แม่ข่ายอยู่ ERDDAP™ กําลังวิ่ง มันมีโอกาส ERDDAP™ จะทําการโหลดข้อมูลชุดสะสมอีกครั้งระหว่างกระบวนการ FTP มันเกิดขึ้นบ่อยกว่าที่คุณคิด! หากมันเกิดขึ้น แฟ้มนี้จะปรากฏเป็นแฟ้มที่ถูกต้อง (มีชื่อที่ใช้ได้) แต่แฟ้มใช้ไม่ได้ ถ้า ERDDAP™ พยายามอ่านข้อมูลจากแฟ้มที่ใช้ไม่ได้นั้น, ความผิดพลาดที่เกิดขึ้นจะทําให้แฟ้มถูกเพิ่มเข้าไปในตารางของแฟ้มที่ไม่ถูกต้อง นี่ไม่ดีแน่ เพื่อหลีกเลี่ยงปัญหานี้ ให้ใช้ชื่อแฟ้มชั่วคราวเมื่อ FTP'ing file, ตัวอย่างเช่น, ABC2005 .nc _TEMP. จากนั้น, แฟ้มที่มีชื่อการทดสอบRegex (ดูด้านล่าง) จะแสดงให้เห็นว่านี่ไม่ใช่ไฟล์ที่เกี่ยวข้อง หลังจากประมวลผล FTP เรียบร้อยแล้ว ให้เปลี่ยนชื่อแฟ้มเป็นชื่อแฟ้มที่ถูกต้อง กระบวนการเปลี่ยนชื่อจะทําให้แฟ้มมีความเกี่ยวข้องในทันที
คลายชื่อแฟ้ม
\[ ลักษณะนี้มีความชัดเจน กรุณาใช้ \*\*เลเยอร์ถัดไป sourceName แทน \]
EDTable from Files มีระบบสําหรับดึงสตริงจากแต่ละชื่อแฟ้ม และใช้มันสร้างตัวแปรข้อมูลเทียม ปัจจุบัน ไม่ มี ระบบ ที่ จะ ตี ความ เชือก เหล่า นี้ ว่า เป็น วัน เวลา. มีป้ายกํากับ XML หลายอันที่จะตั้งค่าระบบนี้ หากคุณไม่ต้องการส่วนหรือระบบทั้งหมด แค่ไม่ต้องระบุป้ายกํากับเหล่านี้ หรือใช้ค่า ""
- Excrangex is a เงื่อนไขการค้นหา ( การ สอน ) ใช้ระบุข้อความที่จะลบออกจากส่วนเริ่มต้นของชื่อแฟ้ม การลบเกิดขึ้นก็ต่อเมื่อ Regex ตรงกันเท่านั้น นี่มักเริ่มด้วย "^" เพื่อตรงกับจุดเริ่มต้นชื่อแฟ้ม
- โพสต์ คลาย regex เป็นนิพจน์ปกติที่ใช้ระบุข้อความที่จะลบออกจากท้ายชื่อแฟ้ม การลบเกิดขึ้นก็ต่อเมื่อ Regex ตรงกันเท่านั้น นี้มักจะจบด้วย "$" เพื่อตรงกับปลายชื่อแฟ้ม
- คลายแฟ้ม หากอยู่ ณ ที่นี้ จะใช้นิพจน์ปกตินี้ หลังจากใช้ค่า ExcratRegex และหลังการไล่สี regex เพื่อใช้ในการดึงข้อความออกจากชื่อแฟ้ม (ยกตัวอย่างเช่น stationID ) . ถ้า Regex ไม่ตรงกัน จะใช้ชื่อแฟ้มทั้งหมด (ลบการไล่ระดับสีและโพสต์ คลาย) . ใช้ "/*" เพื่อตรงกับชื่อแฟ้มทั้งหมดที่เหลือหลังจาก พรีเอ็กซ์แทรคเตอร์รีเกกซ์และหลังจบการเพิ่มข้อมูล
- คอลัมน์ ชื่อ For Excranget เป็นชื่อแหล่งข้อมูลสําหรับสตริงที่สกัดมา A dataVariable ด้วยสิ่งนี้ sourceName ต้องอยู่ใน dataVariable รายชื่อ s (ด้วยชนิดของข้อมูลใด ๆ แต่ปกติสตริง) .
ตัวอย่างเช่น หากชุดข้อมูลมีไฟล์ที่มีชื่อเช่น XYZAble .nc ขนาด XYZBer .nc , XYZ ชาร์ลี .nc และคุณต้องการสร้างตัวแปรใหม่ ( stationID ) เมื่อมีการอ่านแฟ้มแต่ละแฟ้ม ซึ่งจะมีหมายเลขประจําสถานี (อํานาจ เบเกอร์ ชาร์ลี ...) สกัดจากชื่อแฟ้ม คุณสามารถใช้ป้ายกํากับเหล่านี้ได้
- <Prexrangex regex>^XYZ</ Excranged regex> ^เริ่มต้นเป็นอักขระพิเศษที่ใช้แสดง ERDDAP™ เพื่อหา XYZ ในตอนต้นของชื่อแฟ้ม นี่เป็นสาเหตุของ XYZ หากพบที่ตอนต้นของชื่อแฟ้ม จะถูกลบออก (ตัวอย่างเช่น ชื่อแฟ้ม XYZAble .nc กลายเป็นอํานาจ .nc ) .
- <หลังจากจบการทํางานแล้ว\ .nc $<<i> $ ที่สุดท้ายเป็นการแสดงออกพิเศษที่ ERDDAP™ เพื่อหา .nc ที่ท้ายชื่อแฟ้ม เนื่องจาก . เป็นตัวละครพิเศษ (ซึ่งตรงกับตัวอักษรใด ๆ) เข้ารหัสเป็น\ ที่นี่ (เพราะ 2E คือเลขอักขระเลขฐานสิบหกสําหรับช่วงเวลา) . นี่เป็นสาเหตุ .nc หากพบที่ท้ายชื่อแฟ้ม จะลบออก (ตัวอย่างเช่น ชื่อแฟ้มบางส่วน อํานาจ .nc กลายเป็นอํานาจ) .
- <ExclectRegx>.\*</xranget regex> นิพจน์แบบ . / * ตรงกับอักขระที่เหลือทั้งหมด (ตัวอย่างเช่น ชื่อแฟ้มบางส่วน ความสามารถจะกลายเป็นส่วนคลายสําหรับแฟ้มแรก) .
- <คอลัมน์Name stationID </ โคลัมน์Name นี่บอกว่า ERDDAP™ เพื่อสร้างคอลัมน์แหล่งใหม่ ที่เรียกว่า stationID เมื่ออ่านแฟ้มแต่ละตัว ทุกแถวของข้อมูลจากแฟ้มที่ให้ จะมีส่วนดึงข้อความออกมาจากชื่อแฟ้ม (ยกตัวอย่างเช่น อํานาจ) เป็นค่าใน stationID คอลัมน์
ในกรณีส่วนใหญ่ มีค่ามากมายสําหรับแท็ก สกัดเหล่านี้ที่จะส่งผลเดียวกัน การแสดงออกปกติมีความยืดหยุ่นมาก แต่ ใน บาง กรณี มี วิธี หนึ่ง ที่ จะ ได้ ผล ที่ ต้องการ.
เซโดะ sourceName วินาที
ทุกตัวแปรในข้อมูล ERDDAP™ มี a< sourceName >) (ชื่อแหล่ง) ซึ่งระบุชื่อแหล่งสําหรับตัวแปร สื่อ ต่าง ๆ จาก แฟ้ม ได้ รับ การ สนับสนุน บาง ส่วน sourceName s ซึ่งแยกค่าจากที่อื่น (เช่น ชื่อของแฟ้ม หรือค่าของแอททริบิวต์ทั่วไป) และส่งเสริมให้ค่านั้นเป็นคอลัมน์ของค่าคงที่ สําหรับส่วนของข้อมูล (เช่น ตารางข้อมูลของไฟล์) . สําหรับตัวแปรเหล่านี้ คุณต้องระบุชนิดของตัวแปรผ่านทาง<ข้อมูล (# ดาต้าชนิด) ป้าย หากข้อมูลที่ถูกสกัดออกมา เป็นข้อความเวลา คุณกําหนดรูปแบบของข้อความเวลา ในข้อความ คุณสมบัติของหน่วย . ตัวปลอม sourceName ตัวเลือกคือ:
ทั่วไป: sourceName วินาที
คุณสมบัติของข้อมูลกํากับภาพทั่วไปในแฟ้มข้อมูลแต่ละแหล่ง สามารถเลื่อนเป็นคอลัมน์ของข้อมูลได้ หากตัวแปร< sourceName > มีรูปแบบ
<sourceName>global:*attributeName*</sourceName>
แล้วเมื่อไหร่ ERDDAP™ กําลังอ่านข้อมูลจากไฟล์ ERDDAP™ จะมองหาคุณสมบัติระดับโลกของชื่อนี้ (ตัวอย่างเช่น PI) และสร้างคอลัมน์ที่มีคุณค่า มีประโยชน์เมื่อแอตทริบิวต์มีค่าต่าง ๆ กัน ในแฟ้มแหล่งอื่น ๆ เพราะไม่งั้น ผู้ใช้จะเห็นเฉพาะค่าเหล่านั้นสําหรับชุดข้อมูลทั้งหมดเท่านั้น ยกตัวอย่างเช่น
<sourceName>global:PI</sourceName>
เมื่อคุณส่งเสริมคุณลักษณะที่เป็นข้อมูล ERDDAP™ ลบคุณลักษณะที่คู่กันออกไป เหมาะสม เนื่องจากค่าต่าง ๆ นั้นอาจจะแตกต่างกันในทุกแฟ้ม ส่วนในชุดข้อมูลรวม ERDDAP™ มันจะมีค่าอย่างเดียว ถ้าคุณต้องการ คุณสามารถเพิ่มค่าใหม่ของแอททริบิวต์สําหรับชุดข้อมูลทั้งหมดได้ โดยการเพิ่ม<at name=" คุณสมบัติ ชื่อ ""-- สร้างใหม่ ค่า <at> to the Dayet's Global [att]. สืบค้นเมื่อ 2 January 2015.< addAttributes >) (เพิ่มรายการแจกจ่าย) . สําหรับคุณสมบัติระดับโลก ERDDAP™ เพื่อ เป็น ตัว อย่าง จําเป็น ต้อง มี สถาบัน เพื่อ เพิ่ม คุณค่า ใหม่ สําหรับ คุณลักษณะ นี้.
ตัวแปร: sourceName วินาที
คุณสมบัติข้อมูลกํากับภาพของตัวแปรในแต่ละแฟ้ม สามารถเลื่อนเป็นคอลัมน์ของข้อมูลได้ หากตัวแปร< sourceName \ > มีรูปแบบ
<sourceName>variable:*variableName*:*attributeName*<sourceName>
แล้วเมื่อไหร่ ERDDAP™ กําลังอ่านข้อมูลจากไฟล์ ERDDAP™ จะค้นหาคุณลักษณะที่ระบุ (ตัวอย่างเช่น ID) ของตัวแปรที่ระบุ (ยกตัวอย่างเช่น เครื่องดนตรี) และสร้างคอลัมน์ที่มีคุณค่า ตัวแปรแม่ (ยกตัวอย่างเช่น เครื่องดนตรี) ไม่จําเป็นต้องเป็นหนึ่งใน dataVariable s รวมอยู่ในนิยามของชุดข้อมูล ERDDAP . ยกตัวอย่างเช่น
<sourceName>variable:instrument:ID</sourceName>
มีประโยชน์เมื่อแอตทริบิวต์มีค่าต่าง ๆ กัน ในแฟ้มแหล่งอื่น ๆ เพราะไม่งั้น ผู้ใช้จะเห็นเฉพาะค่าเหล่านั้นสําหรับชุดข้อมูลทั้งหมดเท่านั้น
เมื่อคุณส่งเสริมคุณลักษณะที่เป็นข้อมูล ERDDAP™ ลบคุณลักษณะที่คู่กันออกไป เหมาะสม เนื่องจากค่าต่าง ๆ นั้นอาจจะแตกต่างกันในทุกแฟ้ม ส่วนในชุดข้อมูลรวม ERDDAP™ มันจะมีค่าอย่างเดียว ถ้าคุณต้องการ คุณสามารถเพิ่มค่าใหม่ของแอททริบิวต์สําหรับชุดข้อมูลทั้งหมดได้ โดยการเพิ่ม<at name=" คุณสมบัติ ชื่อ ""-- สร้างใหม่ ค่า <กับตัวแปร< addAttributes >) (เพิ่มรายการแจกจ่าย) . สําหรับคุณลักษณะที่ ERDDAP™ จําเป็นต้องยกตัวอย่าง ioos\_category (ขึ้นอยู่กับการตั้งค่าของคุณ) คุณต้องเพิ่มคุณค่าใหม่สําหรับคุณลักษณะนี้
แฟ้มName sourceName วินาที
คุณสามารถแยกส่วนของแฟ้มได้Name และโปรโมชันมันให้เป็นคอลัมน์ของข้อมูล รูปแบบสําหรับค่าเทียมนี้< sourceName >) (ชื่อแหล่ง) คือ
<sourceName>\\*\\*\\*fileName,*regex*,*captureGroupNumber*</sourceName>
ยกตัวอย่างเช่น
<sourceName>\\*\\*\\*fileName,A(\\d{12})\\.slcpV1.nc,1</sourceName>
เมื่อ EDTable from Files กําลังอ่านข้อมูลจากแฟ้ม มันจะทําให้แน่ใจว่าแฟ้มดังกล่าวจริง ๆName (ตัวอย่างเช่น A201807041442. scpV1. .nc ) ตรงกับเงื่อนไขการค้นหา ("Regex") และเราได้ปลดเปลื้องสิ่งที่ได้ระบุไว้แล้ว (ในกรณีนี้, อันแรก) กลุ่มจับ (ซึ่งเป็นส่วนหนึ่งของวงเล็บ) ยกตัวอย่างเช่น "2080807041442". (ดูนี่สิ เอกสารของ Regex ถึง บทเรียน regax .) Regex อาจกําหนดเป็นข้อความที่มีคําคมล้อมรอบหรือไม่ใช้ หากกําหนด regex เป็นข้อความที่มีข้อความอ้างถึงรอบ ๆ ก็ต้องเป็นข้อความ ข้อความแบบ Jon- Style (มีอักขระพิเศษหนีออกมาด้วย\ ตัวอักษร) . จํานวนกลุ่มจับมักเป็น 1 (กลุ่มที่จับได้กลุ่มแรก) แต่อาจจะเป็นหมายเลขอะไรก็ได้
พาธName sourceName วินาที
คุณสามารถแยกส่วนของพาธเต็มของแฟ้มได้ ชื่อ (Name=ไดเรกทอรีName) และส่งเสริมให้เป็นคอลัมน์ของข้อมูล รูปแบบสําหรับค่าเทียมนี้< sourceName >) (ชื่อแหล่ง) คือ
<sourceName>\\*\\*\\*pathName,*regex*,*captureGroupNumber*<sourceName>
ยกตัวอย่างเช่น
<sourceName>\\*\\*\\*pathName,/data/myDatasetID/(\\[A-Z0-9\\]\\*)/B(\\d{12}).nc,1</sourceName>
เมื่อ EDTable จากแฟ้มถูกอ่านข้อมูลจากแฟ้ม มันจะทําให้แน่ใจว่าเป็นพาธเต็มName (ตัวอย่างเช่น, / data/myDatataseid/BAY17/B20807041442. .nc . สําหรับการทดสอบนี้ ตัวแบ่งไดเรกทอรีจะเป็น '/' ไม่เคย '\' ') ตรงกับเงื่อนไขการค้นหา ("Regex") และเราได้ปลดเปลื้องสิ่งที่ได้ระบุไว้แล้ว (ในกรณีนี้, อันแรก) กลุ่มจับ (ซึ่งเป็นส่วนหนึ่งของวงเล็บ) เช่น BAY17 (ดูนี่สิ เอกสารของ Regex ถึง บทเรียน regax .) Regex อาจกําหนดเป็นข้อความที่มีคําคมล้อมรอบหรือไม่ใช้ หากกําหนด Regex เป็นข้อความที่มีข้อความอ้างถึงรอบ ๆ ข้อความจะต้อง ข้อความแบบ Jon- Style (มีอักขระพิเศษหนีออกมาด้วย\ ตัวอักษร) . จํานวนกลุ่มจับมักเป็น 1 (กลุ่มที่จับได้กลุ่มแรก) แต่อาจจะเป็นหมายเลขอะไรก็ได้
"0 แฟ้ม" ข้อความผิดพลาด
- ถ้าคุณวิ่ง สร้าง DatatasXml หรือ ถอดรหัส หรือถ้าคุณพยายามที่จะโหลด EDTable จาก ... ชุดข้อมูลแฟ้มใน ERDDAP™ และคุณได้ข้อความผิดพลาด "0 แฟ้ม" ระบุว่า ERDDAP™ พบแฟ้มที่เข้าคู่กับ 0 ในไดเรกทอรี (เมื่อคุณคิดว่า มีแฟ้มที่ตรงกับในไดเรกทอรีนั้น) .
- ตรวจสอบว่าแฟ้มอยู่ในไดเรกทอรีดังกล่าวจริงหรือไม่
- ตรวจสอบการสะกดชื่อไดเรกทอรี
- ตรวจสอบแฟ้มName มันง่ายที่จะทําผิดพลาดกับรีเซกซ์ สําหรับวัตถุประสงค์การทดสอบ ลอง regex. * ซึ่งควรจะตรงกับชื่อแฟ้มทั้งหมด (ดูนี่สิ เอกสารของ Regex ถึง บทเรียน regax .)
- เลือกผู้ใช้ที่กําลังทํางานอยู่ของโปรแกรม (e.g., ผู้ใช้=tommat (?) สําหรับทอมแคท/ ERDDAP ) ได้สิทธิ์ในการอ่านไฟล์เหล่านั้น
- ในระบบปฏิบัติการ (ยกตัวอย่างเช่น เซลีนุกซ์) และขึ้นอยู่กับการตั้งค่าของระบบ ผู้ใช้ที่เรียกใช้งานโปรแกรม จะต้องมีสิทธิ์ 'อ่าน' สําหรับห่วงโซ่ไดเรกทอรีทั้งหมดที่นํามายังไดเรกทอรีที่มีแฟ้มต่าง ๆ
ขนาดมาตรฐาน อะไร
- เมื่อมีคลาสย่อยของ EDTable from Files ที่จะทําการรวมชุดของซอร์สไฟล์, สําหรับตัวแปรที่กําหนด, แฟ้มต้นฉบับทั้งหมด ต้องมีค่าลักษณะเฉพาะที่เหมือนกันสําหรับคุณสมบัติต่าง ๆ: scale\_factor . add\_offset ,_ไม่เซ็น missing\_value , /_Fillvalue และหน่วย). ลองคิดดู ถ้าแฟ้มหนึ่งมีหน่วย windSpied=knots และอีกชุดมีหน่วย windSpeed=m/s, แล้วค่าข้อมูลจากสองแฟ้ม ไม่ควรถูกรวมไว้ในชุดข้อมูลเดียวกัน ดังนั้น เมื่อ EDTables from Files สร้างสรรค์ชุดข้อมูล มันอ่านค่าคุณลักษณะจากแฟ้มหนึ่ง แล้วปฏิเสธทุกไฟล์ที่มีคุณค่าต่างกัน สําหรับคุณสมบัติที่สําคัญเหล่านั้น สําหรับแฟ้มสะสมส่วนใหญ่ นี่ไม่ใช่ปัญหา เพราะคุณลักษณะของตัวแปรทั้งหมด สอดคล้องกัน อย่างไรก็ตาม สําหรับชุดสะสมแฟ้มอื่น ๆ นี้สามารถนําไปสู่ 1%, 10%, 50%, 90% หรือแม้กระทั่ง 99% ของแฟ้มที่ถูกปฏิเสธเป็นแฟ้ม "แย่" นั่นคือปัญหา
EDTable from files มีระบบที่จะจัดการกับปัญหานี้: Standerized อะไร ขนาดมาตรฐาน สิ่งที่การตั้งค่าจะบอก EDTable from Files เพื่อมาตรฐานแฟ้มทันทีที่มันอ่านได้ ก่อนที่ EDTable from File จะดูที่คุณลักษณะ เพื่อดูว่ามันสอดคล้องกันหรือไม่
ด้านพลิกคือ ถ้าชุดข้อมูลไม่มีปัญหานี้ อย่าใช้มาตรฐาน อะไร ขนาดมาตรฐาน อะไร อาจ เป็น อันตราย (พิจารณาด้านล่างนี้) และไร้ความสามารถ ถ้าคุณไม่ต้องการลักษณะมาตรฐาน อะไร ไม่มีความจําเป็นต้องเผชิญ กับความเสี่ยงและความไม่เท่าเทียม ความ ไม่ เสมอ ภาค ที่ ใหญ่ ที่ สุด คือ: เมื่อ มี มาตรฐาน ต่าง ๆ ตัวเลือกต่าง ๆ ที่ใช้โดยชุดข้อมูล หมายถึง แฟ้มต้นฉบับกําลังเก็บข้อมูลในรูปแบบต่าง ๆ กัน (E.g. กับความแตกต่าง scale\_factor ถึง add\_offset ใช้รูปแบบต่าง ๆ กัน) . ดังนั้น สําหรับเงื่อนไขที่กําหนดในการร้องขอของผู้ใช้ไม่มีทางสําหรับ ERDDAP™ เพื่อสร้างข้อจํากัดระดับแหล่งเดียว ที่สามารถนําไปใช้กับแฟ้มต้นทางทั้งหมดได้ ดังนั้น ERDDAP™ สามารถใช้เงื่อนไขที่ได้รับผลกระทบในระดับที่สูงขึ้น ดังนั้น ERDDAP™ ต้องอ่านข้อมูลจากแฟ้มอื่น ๆ ก่อนจะปรับใช้เงื่อนไขระดับความสูงที่สูงขึ้น การร้องขอข้อมูลชุดที่จะใช้มาตรฐาน อะไรที่ใช้เวลานานกว่าจะถูกดําเนินการ
คุณต้องระบุที่จะใช้ระบบนี้
<standardizeWhat>*standardizeWhat*</standardizeWhat>
ใน datasets.xml สําหรับ EDTable จาก... ชุดข้อมูลแฟ้ม กับ<ป้ายข้อมูล)
เดอะ ขนาดมาตรฐาน อะไร กําหนดว่าควรเปลี่ยนค่า EDTable จากแฟ้มใดบ้าง ให้ลองปรับใช้ การเปลี่ยนแปลงคือผลรวมของการรวมกันของ:
- เลิกแพ็คเกจ
นี่เป็นโอเปอเรชันทั่วไปและปลอดภัย เพื่อใช้เป็นคอลัมน์ตัวเลขมาตรฐานในแฟ้ม:
- ถ้า scale\_factor &/ หรือ add\_offset คุณลักษณะ ต่าง ๆ มี อยู่ ใน ขณะ นี้, เอา ออก และ นํา มา ใช้ เพื่อ แยก ค่า ข้อมูล ออก มา.
- แอตทริบิวต์ที่บรรจุแพกเกจ (e.g., real_min, real\_max, actual\_range . data\_min . data\_max ข้อมูล / ค่า valid\_min . valid\_max . valid\_range ) ถ้าในปัจจุบันถ้าตัวแปรที่ถูกบรรจุ และหากค่าคุณลักษณะที่ถูกแพ็ค (นี่มันยาก, แต่น่าเชื่อถือ) .
- หาก_Fullvue และ/or missing\_value มีอยู่, แปลงค่าข้อมูลเหล่านั้นเป็น ERDDAP ค่า "มาตรฐาน" ที่ขาดไป: MAX/ vALUE สําหรับค่าจํานวนเต็ม (e.g., 127 for bittes, 32,767 สําหรับสั้น และ 2,147,483647 สําหรับ Ints 92233720368547807. นาน) และ NN สําหรับคู่และลอย
- เอาส่วนเก่าออก /_ ส่วนท้ายและ/ หรือ missing\_value คุณสมบัติ (ถ้ามี) และแทนที่ด้วยเพียง_Fillvalue= \[ คือ ERDDAP™ ค่าที่ขาดไปมาตรฐาน \] .
- กําหนดเวลาเลขมาตรฐาน หากคอลัมน์ตัวเลขมีหน่วยเวลาแบบ CF (" เวลายกเลิก ตั้งแต่ เวลาพื้นฐาน ", อี.จี., "วันตั้งแต่ 1900-01-01") นี้เปลี่ยนวันที่ ค่าเวลาเข้าใช้ "seconds since 1970-01-01T00:00:00Z" ค่าและการเปลี่ยนแปลง แอตทริบิวต์ที่ระบุว่า หากนี่ถูกเลือก และมีโอกาสที่ตัวแปรนี้ scale\_factor หรือ add\_offset #1 ต้องถูกเลือกด้วย
- ปรับใช้ข้อความ missing\value
หากคอลัมน์สตริงมี / FullValue และ/or missing\_value คุณสมบัตินี้แปลงค่าเหล่านั้นเป็น "" และลบคุณลักษณะดังกล่าวออกไป - ค้นหาตัวเลข missing\value
หากคอลัมน์ตัวเลขไม่มี / fullValue หรือ missing\_value คุณสมบัตินี้พยายามที่จะระบุตัวเลขที่นิยามไม่ได้ missing\_value (e.g., -9999, 999, 1e37f) แล้วแปลงมันเป็นค่า "มาตรฐาน" (MAX\ VALUE สําหรับชนิดจํานวนเต็ม และ NAN สําหรับคู่คู่และลอย) . ตัวเลือกนี้จะมีความเสี่ยง: หากค่าข้อมูลที่มากที่สุดหรือน้อยที่สุดที่ใช้ได้ ดูเหมือนค่าที่ขาดหายไป (e.g., 999) ค่าข้อมูลที่ถูกต้องจะถูกแปลงเป็นค่าที่สูญหาย (อี.) . - เปลี่ยนข้อความ "N/A" เป็น "" สําหรับแต่ละคอลัมน์สตริง ให้แปลงข้อความหลายข้อความ โดยปกติจะใช้ระบุค่าสตริงที่หายไปเป็น "" ปัจจุบัน นี้กําลังมองหา """""""""""""?"""""""""""N/A", NA", "NA", "None", "none", "not ใช้ไม่ได้", "null", "notsign". การค้นหาสตริงเป็น case-in continuation และนําไปใช้หลังจากที่สตริงถูก brook'd "และ"และ"คนอื่น" ไม่ได้อยู่ในรายชื่อเป็นพิเศษ ตัวเลือกนี้จะมีความเสี่ยง: ข้อความที่คุณพิจารณาเป็นค่าที่ถูกต้องอาจจะแปลงเป็น ""
- มาตรฐานเพลง ISO 8601 Times สําหรับแต่ละคอลัมน์สตริง ให้พยายามแปลงเวลาข้อความที่ไม่ใช่ตัวเลข (E.g., "Jan 2, 2018") ถึง ISO 8601 เวลาวันสตริง ("2018-01-02") . บันทึกย่อ ว่าค่าข้อมูลทั้งหมดของคอลัมน์จะต้องใช้รูปแบบเดียวกัน ไม่เช่นนั้นตัวเลือกนี้จะไม่เปลี่ยนแปลงรูปแบบคอลัมน์ที่กําหนด ตัวเลือกนี้จะมีความเสี่ยง: หากมีคอลัมน์ที่มีค่าสตริงที่บังเอิญดูเหมือนวันที่ทั่วไป รูปแบบเวลา, พวกเขาจะแปลงเป็น ISO 8601 เวลาวัน
- กําหนดวันที่ให้กะทัดรัด สําหรับแต่ละคอลัมน์สตริงหรือประเภทของค่าจํานวนเต็ม ให้ลองแปลงค่าเวลาข้อความแบบรวม (E.g. "2080102".) ถึง ISO 8601 เวลาวันสตริง ("2018-01-02") . บันทึกย่อ ว่าค่าข้อมูลทั้งหมดของคอลัมน์จะต้องใช้รูปแบบเดียวกัน ไม่เช่นนั้นตัวเลือกนี้จะไม่เปลี่ยนแปลงรูปแบบคอลัมน์ที่กําหนด ตัวเลือกนี้จะมีความเสี่ยง: หากมีคอลัมน์ที่มีค่าที่ไม่กะทัดรัดวันที่ Times แต่ดูเหมือนเวลารวม, พวกเขาจะแปลงเป็น ISO 8601 Times สตริง
- หน่วยมาตรฐาน เป็นการพยายามกําหนดค่าข้อความของแต่ละตัวแปร ตัวอย่างเช่น "เมตรต่อวินาที" "เมตร/วินาที" "m.s^-1" . "m s-1" Ms-1 ทั้งหมดจะถูกเปลี่ยนเป็น Ms-1 นี่ไม่ได้เปลี่ยนค่าข้อมูล ใช้ได้กับ UDUNITS หน่วยสตริง แต่อาจจะมีปัญหา กับสตริงที่ใช้ไม่ได้หรือซับซ้อน คุณสามารถจัดการกับปัญหาได้โดยระบุค่าต่าง ๆ จากคู่<ขนาด ยูนิต มาตรฐาน) ใน ERDDAP ' \[ แว่นขยาย \] แฟ้ม / webapps/ erdep/WEB-INF/คลาสต่างๆ/gov/noa/pfel/erdep/util/xmlfile กรุณาส่งอีเมล์การเปลี่ยนแปลงใด ๆ ของคุณให้กับคริส John ที่ Noa.gov เพื่อให้พวกเขาสามารถรวมเข้ากับจดหมายปริยาย.xml ตัวเลือกนี้จะมีความเสี่ยง: นี่อาจจะทําให้หน่วยที่ซับซ้อนหรือผิดรูปก็ได้, อย่างไรก็ตาม, คุณสามารถใช้วิธีแก้ปัญหาที่อธิบายไว้ด้านบนกับปัญหาแบบไม่ต่อเนื่องได้
ค่าปริยายของการมาตรฐาน 0 ซึ่งไม่ได้ทําอะไร.
หาก/ เมื่อคุณเปลี่ยนค่ามาตรฐาน ครั้งต่อไปที่ชุดข้อมูลจะถูกโหลดใหม่ ERDDAP™ จะอ่านข้อมูลทั้งหมดสําหรับชุดข้อมูล เพื่อสร้างข้อมูลขนาดจิ๋วใหม่ โดยใช้ข้อมูลแต่ละแฟ้ม ถ้าชุดข้อมูลมีแฟ้มจํานวนมาก นี่จะใช้เวลานานมาก
บันทึกย่อ:
- เรื่องยากก็คือ ขนาดมาตรฐาน การตั้งค่าที่จะใช้สําหรับทุกคอลัมน์ในแฟ้มต้นฉบับ ตัวอย่างเช่น การใช้ #2048 อาจเปลี่ยนคอลัมน์ของ Cattle Times เป็น ISO 8601 สตริงไทม์ส์
- datasets.xml และสร้างชุดสะสม Xml - เป็น เรื่อง ยาก เป็น พิเศษ ที่ จะ ปรับ ตั้ง ให้ ถูก ต้อง ใน datasets.xml เพื่อให้ชุดข้อมูลเป็นไปตามที่คุณต้องการ วิธีที่ดีที่สุด (เหมือนทุกครั้ง) คือ
- ใช้ สร้าง DatatasXml กําหนดค่าของขนาดมาตรฐาน สิ่งที่คุณจะใช้
- ใช้ ถอดรหัส เพื่อให้แน่ใจว่าข้อมูลชุดที่โหลดอย่างถูกต้องและสะท้อนมาตรฐาน สิ่งที่คุณกําหนด
- ทดสอบชุดข้อมูลด้วยมือเมื่อมันอยู่ใน ERDDAP™ เพื่อให้แน่ใจว่าตัวแปรที่ได้รับผลกระทบ จะทํางานตามที่คาดหวัง
- ความเสี่ยง - ตัวเลือกที่ 256 และเหนือขึ้นไปมีความเสี่ยงมากขึ้น, เช่น, มันมีโอกาสมากกว่า ERDDAP™ จะเปลี่ยนแปลงสิ่งที่ไม่ควรเปลี่ยน ตัวอย่างเช่น ตัวเลือก #2048 อาจจะเปลี่ยนตัวแปรที่มีข้อความ ID ของสถานี ที่เกิดขึ้นทั้งหมดเพียงแค่ดู ISO 8601 "pact" วันที่ (E.g., 2080102.) ไปยัง ISO 8601 "extended" วันที่ ("2018-01-02") .
- ช้าลงหลังจากเปลี่ยน ตั้งแต่ค่ามาตรฐาน สิ่งที่เปลี่ยนแปลงค่าข้อมูล ที่ DDTable from files จะใช้กับแต่ละแฟ้มข้อมูล หากคุณเปลี่ยนมาตรฐาน การตั้งค่า, EDTable from files จะทิ้งข้อมูลทั้งหมดที่มีอยู่ในแคชเกี่ยวกับแต่ละแฟ้ม (ซึ่งรวมค่านาทีและค่ามากที่สุดของตัวแปรข้อมูลของแต่ละแฟ้ม) และอ่านข้อมูลใหม่อีกครั้ง หากชุดข้อมูลมีแฟ้มจํานวนมาก, นี้สามารถใช้เวลามาก, ดังนั้นมันจะใช้เวลานานสําหรับชุดข้อมูลที่จะโหลดครั้งแรก ERDDAP™ ใส่กระสุนหลังจากคุณเปลี่ยน
- สมุนไพร - ตัวเลือก # 256 และด้านบนใช้ Heuristics เพื่อเปลี่ยนแปลง ถ้าคุณพบสถานการณ์ ที่พวกเฮอริคตัดสินใจผิด โปรดส่งอีเมลหาคริส จอห์นที่โนอา เพื่อที่เราจะได้พัฒนาการ Heuristics
- ทางเลือก -- ถ้าหนึ่งในมาตรฐานตัวเลือกใด ๆ ไม่ได้แก้ปัญหาสําหรับชุดข้อมูลที่กําหนด, คุณอาจแก้ปัญหาได้ด้วยการ .nc แฟ้ม mI เพื่อขนานแฟ้มข้อมูลทั้งหมดและกําหนดการเปลี่ยนแปลง ของแฟ้มเพื่อให้แฟ้มสอดคล้องกัน งั้นไปบอก EDTable จาก... ข้อมูลชุดแฟ้มที่จะรวม .nc แฟ้ม mI
หรือใช้ NCO เพื่อเปลี่ยนแปลงแฟ้มเพื่อให้แฟ้มสอดคล้องกัน
แยกคอลัมน์สําหรับปี เดือน วันที่ ชั่วโมง นาทีที่สอง
เป็นเรื่องปกติของไฟล์ข้อมูลรอบนอก ที่จะมีคอลัมน์ที่แตกต่างกัน สําหรับปี เดือน วัน ชั่วโมง นาที วินาที ก่อน ERDDAP™ v2.10, คําตอบเดียวคือแก้ไขแฟ้มข้อมูล เพื่อรวมคอลัมน์เหล่านั้นเป็นคอลัมน์เวลารวม ด้วย ERDDAP™ 2.10+, คุณสามารถใช้ [< sourceName >= เงื่อนไข < sourceName >) (ชื่อแหล่ง) เพื่อบอกว่า ERDDAP™ วิธีรวมคอลัมน์ต้นฉบับ เพื่อสร้างคอลัมน์เวลารวม คุณจะได้ไม่ต้องแก้ไขแฟ้มต้นฉบับ
<ข้าม Hader to regix>
- [<)) (สคิปเปอร์สโตเร็ก) --
โอเปอเรชั่น (สําหรับ EDTable from Ascii Files and EDTable from Columanar Ascii files เท่านั้น)
เมื่อ EDTable from Ascii files อ่านแฟ้มข้อมูล มันจะไม่สนใจทุกบรรทัดจนถึง และรวมเส้นตรงที่ตรงกับพจน์ปกตินี้ ค่าปริยายคือ "" ซึ่งไม่ได้ใช้ตัวเลือกนี้ ตัวอย่างก็คือ
<skipHeaderToRegex>\\\*\\\*\\\* END OF HEADER.\\*<skipHeaderToRegex>
ซึ่งจะละเลยเส้นตรงทุกเส้นไปจนถึง และรวมเส้นตรงที่เริ่มจาก "\*\*ตอนจบของหัว
เมื่อคุณใช้แท็กนี้<คอลัมน์Name<Datata Row) เป็นคนแรก ทําเหมือนกับมีการลบส่วนหัวก่อนอ่านแฟ้ม ตัวอย่างเช่น, คุณจะใช้คอลัมน์Namesrow=0 ถ้าชื่อคอลัมน์อยู่แถวหลังจากส่วนหัว
หากคุณต้องการใช้การสร้าง ชุดข้อมูล Xml ด้วยชุดข้อมูลที่ต้องการป้ายนี้:
- สร้างแฟ้มใหม่, ชั่วคราว, ตัวอย่าง โดยคัดลอกแฟ้มที่มีอยู่แล้วและลบส่วนหัว
- ประมวลผลสร้าง ชุดข้อมูล Xml และระบุแฟ้มตัวอย่างดังกล่าว
- เพิ่มเข้าไปเอง<แท็กแท็ก datasets.xml ชิ้น.
- ลบแฟ้มชั่วคราว, แฟ้มตัวอย่าง
- ใช้ชุดข้อมูลใน ERDDAP .
<ข้าม LinesRegex>
โอเปอเรชั่น (สําหรับ EDTable from Ascii Files and EDTable from Columanar Ascii files เท่านั้น)
เมื่อ DDTable from Ascii files อ่านแฟ้มข้อมูล มันจะไม่สนใจทุกบรรทัดที่ตรงกับเงื่อนไขการค้นหานี้ ค่าปริยายคือ "" ซึ่งไม่ได้ใช้ตัวเลือกนี้ ตัวอย่างก็คือ
<skipLinesRegex>#.\\*<skipLinesRegex>
ซึ่งจะไม่สนใจเส้นตรงทั้งหมด ที่เริ่มต้นด้วย "#"
เมื่อคุณใช้แท็กนี้<คอลัมน์Name<Datata Row) ครั้งแรก ทําเหมือนกับว่าบรรทัดที่เข้าคู่กันทั้งหมด ได้ถูกลบออกไปก่อนที่จะอ่านแฟ้ม ตัวอย่างเช่น, คุณจะใช้คอลัมน์ชื่อ srow=0 แม้ว่าจะมีหลายบรรทัดเริ่มต้นด้วย, ตัวอย่างเช่น, "#" ในตอนต้นของแฟ้ม
แก้ไขลวดลายจุดเชื่อมต่อStencils
<dataset type="EDDTableFrom...Files" datasetID\="..." active\="..." >
<nDimensions>...</nDimensions> <!-- This was used prior to ERDDAP™
version 1.30, but is now ignored. -->
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1. For
EDDTableFromFiles subclasses, this uses Java's WatchDirectory system
to notice new/deleted/changed files quickly and efficiently. -->
<standardizeWhat>...</standardizeWhat> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<nThreads>...</nThreads> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<specialMode>mode</specialMode> <-- This rarely-used, OPTIONAL tag
can be used with EDDTableFromThreddsFiles to specify that special,
hard-coded rules should be used to determine which files should
be downloaded from the server. Currently, the only valid mode
is SAMOS which is used with datasets from
https://tds.coaps.fsu.edu/thredds/catalog/samos to download only the
files with the last version number. -->
<sourceUrl>...</sourceUrl> <-- For subclasses like
EDDTableFromHyraxFiles and EDDTableFromThreddsFiles, this is where
you specify the base URL for the files on the remote server.
For subclasses that get data from local files, ERDDAP™ doesn't use
this information to get the data, but does display the
information to users. So I usually use "(local files)". -->
<fileDir>...</fileDir> <-- The directory (absolute) with the data
files. -->
<recursive>true|false</recursive> <!-- 0 or 1. Indicates if
subdirectories of fileDir have data files, too. -->
<pathRegex>...</pathRegex> <!-- 0 or 1. Only directory names which
match the pathRegex (default=".\") will be accepted. -->
<fileNameRegex>...</fileNameRegex> <-- 0 or 1. A regular expression
(tutorial) describing valid data file names, for example,
".\\.nc" for all .nc files. -->
<accessibleViaFiles>true|false(default)</accessibleViaFiles>
<!-- 0 or 1 -->
<metadataFrom>...</metadataFrom> <-- The file to get metadata
from ("first" or "last" (the default) based on file's
lastModifiedTime). -->
<charset>...</charset>
<!-- (For EDDTableFromAsciiFiles and EDDTableFromColumnarAsciiFiles
only) This OPTIONAL tag specifies the character set (case
sensitive!) of the source files, for example, ISO-8859-1
(the default) and UTF-8. -->
<skipHeaderToRegex>...</skipHeaderToRegex>
<skipLinesRegex>...</skipLinesRegex>
<columnNamesRow>...</columnNamesRow> <-- (For EDDTableFromAsciiFiles
only) This specifies the number of the row with the column
names in the files. (The first row of the file is "1".
Default = 1.) If you specify 0, ERDDAP™ will not look for
column names and will assign names: Column#1, Column#2, ... -->
<firstDataRow>...</firstDataRow>
<-- (For EDDTableFromAsciiFiles and EDDTableFromColumnarAsciiFiles
only) This specifies the number of the first row with data in the
files. (The first row of the file is "1". Default = 2.) -->
<dimensionsCSV>...</dimensionsCSV> <-- (For EDDTableFromNcFiles
and EDDTableFromMultidimNcFiles only) This is a comma-separated
list of dimension fullNames. If specified, ERDDAP™ will only read
variables in the source files which use some or all of these
dimensions, plus all of the scalar variables. If a dimension
is in a group, you must specify its fullName,
e.g., "groupName/dimensionName". -->
<-- The next four tags are DEPRECATED. For more information, see
File Name Extracts. -->
<preExtractRegex>...</preExtractRegex>
<postExtractRegex>...</postExtractRegex>
<extractRegex>...</extractRegex>
<columnNameForExtract>...</columnNameForExtract>
<sortedColumnSourceName>...</sortedColumnSourceName>
<-- The sourceName of the numeric column that the data files are
usually already sorted by within each file, for example, "time".
Don't specify this or use an empty string if no variable is
suitable. It is ok if not all files are sorted by this column.
If present, this can greatly speed up some data requests.
For EDDTableFromHyraxFiles, EDDTableFromNcFiles and
EDDTableFromThreddsFiles, this must be the leftmost (first) axis variable.
EDDTableFromMultidimNcFiles ignores this because it has a better
system. -->
<sortFilesBySourceNames>...</sortFilesBySourceNames>
<-- This is a space-separated list of sourceNames
which specifies how the internal list of files should be sorted
(in ascending order), for example "id time".
It is the minimum value of the specified columns in each file
that is used for sorting.
When a data request is filled, data is obtained from the files
in this order. Thus it determines the overall order of the data
in the response. If you specify more than one column name, the
second name is used if there is a tie for the first column; the
third is used if there is a tie for the first and second
columns; ... This is OPTIONAL (the default is
fileDir+fileName order). -->
<sourceNeedsExpandedFP\_EQ>true(default)|false</sourceNeedsExpandedFP\_EQ>
<fileTableInMemory>...</fileTableInMemory> <!-- 0 or 1 (true or
false (the default)) -->
<cacheFromUrl>...</cacheFromUrl> <!-- 0 or 1 -->
<cacheSizeGB>...</cacheSizeGB> <!-- 0 or 1 -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
<-- For EDDTableFromHyraxFiles, EDDTableFromMultidimNcFiles,
EDDTableFromNcFiles, EDDTableFromNccsvFiles, and
EDDTableFromThreddsFiles, the source's axis variables (for
example, time) needn't be first or in any specific order. -->
</dataset>
เพิ่มข้อมูล
เพิ่มข้อมูล ที่สุดแล้วก็คือตัวตัดกระดาษหน้าจอ มันตั้งใจจะจัดการกับแหล่งข้อมูลที่มีบริการเว็บง่าย ๆ สําหรับร้องขอข้อมูล (มักจะอยู่ในรูป HTML บนหน้าเว็บ) ซึ่งสามารถคืนข้อมูลในรูปแบบ ASCII (ตัวอย่างเช่น รูปแบบข้อความแบบจุลภาค หรือแบบคอลัมน์ ASCII มักจะมีข้อมูลอื่นก่อนและหลังข้อมูล) .
EDTable from Ascisiserview เป็นสุดยอดคลาสของ EDTable from Ascisiserviewerward คุณไม่สามารถใช้ EDTable from Ascisiservice ได้โดยตรง แทน ที่ จะ เป็น เช่น นั้น จง ใช้ คลาส ย่อย ของ EDTable from Ascisiserviewerview เพื่อ จัด การ กับ งาน รับ ใช้ ประเภท เฉพาะ:
- EDTable from Ascisiservnos รับข้อมูลจาก NOAA บริการของ NOS ASCII
ปัจจุบัน ไม่ มี การ สนับสนุน ประเภท บริการ อื่น ใด. แต่ ตาม ปกติ แล้ว ค่อน ข้าง ง่าย ที่ จะ สนับสนุน การ บริการ อื่น ๆ หาก เขา ทํา งาน คล้าย ๆ กัน. ติดต่อเราถ้าคุณมีคําขอ
รายละเอียด
ข้อมูลต่อไปนี้ใช้ได้กับคลาสย่อยทั้งหมดของ EDTable from Ascisiserview.
- ที่ปรึกษา-- ERDDAP™ การร้องขอข้อมูลรอบนอก สามารถใส่เงื่อนไขในตัวแปรใด ๆ การบริการหลักอาจเกิดหรืออาจจะไม่อนุญาตให้มีข้อจํากัดกับทุกตัวแปร ตัว อย่าง เช่น บริการ หลาย แห่ง มี แต่ ข้อ จํากัด ใน เรื่อง ชื่อ สถานี, ละติจูด, ลองจิจูด, และ เวลา. ดังนั้นเมื่อกลุ่มย่อยของ EDTable from Ascisiserview ได้รับการร้องขอสําหรับสับเซตของชุดข้อมูล มันจะผ่านเงื่อนไขที่เป็นไปได้มากที่สุดกับบริการข้อมูล source
- ช่วงที่ใช้ได้ -- ต่างจากประเภทชุดข้อมูลอื่น ๆ, EDTable from Ascisiserview ปกติจะไม่ทราบช่วงของข้อมูลในแต่ละตัวแปร, ดังนั้นมันจะไม่สามารถปฏิเสธการร้องขอข้อมูลอย่างรวดเร็ว นอกช่วงที่ถูกต้อง
- จัดเรียงข้อความ ASCII เมื่อ EDTable from Ascisiserview ได้รับการตอบสนองจากสํานักงานข้อความ ASCII มันต้องตรวจสอบว่า การตอบสนองมีรูปแบบและข้อมูลตามที่คาดหวัง และจากนั้นก็สกัดเอาข้อมูลออกมา คุณสามารถกําหนดรูปแบบได้โดยการใช้ป้ายกํากับพิเศษต่าง ๆ ในส่วนย่อยของ XML สําหรับชุดข้อมูลต่อไปนี้:
- <ผ่าน<ป้ายกํากับก่อน Datata10> -- คุณสามารถกําหนดชุดของข้อความได้ (มากเท่าที่คุณต้องการ ถึง 10) EDTable from Ascisiserview ต้องมองหาในส่วนหัวของข้อความ ASCII ที่ส่งกลับมาโดยบริการด้วย<ผ่าน<ก่อน Datata10>. ตัวอย่างเช่น, มันมีประโยชน์ในการทดสอบว่า การตอบ มีตัวแปรตามที่คาดหวังด้วยหน่วยตามที่คาดหวัง ป้ายกํากับสุดท้ายก่อนหน้า Data ที่คุณระบุ ระบุว่าข้อความอะไรเกิดขึ้น ก่อนที่จะเริ่มข้อมูล
- <หลังดาต้า -- นี่ กําหนด ข้อ ความ ที่ EDTable from Ascisiserview จะมองหาในข้อความ ASCII ที่ส่งกลับมาโดยบริการที่ลงนามในตอนจบของข้อมูล
- <No Datata) -- หาก EDTable from Ascisiserview พบข้อความนี้ในข้อความ ASCII ที่ส่งกลับมาโดยบริการ ก็สรุปได้ว่าไม่มีข้อมูลที่ตรงกับคําขอ
โปรแกรม DDTable from Ascisiservice backage XML
<dataset type="EDDTableFromAsciiService..." datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<sourceUrl>...</sourceUrl>
<beforeData1>...<beforeData1> <!-- 0 or 1 -->
...
<beforeData10>...<beforeData10> <!-- 0 or 1 -->
<afterData>...<afterData> <!-- 0 or 1 -->
<noData>...<noData> <!-- 0 or 1 -->
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<dataVariable>...</dataVariable> <!-- 1 or more -->
</dataset>
EDTable from Ascisiservnos
EDTable from Ascisiservnos ทําให้ DDTable ข้อมูลชุดจากบริการข้อมูลข้อความ ASCII นําเสนอโดย NOAA ' งาน รับ ใช้ ทาง มหาสมุทร แห่ง ชาติ (โหนด) . สําหรับข้อมูลว่าคลาสนี้ทํางานอย่างไร และใช้อย่างไร ดูระดับซูเปอร์คลาส เพิ่มข้อมูล . ไม่ น่า จะ มี ใคร อื่น นอก จาก บ๊อบ ไซมอนส์ ที่ จะ ต้อง ใช้ คลาส ชั้น ล่าง นี้.
เนื่องจากข้อมูลภายในบริการ NOS ใช้รูปแบบข้อความแบบคอลัมน์ ASCII ตัวแปรอื่นที่ไม่ใช่ละติจูดและลองติจูด จะต้องมีลักษณะพิเศษที่ระบุว่าตัวอักษรใดของแต่ละบรรทัดข้อมูล
<att name="responseSubstring">17, 25</att>
DDTable from AllDatets
DDTable from AllDatets เป็นชุดข้อมูลระดับสูงที่มีข้อมูลเกี่ยวกับชุดข้อมูลอื่น ๆ ทั้งหมด ซึ่งปัจจุบันถูกโหลดในของคุณ ERDDAP . ไม่เหมือนกับชุดข้อมูลชนิดอื่น, ไม่มีการระบุ allDatasets ชุดข้อมูลใน datasets.xml . ERDDAP™ สร้างชุดข้อมูล EDTable from AllDatatas ชุดข้อมูลอัตโนมัติ (ด้วย datasetID = allDatasets ) . ดังนั้น allDatasets ชุดข้อมูลจะถูกสร้างในแต่ละตัว ERDDAP™ การติดตั้งและจะทํางานแบบเดิมในแต่ละ ERDDAP™ การติดตั้ง
เดอะ allDatasets ชุดข้อมูลเป็นชุดข้อมูลมุมมุม มันมีข้อมูลเป็นแถวสําหรับแต่ละชุดข้อมูล มันมีคอลัมน์ที่มีข้อมูล ข้อมูลแต่ละชุด เช่น datasetID เข้าถึงได้, สถาบัน, ชื่อเพลง, min Longitour, สูงสุด, minalatitative, สูงสุด, mintime, สูงสุดไทม์ เป็นต้น เพราะว่า allDatasets เป็นชุดข้อมูลอักขระแท็บลาร์ คุณสามารถสอบถามได้แบบเดียวกับที่คุณสามารถสอบถามข้อมูลอักขระแท็บลาร์อื่น ๆ ใน ERDDAP™ คุณสามารถกําหนดประเภทแฟ้มสําหรับการตอบสนองได้ นี้จะทําให้ผู้ใช้สามารถค้นหาชุดข้อมูลที่น่าสนใจ ในวิธีที่มีประสิทธิภาพมาก
แฟ้ม DDTA จาก Ascii
แฟ้ม DDTA จาก Ascii รวบรวมข้อมูลจากจุลภาค, แท็บ, กึ่งโคลอน หรือแฟ้มข้อมูล ASCII
- บ่อยครั้ง, แฟ้มจะมีชื่อคอลัมน์ในแถวแรก และข้อมูลเริ่มต้นที่แถวที่สอง (ตรงนี้, แถวแรกของแฟ้มเรียกว่า แถว 1) แต่คุณสามารถใช้<คอลัมน์Name<Datata Row: ในของคุณ datasets.xml แฟ้มที่จะกําหนดหมายเลขแถวที่แตกต่าง
- ERDDAP™ ให้แถวของข้อมูล มีจํานวนข้อมูลต่างกัน ERDDAP™ สมมุติว่าค่าข้อมูลที่หายไป คือคอลัมน์สุดท้ายในแถว ERDDAP™ กําหนดค่าเบี่ยงเบนมาตรฐานสําหรับค่าข้อมูลที่หายไป (เพิ่ม v1.6)
- ไฟล์ ASCII ใช้งานได้ง่าย แต่ไม่ได้เป็นวิธีที่มีประสิทธิภาพมากที่สุดในการเก็บ/แก้ไขข้อมูล เพื่อให้มีประสิทธิภาพมากขึ้น บันทึกแฟ้มเป็น NetCDF v3 .nc แฟ้ม (กับหนึ่งมิติ, "row", แบ่งปันโดยตัวแปรทั้งหมด) แทน คุณทําได้ ใช้ ERDDAP™ เพื่อสร้างแฟ้มใหม่ .
- ดูคลาสนี้สิ เลือกแฟ้ม สําหรับข้อมูลการทํางานของคลาสนี้ และวิธีการใช้มัน
- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล เนื่อง จาก ไม่ มี ข้อมูล กํากับ ใน แฟ้ม ASCII ทั้ง หมด คุณ จึง จําเป็น ต้อง แก้ไข ผล ของ การ สร้าง DatatasetsXml เสมอ.
- (คําเตือน: เมื่อใด) ERDDAP™ อ่านแฟ้มข้อมูล ASCII หากพบว่ามีข้อผิดพลาดบนบรรทัดที่กําหนด (เช่น, จํานวนรายการไม่ถูกต้อง) มันบันทึกข้อความเตือน ("WARINNG: บรรทัดที่ไม่ดี (วินาที) ของข้อมูล"... กับรายการของบรรทัดที่ไม่ดีในบรรทัดหลัง) ถึง แฟ้มปูมบันทึก.txt แล้วก็อ่านข้อมูลที่เหลือต่อไป ดัง นั้น คุณ ต้อง ดู แล เป็น ระยะ ๆ (หรือเขียนสคริปต์เพื่อทําเช่นนั้น) สําหรับข้อความในบันทึก txt เพื่อให้คุณสามารถแก้ปัญหาในแฟ้มข้อมูลได้ ERDDAP™ มีการตั้งค่าแบบนี้เพื่อให้ผู้ใช้สามารถอ่านข้อมูลทั้งหมดที่ถูกต้องได้ แม้ว่าบางบรรทัดของแฟ้มจะมีข้อบกพร่องก็ตาม
จาก แฟ้ม AwsXml
จาก แฟ้ม AwsXml รวมข้อมูลจากสถานีสภาพอากาศอัตโนมัติ (ขนาด AWS) แฟ้มข้อมูล XML โดยใช้โปรแกรม sperBug ส่วนที่เหลือของ XML แบบ XML (ซึ่งไม่แอคทีฟอีกต่อไป) .
- ชนิดของแฟ้มนี้เรียบง่าย แต่เป็นวิธีที่ไม่มีประสิทธิภาพในการเก็บข้อมูล เนื่องจากแต่ละแฟ้ม ดูเหมือนจะมีข้อสังเกตจากจุดเดียว อาจมีไฟล์จํานวนมาก ถ้า คุณ ต้องการ ปรับ ปรุง ความ สามารถ ให้ ดี ขึ้น ขอ ให้ พิจารณา กลุ่ม การ สังเกต ที่ เพิ่ม ขึ้น (มีค่าแค่อาทิตย์เดียว) ใน NetCDF v3 .nc แฟ้ม (ดีที่สุด: .nc แฟ้มที่มี CF แว่นขยาย (แบบ DSG) ฟอร์แมตอาร์เรย์แบบต่อเนื่อง ) และใช้ แฟ้ม DDTable จาก Multiidnc (หรือ แฟ้ม DDTable จาก NCF ) เพื่อให้บริการข้อมูล คุณทําได้ ใช้ ERDDAP™ เพื่อสร้างแฟ้มใหม่ .
- ดูคลาสนี้สิ เลือกแฟ้ม สําหรับข้อมูลการทํางานของคลาสนี้ และวิธีการใช้มัน
แฟ้ม DDTable from Columnar Ascii
แฟ้ม DDTable from Columnar Ascii รวบรวมข้อมูลจากแฟ้มข้อมูลอักขระ ASCII ด้วยคอลัมน์ที่คงที่
-
บ่อยครั้ง, แฟ้มจะมีชื่อคอลัมน์ในแถวแรก และข้อมูลเริ่มต้นที่แถวที่สอง บรรทัดแรก/row ในแฟ้มเรียกว่าแถวที่ #1 แต่คุณสามารถใช้<คอลัมน์Name<Datata Row: ในของคุณ datasets.xml แฟ้มที่จะกําหนดหมายเลขแถวที่แตกต่าง
-
เดอะ< addAttributes > สําหรับแต่ละคน< dataVariable > สําหรับชุดข้อมูลเหล่านี้ จะต้องรวมคุณสมบัติพิเศษสองอย่างนี้ไว้ด้วย:
- <Att name="เริ่มColumn"> จํานวนเต็ม <ATT> -- กําหนดคอลัมน์ตัวละครในแต่ละบรรทัดที่เป็นจุดเริ่มต้นของตัวแปรข้อมูลนี้
- <at name="หยุดโคลัมน์"> จํานวนเต็ม <ATT> -- กําหนดคอลัมน์ตัวละครในแต่ละบรรทัดที่เป็น 1 หลังจากจบตัวแปรข้อมูลนี้
คอลัมน์ตัวละครแรกเรียกว่า คอลัมน์ #0 ตัวอย่างเช่น สําหรับแฟ้มที่มี ค่าของอุณหภูมิ autting:
0 1 2 <-- character column number 10's digit
0123456789012345678901234567 <-- character column number 1's digit
time temp
2014-12-01T12:00:00Z12.3
2014-12-02T12:00:00Z13.6
2014-12-03T12:00:00Z11.0
ตัวแปรเวลา
<att name="startColumn">0<att>
<att name="stopColumn">20<att>
และตัวแปรเวลา
<att name="startColumn">20<att>
<att name="stopColumn">24<att>
คุณสมบัติเหล่านี้กําหนดสําหรับตัวแปรทั้งหมดยกเว้น ค่าคงที่ ถึง ชื่อแฟ้ม ตัวแปร
- ไฟล์ ASCII ใช้งานได้ง่าย แต่ไม่ได้เป็นวิธีที่มีประสิทธิภาพในการเก็บ/retrieve ข้อมูล เพื่อให้มีประสิทธิภาพมากขึ้น บันทึกแฟ้มเป็น NetCDF v3 .nc แฟ้ม (กับหนึ่งมิติ, "row", แบ่งปันโดยตัวแปรทั้งหมด) แทน คุณทําได้ ใช้ ERDDAP™ เพื่อสร้างแฟ้มใหม่ .
- ดูคลาสนี้สิ เลือกแฟ้ม สําหรับข้อมูลการทํางานของคลาสนี้ และวิธีการใช้มัน
- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล เนื่อง จาก ยาก ที่ จะ กําหนด ตําแหน่ง เริ่ม และ จบ สําหรับ แต่ ละ คอลัมน์ ข้อมูล และ การ ขาด ข้อมูล กํากับ ทั้ง หมด ใน แฟ้ม ASCII คุณ จึง จําเป็น ต้อง แก้ไข ผล จาก การ สร้าง เครื่อง XM.
เพิ่มข้อมูล
แก้ไขโครงการหลัก... จาก htppget จะแตกต่างจากชุดข้อมูลชนิดอื่นทั้งหมด ERDDAP™ เนื่องจากมันมีระบบที่สามารถเพิ่มข้อมูล, แก้ไขข้อมูล, หรือลบข้อมูลจากชุดข้อมูล โดยปกติ HTTP GET หรือ POST ต้องการจากโปรแกรมคอมพิวเตอร์, สคริปต์หรือเบราว์เซอร์ ชุดข้อมูลสามารถสอบถามได้โดยผู้ใช้ในวิธีเดียวกันกับชุดข้อมูล EDTable อื่น ๆ ทั้งหมดสามารถสอบถามได้ ERDDAP . ดูรายละเอียดของชนชั้นนี้ เลือกแฟ้ม เพื่ออ่านเกี่ยวกับคุณสมบัติ ที่สืบทอดมาจากซูเปอร์คลาส
มี การ พรรณนา ลักษณะ พิเศษ ของ EDTable fromhttpget ไว้ ข้าง ล่าง. คุณ จําเป็น ต้อง อ่าน ทุก ตอน ใน ตอน แรก ๆ นี้ แล้ว เข้าใจ เรื่อง นั้น; มิ ฉะนั้น คุณ อาจ มี ความ คาด หมาย ที่ ไม่ ตรง กับ ความ เป็น จริง หรือ ทํา ให้ ตัว เอง ตก เข้า สู่ ปัญหา ที่ แก้ ยาก.
การใช้ตัวเอียง
ระบบนี้กําหนดให้:
- แท็บ (ในซิตู) ข้อมูล, ไม่ใช่ข้อมูลปลอม
- ข้อมูลเวลาจริง - เป้าหมายคือการอนุญาตให้ผู้เขียน (เช่น เซ็นเซอร์ สคริปต์ QC อัตโนมัติ หรือมนุษย์โดยเฉพาะ) เพื่อเปลี่ยนข้อมูลชุดข้อมูล (ผ่าน คําสั่ง .insert หรือ .delete ) และทําให้การเปลี่ยนแปลงที่เข้าถึงได้ ERDDAP™ ผู้ใช้ทั้งหมดในเวลาน้อยกว่า 1 วินาที และอาจจะเร็วกว่ามาก ส่วนใหญ่แล้ว 1 วินาทีคือเวลาของเครือข่าย ERDDAP™ สามารถประมวลผลการร้องขอภายใน 1 มิลลิวินาที และข้อมูลสามารถเข้าใช้ผู้ใช้ได้ทันที นี่คือ เร็ว . หนัก และ ระบบที่เชื่อถือได้ .
- เกือบทุกความถี่ของข้อมูล ระบบนี้สามารถยอมรับข้อมูลได้หลายครั้ง (E.g. ทุกๆวัน) ผ่านข้อมูลบ่อย ๆ (เช่น ข้อมูล Hz 100) . ถ้าคุณตั้งค่าระบบให้พอดี มันสามารถจัดการข้อมูลความถี่ที่สูงกว่าได้ (บางทีข้อมูล KHz อาจจะ 10 ถ้าคุณใช้สุดขั้ว) .
- ข้อมูลจากเซ็นเซอร์หนึ่งตัว หรือเครื่องตรวจจับที่คล้ายกัน
- รุ่น / วิทยาศาสตร์ ที่ สลับ ซับ ซ้อน / DOI เอส สถานการณ์ที่คุณจําเป็นต้องทําการเปลี่ยนแปลงข้อมูล (เช่น เปลี่ยนแฟล็กควบคุมคุณภาพ) ทราบว่าผู้เขียนทําการเปลี่ยนแปลงแต่ละครั้ง รู้เวลาของเวลาที่ผู้เขียนทําการเปลี่ยนแปลง และ (เมื่อร้องขอ) สามารถดูข้อมูลต้นฉบับได้ ก่อนที่จะมีการเปลี่ยนแปลง ดังนั้น ชุดข้อมูลเหล่านี้จึงเหมาะสม DOI วินาที . เพราะพวกเขาได้พบกับ DOI ความต้องการที่ชุดข้อมูลจะไม่ถูกเปลี่ยนแปลง ยกเว้นโดยตราสาร โดยทั่วไปแล้ว ข้อมูลเวลาจริง ไม่เหมาะกับ DOI s เพราะข้อมูลมักเปลี่ยนแปลงแบบย้อนกลับ (e.g. สําหรับ QA/QC วัตถุประสงค์) .
เมื่อข้อมูลอยู่ใน DDTable fromhttpget language set ผู้ใช้คนใดคนหนึ่งสามารถร้องขอข้อมูลในวิธีเดียวกับที่เขาร้องขอข้อมูลจากชุดข้อมูล EDTable อื่น ๆ
การประมวลผล: ระวัง
เนื่องจากระบบนี้ใหม่ และเนื่องจากข้อมูลด้านสิ่งแวดล้อมที่สูญหาย ไม่สามารถนํามาแก้ไขได้ คุณควรจะปฏิบัติต่อ EDTable fromhtpped เป็นการทดลอง หากคุณกําลังเปลี่ยนจากระบบอื่น กรุณาเรียกใช้ระบบเก่า และระบบใหม่ในคู่ขนาน จนกว่าคุณจะมั่นใจว่าระบบใหม่ ทํางานได้ดี (สัปดาห์หรือเดือน ไม่เพียงชั่วโมงหรือวัน) . ในทุกกรณี กรุณาตรวจสอบให้แน่ใจว่าระบบของคุณแยกเก็บแฟ้ม .insert และ .delete URL ที่ถูกส่งไปยัง DDTable fromhtpetetet (แม้ว่าแค่ในอาปาเช่หรือทอมแคทล็อก) อย่างน้อยก็สักพัก และในทุกกรณี ทําให้แน่ใจว่าไฟล์ข้อมูล ที่สร้างขึ้นโดย EDTable fromhtppget ของคุณ จะถูกสํารองเข้ากับอุปกรณ์เก็บข้อมูลภายนอกเป็นประจํา (สังเกตว่า rsync ...สามารถสํารองไฟล์ข้อมูลที่สร้างขึ้นโดย EDTable fromHttpget อย่างมีประสิทธิภาพ)
Insert and .dete
สําหรับชุดข้อมูลใดๆ ERDDAP™ เมื่อคุณส่งคําขอไป ERDDAP™ สําหรับสับเซตของข้อมูลในชุดข้อมูล, คุณกําหนดประเภทแฟ้มที่คุณต้องการสําหรับการตอบสนอง, เช่น,.csv, .htmlTable . .nc . .json . แก้ไขลวดลายจุดเชื่อมต่อStencils รับขยายระบบนี้ เพื่อรองรับ "ชนิดแฟ้ม" อีกสองประเภทที่สามารถแทรกได้ (หรือเปลี่ยน) หรือลบข้อมูลในชุดข้อมูล:
- อินเซอร์ท
- คําร้องขอนี้จัดรูปแบบเป็นรูปแบบ HTML แบบมาตรฐาน โดยมีคีย์ = คู่ค่า โดยแยกด้วย '&' ยกตัวอย่างเช่น
https://some.erddap.url/erddap/tabledap/myDataset**.insert**?stationID=46088&time=2016-03-30T12:37:55Z&latitude=10.1&longitude=-150.1&airTemp=17.23&waterTemp=12.3&author=JohnSmith\_someKey1
บอก ERDDAP™ เพื่อเพิ่มหรือเปลี่ยนแปลงข้อมูล stationID =46088 สําหรับเวลาที่กําหนดไว้ - ผู้เขียนการเปลี่ยนแปลงนี้ คือ จอห์น สมิท และกุญแจคือ บางเคย์ 1
- ที่อยู่ URL ต้องรวมค่าที่ถูกต้องด้วย (ไม่ขาดค่า) สําหรับทั้งหมด http รับ การ ปรับ ตั้ง ใหม่
- ถ้าค่าของ http ได้ รับ การ ตอบ รับ ตัวแปรในการร้องขอ (อี.จี. stationID & เวลา) ตรงกับค่าในแถวที่มีอยู่แล้วในชุดข้อมูล ค่าใหม่จะเขียนทับค่าเก่าได้อย่างมีประสิทธิภาพ (แม้ว่าค่าเก่าจะยังเข้าถึงได้ หากผู้ใช้ร้องขอข้อมูลจากข้อมูลก่อนหน้า รุ่น ของชุดข้อมูล) .
- ที่อยู่ URL ที่ไม่รวมเวลา= ( ERDDAP™ สร้างค่านั้น) หรือคําสั่ง= (ที่ระบุโดย .Isert (ซึ่งคือคําสั่ง=0) หรือ .delete (ซึ่งคือคําสั่ง= 1) ) .
- ถ้าที่อยู่ URL ไม่ระบุค่าสําหรับคอลัมน์อื่น ๆ ที่อยู่ในชุดข้อมูล ก็ถือว่าเป็นค่าท้องถิ่นที่สูญหาย (MAX\ VALUE สําหรับข้อมูลชนิดจํานวนเต็ม, NN สําหรับลอยและคู่ และ "" สําหรับสตริง) .
- . เดเลต
- คําร้องขอนี้จัดรูปแบบเป็นรูปแบบ HTML แบบมาตรฐาน โดยมีคีย์ = คู่ค่า โดยแยกด้วย '&' ยกตัวอย่างเช่น
https://some.erddap.url/erddap/tabledap/myDataset**.delete**?stationID=46088&time=2016-03-30T12:37:55Z&author=JohnSmith\_someKey1
บอก ERDDAP™ เพื่อลบข้อมูล stationID =46088 ณ เวลาที่กําหนดไว้ - ผู้เขียนการเปลี่ยนแปลงนี้ คือ จอห์น สมิท และกุญแจคือ บางเคย์ 1
- ที่อยู่ URL ต้องกําหนดที่อยู่ URL http รับ การ ปรับ ตั้ง ใหม่ ในคําขอ (อี.จี. stationID & เวลา) . หากค่าเหล่านั้นตรงกับค่าในแถวอยู่แล้วในชุดข้อมูล (ซึ่งพวกเขาก็ปรารถนา) ค่าเก่าถูกลบออกไป (แม้ว่าค่าเก่าจะยังเข้าถึงได้ หากผู้ใช้ร้องขอข้อมูลจากข้อมูลก่อนหน้า รุ่น ของชุดข้อมูล) .
- ไม่จําเป็นที่จะต้องระบุค่าสําหรับที่ไม่ใช่ HttpreadVariables อื่น ๆ นอกจากผู้เขียน ซึ่งจําเป็นในการยืนยันการร้องขอ
- คําร้องขอนี้จัดรูปแบบเป็นรูปแบบ HTML แบบมาตรฐาน โดยมีคีย์ = คู่ค่า โดยแยกด้วย '&' ยกตัวอย่างเช่น
https://some.erddap.url/erddap/tabledap/myDataset**.delete**?stationID=46088&time=2016-03-30T12:37:55Z&author=JohnSmith\_someKey1
- คําร้องขอนี้จัดรูปแบบเป็นรูปแบบ HTML แบบมาตรฐาน โดยมีคีย์ = คู่ค่า โดยแยกด้วย '&' ยกตัวอย่างเช่น
https://some.erddap.url/erddap/tabledap/myDataset**.insert**?stationID=46088&time=2016-03-30T12:37:55Z&latitude=10.1&longitude=-150.1&airTemp=17.23&waterTemp=12.3&author=JohnSmith\_someKey1
รายละเอียด:
- .insert และ .delete ร้องขอมีการจัดเรียงเป็นรูปแบบ HTML มาตรฐาน โดยมีคีย์ = คู่ค่า โดยแยกด้วย '&' ค่าต้องเป็น เข้ารหัสไว้% . ดังนั้น คุณต้องเข้ารหัสอักขระพิเศษลงในรูปแบบ% HH โดย HH คือค่าเลขฐาน 2 โดยทั่วไปแล้ว คุณต้องแปลงตัวอักษรบางตัวในวรรคตอน: %s เป็น %25, & เป็น %26, "เป็น% 22,<ใน% 3C, =ลงใน% 3D, > ใน% 3E, + ใน% 2B, | เป็น % 7C, \[ เป็น % 5B, \] เป็น % 5 มิติ, ช่องว่างเป็น % 20, และแปลงตัวอักษรทั้งหมดด้านบน #127 เป็นรูปแบบ UTF-8 ของพวกเขา จากนั้นเปอร์เซ็นต์การเข้ารหัสแต่ละ byte ของรูป UTF-8 เป็นรูปแบบ% HH (ถามโปรแกรมเมอร์เพื่อขอความช่วยเหลือ) .
- .insert และ .dete ร้องขอจะต้องรวม http รับ การ ปรับ ตั้ง ใหม่ อี.จี. stationID และเวลา สําหรับการร้องขอแบบ .nsert, ตัวแปรที่ไม่ได้ระบุไว้ในการร้องขอ สันนิษฐานว่าเป็นค่าที่ขาดหายไป (MAX\ VALUE สําหรับตัวแปรจํานวนเต็ม, NN สําหรับตัวแปรลอยและคู่, และข้อความว่างสําหรับตัวแปรสตริง) . สําหรับการร้องขอ.delete, ค่าสําหรับที่ไม่ใช่ htttpget requare ตัวแปร (นอกจากผู้เขียน ซึ่งจําเป็น) ถูกละเลย
- สืบค้นเมื่อ: ผู้เขียน/ คีย์ เป็นพารามิเตอร์สุดท้ายในการร้องขอ การขอนี่เพื่อยืนยันครั้งสุดท้าย ว่าคําขอทั้งหมดได้รับการตอบรับ ERDDAP . ผู้เขียนเท่านั้น (ไม่ใช่กุญแจ) จะถูกเก็บไว้ในแฟ้มข้อมูล คุณต้องกําหนดรายการที่อนุญาต ผู้เขียน/ คีย์ 'ผ่านคุณสมบัติระดับโลก' http GetKeys
- ตัวแปร .nset และ .dete พารามิเตอร์ อาจจะเป็นสเกลาร์ (เดี่ยว) ค่าหรืออาร์เรย์ของความยาวใด ๆ ในรูปแบบ \[ ค่า 1, ค่า 2, ค่า 3,..., ค่าN \] . สําหรับการร้องขอที่กําหนด ตัวแปรทั้งหมดที่มีอาร์เรย์ จะต้องมีอาร์เรย์ที่มีจํานวนเท่ากัน (อื่น ๆ มีข้อผิดพลาด) . หากคําขอมีค่าสเกลาร์และลําดับ, ค่าสเกลาร์จะถูกทําซ้ําเป็นอาร์เรย์ที่มีความยาวเท่ากับอาร์เรย์ที่ระบุ, เช่น stationID =46088 อาจถือว่าเป็น & stationID = \[ 46088,46088,46088 \] . อาร์เรย์คือกุญแจสําคัญ ปรับความดังสูง . ถ้าไม่มีอาร์เรย์ มันจะท้าทายกับ .insert หรือ .delete มากกว่า 8 แถวของข้อมูล จากผู้เขียนระยะไกล (เพราะเหนือหัวของเครือข่าย) . ด้วยอาร์เรย์ มันจะง่ายต่อ .insert หรือ .delete มากกว่า 1000 แถวของข้อมูลต่อวินาที จากเซ็นเซอร์ระยะไกล
- สืบค้นและยอมรับ (ไม่มีข้อความผิดพลาด) จํานวนจุดลอยเมื่อคาดหวังจํานวนเต็ม ในกรณีนี้, ชุดข้อมูลปัดค่าเป็นจํานวนเต็ม.
- สืบค้นและยอมรับ (ไม่มีข้อความผิดพลาด) จํานวนเต็มและจุดลอย ซึ่งอยู่นอกระยะของชนิดของข้อมูลตัวแปร ในกรณีเหล่านี้ ชุดข้อมูลเก็บค่าเป็น ERDDAP ค่าที่หายไปจากข้อมูลประเภทนั้น (MAX\ VALUE สําหรับประเภทของจํานวนเต็มและ NN สําหรับลอยและคู่) .
ปฏิกิริยา
หากที่อยู่ URL .insert หรือ .delete ประสบความสําเร็จ รหัสการตอบสนอง HTTP จะเป็น 200 (โอเค) และคําตอบจะเป็นข้อความ .json วัตถุ, อี.จี.
{
"status":"success",
"nRowsReceived":1,
"stringTimestamp":"2018-11-05T22:12:19.517Z",
"numericTimestamp":1.541455939517+E9
}
หมายเหตุที่นาฬิกาเวลามีความแม่นยํามิลลิวินาที
หากที่อยู่ URL .insert หรือ .delete ล้มเหลว คุณจะได้รับรหัสการตอบสนอง HTTP นอกจาก 200 (โอเค) , อี.จี., ผิดพลาด 403 ถูกห้ามให้คุณส่งผู้เขียนไม่ถูกต้อง\_ค่าของคีย์ ERDDAP™ ส่งรหัสตอบโต้ HTTP (ไม่, เอ็ก, .json มีข้อผิดพลาดในฟอร์แมต) เพราะนั่นคือสิ่งที่ทําในอินเทอร์เน็ต และเพราะความผิดพลาดสามารถเกิดขึ้นที่ไหนก็ได้ในระบบ (เช่น ในเครือข่าย ซึ่งจะคืนค่ากลับมาเป็น HTTP) . ถ้าข้อผิดพลาดมาจาก ERDDAP™ การตอบสนองอาจจะรวมบางข้อความ (ไม่ .json ) กับคําอธิบายเพิ่มเติมของสิ่งผิดพลาด แต่รหัสตอบโต้ HTTP (200 = โอเค อย่างอื่นเป็นปัญหา) เป็นวิธีที่เหมาะสมที่จะตรวจสอบว่า .insert หรือ.delete สําเร็จ หากการตรวจสอบรหัสการตอบสนอง HTTP ไม่สามารถใช้งานได้หรือไม่สะดวก ให้ค้นหา "status": "success" ในข้อความตอบรับ ซึ่งควรจะเป็นตัวบ่งชี้ถึงความสําเร็จที่เชื่อถือได้
แฟ้มปูมบันทึก
เมื่อ EDTable fromhtppget รับคําสั่ง .insert และ.delete มันจะทําการเพิ่มข้อมูลไปยังแฟ้มที่เกี่ยวข้องในชุดแฟ้มปูมบันทึก ซึ่งแต่ละตัวคือตารางที่ถูกเก็บไว้ใน เจ สัน แฟ้มข้อความ CSV . เมื่อผู้ใช้ร้องขอข้อมูล ERDDAP™ อ่านแฟ้มปูมบันทึกที่เกี่ยวข้องอย่างรวดเร็ว นําการเปลี่ยนแปลงไปใช้กับชุดข้อมูลลําดับที่แฟ้มถูกสร้างมา แล้วกรองคําขอผ่านเงื่อนไขของผู้ใช้ เช่น อื่น ๆ ERDDAP™ ขอข้อมูล พาร์ทิชันของข้อมูลไปไว้ในแฟ้มปูมบันทึกต่าง ๆ, การเก็บข้อมูลต่าง ๆ (เช่น เวลาประทับของคําสั่ง และคําสั่งเป็น .insert หรือ .delete) และด้านต่าง ๆ ของการตั้งค่าชุดข้อมูล ทั้งหมดทําให้มันเป็นไปได้สําหรับ ERDDAP เพื่อเก็บข้อมูลและดึงข้อมูลจากชุดข้อมูลนี้ อย่างรวดเร็วและมีประสิทธิภาพมาก
ความปลอดภัยและผู้เขียน
คําสั่ง .insert และ.delete จะต้องรวม & ผู้เขียน= ผู้เขียน/ คีย์ เป็นพารามิเตอร์ตัวสุดท้าย ที่ผู้เขียน/ key ถูกคอมไพล์มาจากผู้เขียน (คุณเลือก: ชื่อ, ชื่อย่อ, นามแฝง, ตัวเลข) อุปทาน และกุญแจลับ เดอะ ERDDAP™ ผู้ดูแลระบบจะทํางานร่วมกับผู้เขียน เพื่อสร้างรายการของผู้เขียน/ _key ที่ใช้ได้ ซึ่งสามารถเปลี่ยนแปลงได้ทุกเวลา เมื่อ EDTable fromhtpppget ได้รับคําสั่ง .insert หรือ .delete มันจะทําให้แน่ใจว่า ผู้เขียน - key เป็นพารามิเตอร์สุดท้ายและใช้ได้ เนื่องจากเป็นพารามิเตอร์สุดท้าย, มันบ่งชี้ว่าบรรทัดคําสั่งทั้งหมดถึง ERDDAP™ และไม่ได้ถูกตัดสิทธิ์ กุญแจลับทําให้แน่ใจว่า เฉพาะผู้เขียนที่ระบุเท่านั้น ที่สามารถแทรกหรือลบข้อมูลในชุดข้อมูลได้ ERDDAP™ แล้วแยกหมายเลขผู้เขียนออกมา และบันทึกมันไว้ในตัวแปรของผู้เขียน เพื่อที่ทุกคนจะได้เห็นว่าใครเป็นผู้รับผิดชอบ ต่อการเปลี่ยนแปลงข้อมูลที่ได้รับมา คําสั่ง .insert และ.delete เท่านั้นที่สามารถทําผ่าน https: (ปลอดภัย) ERDDAP™ ที่อยู่ URL นี่ ทํา ให้ แน่ ใจ ว่า ข้อมูล ที่ ได้ รับ การ ถ่ายทอด ถูก เก็บ ไว้ เป็น ความ ลับ ระหว่าง การ ส่ง.
นาฬิกา
เป็นส่วนหนึ่งของระบบปูมบันทึก EDTable fromhttpage เพิ่มเวลา (เวลาที่ ERDDAP ได้รับการร้องขอ) แต่ละคําสั่งจะบรรจุไว้ในแฟ้มปูมบันทึก เพราะว่า ERDDAP™ สร้างเวลา ไม่ใช่นักเขียน มันไม่สําคัญว่านักเขียนต่างคน จะเปลี่ยนแปลงจากคอมพิวเตอร์ เวลาจะสอดคล้อง บ่งบอกเวลา เมื่อมีการเปลี่ยนแปลงกับชุดข้อมูล
POST ของ HTTP
- "แล้ว HTTP POS ล่ะ"
HTTP [POST](https://en.wikipedia.org/wiki/POST_(HTTP) คือทางเลือกที่ดีกว่า (เทียบกับ HTTP GET ) สําหรับส่งข้อมูลจากไคลเอนต์ ไปยังแม่ข่าย HTTP ถ้าคุณสามารถทําได้ หรือถ้าคุณต้องการที่จะปรับปรุงความปลอดภัยจริง ๆ ใช้ POS แทน GE เพื่อส่งข้อมูลไปยัง ERDDAP . POST มีความปลอดภัยมากขึ้นเพราะ : กับ Get และ https ที่อยู่ URL จะถูกส่งต่อในแนวทางที่ปลอดภัย แต่ที่อยู่ URL ทั้งหมด (รวมพารามิเตอร์ด้วย รวมถึงผู้เขียน / ไ_ม่สําคัญ) จะถูกเขียนไปยังอาปาเช่, ทอมแคท และ ERDDAP™ บันทึกแฟ้ม, ที่ที่บางคนสามารถอ่านได้ ถ้าแฟ้มไม่ได้เข้ารหัสไว้อย่างถูกต้อง ด้วย POST พารามิเตอร์จะถูกส่งต่อในรูปแบบที่ปลอดภัย และไม่เขียนไปยังแฟ้มปูมบันทึก POST เป็นเรื่องยากสําหรับลูกค้าที่จะทํางานกับ และไม่ได้รับการสนับสนุนอย่างกว้างขวางโดยซอฟต์แวร์ของลูกค้า แต่ภาษาโปรแกรมสนับสนุนมัน เนื้อหาที่คุณส่งไปยังชุดข้อมูลผ่านทาง GET หรือ POST จะเหมือนกัน เพียงแค่จัดรูปแบบในรูปแบบอื่น
http ได้ รับ การ ตอบ รับ ตัวแปรของแอททริบิวต์ส่วนรวม
ส่วน สําคัญ อย่าง หนึ่ง ของ สิ่ง ที่ ทํา ให้ ระบบ ทั้ง สิ้น นี้ ดําเนิน งาน คือ ลักษณะ นิสัย ทั่ว โลก ที่ จําเป็น http ได้ รับ การ ตอบ รับ ตัวแปร, ซึ่งเป็นรายการของเครื่องหมายจุลภาค dataVariable ชื่อแหล่งที่ระบุแถวของข้อมูล นี่ควรน้อยที่สุดเท่าที่จะทําได้ และจะรวมตัวแปรเวลาเข้าไปเสมอ ยกตัวอย่างเช่น นี่คือคําแนะนํา http ได้ รับ การ ตอบ รับ ตัวแปรสําหรับแต่ละตัว CF แว่นขยาย (แบบ DSG) (แน่ ละ ชื่อ ID อาจ ต่าง กัน ใน ชุด ข้อมูล ของ คุณ.) .
- สําหรับเวลา stationID เวลา
- สําหรับ Tragioctory: วิถี, เวลา
- สําหรับโพรไฟล์: เวลา (กําหนดเวลาเป็นโพรไฟล์ / _หมายเลข) ลึก
- สําหรับเวลา โพรไฟล์: stationID เวลา (กําหนดเวลาเป็นโพรไฟล์ / _หมายเลข) ลึก
- สําหรับทราเจอรี่ โพรไฟล์: วิถีโคจร, เวลา (กําหนดเวลาเป็นโพรไฟล์ / _หมายเลข) ลึก
การใช้เวลาเป็นตัวอย่าง สั่งการโดยคําสั่ง stationID =46088 และเวลา =2016-06-23T19: 533:00Z (และค่าอื่นสําหรับตัวแปรอื่น) .
- หากไม่มีข้อมูลสําหรับสถานีดังกล่าวและเวลาดังกล่าวแล้ว ลูกเล่นจะถูกเพิ่มข้อมูลลงในชุดข้อมูล
- หากมีข้อมูลสําหรับสถานีดังกล่าวและเวลาดังกล่าวแล้ว ลูกเล่นจะถูกแทนที่แถวของข้อมูลที่มีอยู่ ด้วยข้อมูลใหม่นี้ (แน่นอน ตั้งแต่ ERDDAP™ เก็บปูมบันทึกของทุกคําสั่งที่ได้รับ ข้อมูลเดิมยังอยู่ในปูมบันทึก หากผู้ใช้ร้องขอข้อมูลจากรุ่นของชุดข้อมูลก่อนที่จะมีการเปลี่ยนแปลงนี้ พวกเขาจะเห็นข้อมูลที่เก่ากว่า)
http หาตัวแบ่งส่วน
-
http รับ การ ตรวจ สอบ โครงสร้างแอททริบิวต์ทั่วไป (บันทึกการทํางาน) ชื่อแฟ้ม
ส่วนหนึ่งที่ทําให้ระบบนี้ทํางานอย่างมีประสิทธิภาพ ERDDAP™ สร้างชุดของข้อมูล (บันทึก) ไฟล์, แต่ละอันมีส่วนต่างของข้อมูล ถ้าพวกนี้ถูกจัดฉากอย่างดี ERDDAP™ จะสามารถตอบสนองได้อย่างรวดเร็ว ต่อการร้องขอส่วนใหญ่สําหรับข้อมูล การตั้งค่านี้ระบุโดย http หาคุณลักษณะระดับโลกของ DitrictoryStuduture ซึ่งเป็นเส้นเชือกที่ดูเหมือนชื่อย่อ, e.g. stationID /10 ปี แต่จริง ๆ แล้วเป็นการระบุโครงสร้างของไดเรกทอรี ส่วนต่าง ๆ แสดงถึงวิธีการสร้างไดเรกทอรีและชื่อแฟ้มสําหรับข้อมูล (บันทึก) แฟ้มจะถูกสร้าง -
หากส่วนของเป็นจํานวนเต็ม (>= 1) เพิ่มเวลา Period (มิลลิวินาที สอง นาที ชั่วโมง วัน เดือน ปี หรือพหูพจน์) , e.g., 10 ปี, แล้ว EDTable fromhtppget dataetetetetetetetetes จะนําค่าเวลาสําหรับแถวของข้อมูล (E.g., 2016-06-23T19: 533:00Z.) คํานวณเวลาที่ถูกตัดให้แม่นยําที่ (E.g., 2010) สร้างโฟลเดอร์หรือแฟ้มจากแฟ้มดังกล่าว
เป้า หมาย คือ เพื่อ จะ ได้ ข้อมูล จํานวน มาก พอ สม ควร ใน แต่ ละ แฟ้ม แต่ มี ไม่ ถึง 2GB.
- มิฉะนั้น ส่วนหนึ่งของข้อกําหนด dataVariable ' sourceName อี.จี. stationID . ในกรณีนี้, EDTable fromHtpppget จะทําโฟลเดอร์หรือชื่อแฟ้มจากค่าตัวแปรนั้นสําหรับแถวใหม่ของข้อมูล (เช่น "46088") .
เพราะข้อมูล .insert และ.delete คําสั่ง ถูกเก็บไว้ในข้อมูลจําเพาะ (บันทึก) แฟ้ม, EDTable fromHttpage มักจะเปิดแค่ 1 หรือข้อมูลไม่กี่อย่างเท่านั้น (บันทึก) แฟ้มที่จะค้นหาข้อมูล สําหรับการร้องขอของผู้ใช้ และเพราะแต่ละข้อมูล (บันทึก) แฟ้มมีข้อมูลที่เกี่ยวข้องทั้งหมด สําหรับส่วนย่อยของข้อมูลชุดนั้น รวดเร็วและง่ายสําหรับ EDTable fromhtpppG เพื่อสร้างรุ่นเฉพาะ (หรือรุ่นปัจจุบัน) ข้อมูลชุดสะสมของแฟ้ม (และไม่จําเป็นต้องสร้างชุดข้อมูลทั้งหมดที่ร้องขอมา) .
แนวทางทั่วไป ขึ้นอยู่กับปริมาณและความถี่ของข้อมูล ถ้าเราสมมุติว่า 100 ไบต์ต่อแถวของข้อมูล, แล้ว...
| Frequency <br>of measurements | Recommended <br>httpGetDirectoryStructure |
| --- | --- |
| \\>=1 per second | *featureID*/1year/1day |
| \\>=1 per minute | *featureID*/2months |
| \\>=1 per hour | *featureID*/10years |
| \\>=1 per day | *featureID* |
ตัวอย่างเช่น ถ้าโครงสร้างของไดเรกทอรี stationID /2 เดือนและคุณใส่ข้อมูลจาก 2 สถานี (46088 และ 46155) 2015 ด้วยค่าเวลาจาก Dec 2015 ถึง May 2016 EDTable from Http Get จะสร้างไดเรกทอรีชื่อ 46088 และ 46155 และสร้างแฟ้มในแต่ละชื่อว่า 2015-11 .json I, 2016-01 .json I, 2016-03 .json I, 2016-05 .json I (แต่ละคนเก็บ 2 เดือนของข้อมูลสําหรับสถานีที่เกี่ยวข้อง) . ณ เวลาใด ๆ ในอนาคต หากคุณใช้ .insert หรือ .delete เพื่อเปลี่ยนหรือลบข้อมูล ตัวอย่างเช่น สถานี 46088 ที่ 2016-04-05T14: 45:00Z EDTible fromtp รับจะผนวกคําสั่งที่ 46088/2016-03 .json I ข้อมูลที่เกี่ยวข้อง (บันทึก) แฟ้ม และเห็นได้ชัดว่ามันดีที่จะเพิ่มข้อมูล สําหรับสถานีอื่น ๆ ที่เวลาใด ๆ ในอนาคต เนื่องจากชุดข้อมูล
http GetKeys
EDTable ทุกแบบ จาก Http รับชุดข้อมูลจะต้องมีคุณสมบัติทั่วไป http GetKeys ซึ่งระบุรายชื่อของผู้เขียนที่ได้รับอนุญาต และกุญแจลับของพวกเขาเป็นรายการของจุลภาค ผู้เขียน/ คีย์ อี.จี. Johnsmith\_someKey1, Hobologer\_someKey2, QCScript59 / someKey3.
- ผู้เขียน/_ key's case-continuation and ต้องเป็นตัวอักษร ASCII (#33 - #126 และไม่มีเครื่องหมายจุลภาคใด ๆ, "หรือ' ตัวอักษร
- กุญแจเป็นเหมือนรหัสผ่าน ดังนั้นมันต้องเป็น > = 8 ตัวอักษร เดายาก และไม่มีพจนานุกรมภายใน คุณควรรักษามัน อย่างที่คุณรักษารหัสผ่าน เก็บมันเป็นความลับ
- อักขระตัวแรก '/_' แยกผู้เขียนออกจากกุญแจ ดังนั้นชื่อผู้เขียนจึงไม่สามารถรวมอักขระ '/' ได้ (แต่กุญแจสามารถ) .
- ผู้เขียนคนใด ๆ สามารถมีผู้เขียนคนใดคนหนึ่ง/ key, e.g., JohnStmith\ someone คีย์ 1, JohnStmith\_ บาง คีย์ 7 ฯลฯ
- คุณสามารถเปลี่ยนค่าของแอททริบิวต์นี้เมื่อไหร่ก็ได้ การเปลี่ยนแปลงจะมีผลเมื่อโหลดชุดข้อมูลครั้งต่อไป
- ข้อมูลนี้จะถูกลบออกจากสื่อข่าวทั่วโลก ก่อนที่จะมีการเผยแพร่ต่อสาธารณชน
- การร้องขอแต่ละชุดข้อมูลที่จะแทรกหรือลบข้อมูล จะต้องรวม & ผู้เขียน= ผู้เขียน/ คีย์ พารามิเตอร์ หลังจากตรวจสอบความถูกต้องของกุญแจ ERDDAP™ บันทึกเฉพาะส่วนของผู้เขียนเท่านั้น (ไม่ใช่กุญแจ) ในแฟ้มข้อมูล
ตั้งขึ้น
ต่อ ไป นี้ เป็น ขั้น ตอน ที่ แนะ ให้ ทํา การ ตั้ง EDTable fromhttpget dataetet:
-
ทําไดเรกทอรีหลักเพื่อเก็บข้อมูลของชุดข้อมูลนี้ สําหรับตัวอย่างนี้ ลองใช้ / datata/estestet/ ผู้ใช้ที่กําลังทํางานสร้าง DatatasetsXml และผู้ใช้กําลังทํางานอยู่ ERDDAP™ ต้องมีสิทธิ์ในการอ่านและเขียนไปยังไดเรกทอรีนี้
-
ใช้เครื่องมือแก้ไขข้อความเพื่อสร้างตัวอย่าง .json แฟ้ม lCSV ด้วยส่วนขยาย .json L ในไดเรกทอรีนั่น ชื่อไม่สําคัญ ตัวอย่างเช่น, คุณอาจเรียกมันว่าตัวอย่าง .json I สร้าง 2 บรรทัด .json แฟ้ม lCSV, มีชื่อคอลัมน์ในบรรทัดแรก และชื่อจําลอง/ ภาพ (ชนิดของข้อมูลที่ถูกต้อง) ในบรรทัดที่สอง นี่เป็นแฟ้มตัวอย่างที่เหมาะสําหรับชุดสะสม featureType =ข้อมูลเวลาที่วัดอุณหภูมิอากาศและน้ํา \[ สําหรับ featureType (เพลง) stationID เพื่อเป็นวิถีกระสุน \]
\[ สําหรับ featureType = profile คุณอาจเปลี่ยน stationID เพื่อวิเคราะห์และเพิ่มตัวแปรความลึก \]\[ " stationID " "time" "Latital", "Longital", "Air Temp", "water Temp", "timestamp", "Urder", "com". \] \[ "Mystation", "2018-06-25T17:00:00Z", 0.0, 0.0, 0.0, 0.0, สืบค้นเมื่อ "Somebody", 0 \]
หมายเหตุ:
- ค่าข้อมูลจริงไม่สําคัญ เพราะในที่สุดคุณจะลบแฟ้มนี้ แต่มันควรอยู่ในประเภทข้อมูลที่ถูกต้อง โดดเด่น, ตัวแปรเวลาควรใช้รูปแบบเดียวกันกับข้อมูลจริงจากแหล่งที่จะใช้
- สําหรับทุกตัวแปร sourceName จะเท่ากับ destinationName ดังนั้น จงใช้ชื่อตัวแปรที่ถูกต้อง/สุดท้ายนี้ รวมทั้งเวลา, เส้นรุ้ง, เส้นลองจิจูด และบางครั้ง ความลึกหรือความสูง หากตัวแปรที่มีข้อมูลนั้นรวมอยู่ด้วย
- จะมักจะมีตัวแปรชื่อเวลา ซึ่งบันทึกเวลาที่สังเกตทํา มันอาจจะเป็นข้อมูลที่ผูกติดกับ แสดงเฉพาะหมายเลขของธาตุ (อี.จี. yyyy-MM-dd T'HH:M:s.SSZ) หรือข้อมูล พิมพ์คู่คู่ด้วย หน่วยที่เหมาะสําหรับเวลาเศษ (e.g., วินาทีตั้งแต่ 1970-01-01.00.00:00Z หรือเวลาพื้นฐานอื่น ๆ) .
- สามคอลัมน์ (ปกติ 3 คนสุดท้าย) ต้องเป็นเวลา, นักเขียน, คําสั่ง
- คอลัมน์ของเวลาประทับจะถูกใช้โดย EDTTIB จาก HTTpP เพื่อเพิ่มเวลาการจับเวลา เพื่อระบุว่า เมื่อไรมันจะทําการเพิ่มบรรทัดข้อมูลที่กําหนดไปยังแฟ้มข้อมูล 2555) (พ.ศ.
- ผู้เขียนคอลัมน์ที่มีข้อมูลกํากับ จะถูกใช้เพื่อบันทึกว่า ผู้เขียนที่ได้รับอนุญาต ให้แสดงข้อมูลบรรทัดนี้หรือไม่ ผู้เขียนที่ได้รับอนุญาต ได้รับการระบุโดย http GetKeys แอตทริบิวต์ทั่วโลก . แม้ว่ากุญแจจะถูกระบุเป็น ผู้เขียน/ คีย์ และอยู่ในที่อยู่ URL "request" ในรูปแบบนั้น ส่วนของผู้เขียนเท่านั้นที่ถูกบันทึกไว้ในแฟ้มข้อมูล
- คอลัมน์คําสั่งที่มีรูปแบบข้อมูลกํากับ จะระบุว่าข้อมูลบนบรรทัดนี้เป็นการแทรก (0) หรือการลบ (1) .
-
ประมวลผลแฟ้ม Datata XMI และบอกมัน
- ประเภทชุดข้อมูลคือ EDTable fromhtppp
- ไดเรกทอรีคือ (สําหรับตัวอย่างนี้) / ดาต้า/ ทดสอบ รับ/
- แฟ้มตัวอย่างคือ (สําหรับตัวอย่างนี้) / datata/estregage/ startup .json I
- เดอะ http ได้ รับ การ ตอบ รับ ตัวแปรคือ (สําหรับตัวอย่างนี้) stationID เวลา ดูคําอธิบายของ http รับ การ ปรับ ตั้ง ใหม่ ข้างล่าง
- ถ้าเก็บข้อมูลทุก 5 นาที http หาตัวแบ่งประเภทสําหรับตัวอย่างนี้ stationID 2 เดือน ดูคําอธิบายของ http หาตัวแบ่งส่วน ข้างล่าง
- เดอะ http GetKeys
เพิ่มการแสดงผล (ชิ้นส่วนของ datasets.xml สําหรับชุดข้อมูล) ถึง datasets.xml . 4. แก้ไข datasets.xml ชิ้นส่วนสําหรับชุดข้อมูลนี้ เพื่อให้มันถูกต้องและเสร็จสมบูรณ์ โดดเด่นที่มาแทนทั้งหมด? ด้วยเนื้อหาที่ถูกต้อง 5. สําหรับ<Name=ไดเรกทอรีName
- ตั้งค่านี้เป็นค่าจริง หากชุดข้อมูลมักจะได้รับค่า .insert และ/ หรือ .delete ร้องขอ (e.g. บ่อยครั้งกว่าหนึ่งครั้งทุกๆ 10 วินาที) . นี่ช่วยให้ EDTable fromhtpget ตอบสนองได้เร็วขึ้น จนถึง .insert และ/หรือ .delete ขอ หากคุณตั้งค่านี้ให้เป็นจริง EDTable fromhtpppget จะยังคงบันทึกข้อมูล filetable และเกี่ยวข้องกับดิสก์เป็นระยะ ๆ (ถ้าจําเป็น ประมาณทุก 5 วินาที) .
- ตั้งเป็นเท็จ (ค่าปริยาย) หากชุดข้อมูลจะได้รับใน .insert และ/หรือ .delete ต้องการ (e.g. น้อยกว่าหนึ่งครั้งทุกๆ 10 วินาที) .
- หมายเหตุ: มันเป็นไปได้ที่จะใช้<แคชจากUrl> และการตั้งค่าที่เกี่ยวข้องใน datasets.xml สําหรับ EDTable จาก Http รับชุดข้อมูลเป็นวิธีทําและรักษาสําเนาท้องถิ่นของ IDTable fromhtpget ข้อมูลบนอื่น ERDDAP . อย่างไรก็ตาม ในกรณีนี้ ชุดข้อมูลท้องถิ่นนี้ จะปฏิเสธการร้องขอ .insert และ .delete
ใช้ EDTable ชุดข้อมูลจาก Htppp
- ผู้เขียนสามารถสร้าง "reques" ซึ่ง แทรกข้อมูลไปยังหรือลบข้อมูลจากชุดข้อมูล .
- หลังจากข้อมูลจริงถูกแทรกเข้าไปในชุดข้อมูลแล้ว คุณสามารถลบและควรลบแฟ้มต้นฉบับก่อน
- ผู้ใช้สามารถร้องขอข้อมูลจากชุดข้อมูลได้ เนื่องจากข้อมูล DDTable อื่น ๆ ERDDAP . หากการร้องขอไม่ได้รวมเงื่อนไขในคอลัมน์เวลาประทับ, แล้วการร้องขอที่ได้รับข้อมูลจากรุ่นปัจจุบันของชุดข้อมูล (แฟ้มปูมบันทึก หลังจากประมวลผลคําสั่งการแทรกและลบแฟ้มทั้งหมดแล้ว และทําการสร้างใหม่โดย http รับ การ ปรับ ตั้ง ใหม่) .
- ผู้ใช้ยังสามารถทําการร้องขอที่เฉพาะกับ EDTable fromhtppetsets:
- ถ้าคําขอนี้รวม<หรือ<=ข้อจํากัดของคอลัมน์เวลา, แล้ว ERDDAP™ ประมวลผลแถวของแฟ้มปูมบันทึกขึ้นจนถึงวันที่ระบุ ผลก็คือ นี่ลบการเปลี่ยนแปลงทั้งหมด ที่เกิดขึ้นกับชุดข้อมูลชั่วคราว ตั้งแต่ค่าของเวลานั้น สําหรับข้อมูลเพิ่มเติม ดู รุ่น .
- หากการร้องขอรวม a >, >= หรือ = ข้อจํากัดของคอลัมน์เวลาประทับ, เช่น, & timestamp<=0 จากนั้น ERDDAP™ ส่งข้อมูลกลับเป็นแฟ้มข้อมูลโดยไม่มีการประมวลผลคําสั่งการแทรกและลดค่า
- ในอนาคต เราจินตนาการ ว่าเครื่องมือจะถูกสร้างขึ้น (โดยเรา? โดยคุณ?) เพื่อทํางานกับชุดข้อมูลเหล่านี้ ตัวอย่างเช่น อาจมีสคริปต์ที่อ่านแฟ้มปูมบันทึกดิบ ใช้สมการปรับรูปแบบอื่น และสร้าง/อัปเดตข้อมูลต่าง ๆ ด้วยข้อมูลที่ได้มา โปรดสังเกตว่าสคริปต์สามารถรับข้อมูลต้นฉบับได้ โดยการร้องขอ ERDDAP™ (ซึ่งรับข้อมูลในรูปแบบแฟ้ม ซึ่งง่ายต่อการใช้สคริปต์) และสร้าง/ update ชุดข้อมูลใหม่ผ่านทาง .insert "request" to ERDDAP . สคริปต์ไม่จําเป็นต้องเข้าถึงแฟ้มข้อมูลโดยตรง มันสามารถอยู่บนคอมพิวเตอร์ของผู้เขียนได้
รายละเอียดเกี่ยวกับ EDTable fromhtppp
หัวข้อคือ
- อย่าเปลี่ยนการตั้งค่า!
- CRUD
- การถามไม่ถูกต้อง
- ความเร็ว
- Robust
- ความจุของระบบ
- รุ่น
- "แล้ว HTTP Hother และ Deleet ล่ะ"
- บันทึกย่อ
- ขอบคุณสําหรับความคิดพื้นฐาน
ต่อ ไป นี้ เป็น ราย ละเอียด:
อย่าเปลี่ยนการตั้งค่า!
เมื่อชุดข้อมูลถูกสร้างขึ้น และคุณได้เพิ่มข้อมูลเข้าไป
- ไม่ต้องเพิ่มหรือลบใด ๆ dataVariable เอส.
- อย่าเปลี่ยน sourceName หรือ destinationName ของ dataVariable เอส.
- อย่าเปลี่ยนข้อมูล ประเภท dataVariable เอส. แต่คุณสามารถเปลี่ยน dataVariable ข้อมูลกํากับภาพ
- อย่าเปลี่ยน http ได้ รับ การ ตอบ รับ ตัวแปรต่าง ๆ ทั่วโลก
- อย่าเปลี่ยน http หาความเชี่ยวชาญของโลก
ถ้าคุณต้องการที่จะเปลี่ยนใด ๆ ของสิ่งเหล่านี้ ทําชุดข้อมูลใหม่และโอนข้อมูลทั้งหมดไปยังชุดข้อมูลใหม่
CRUD
ในวิทยาศาสตร์คอมพิวเตอร์ สี่คําสั่งพื้นฐาน สําหรับการทํางานร่วมกับชุดข้อมูล ความ รัก, การ อ่าน, ความ เจริญ, ความ ดี (CRUD) . SQL ภาษาสําหรับการทํางานร่วมกับฐานข้อมูลสัมพันธไมตรี มีเทียบเท่าใน INSTER, SELECT, UPDE และ Deleet. ใน EDTable from Httpget
- ...ความไม่สงบ เป็นการรวมกันของการฆ่าและความรุ่งเรือง
- เดเลตคือเดเลต
- ระบบปกติสําหรับร้องขอข้อมูลแบบสับเซตกําลังอ่านอยู่
ดังนั้น EDTable fromhtppget จึงสนับสนุนคําสั่งพื้นฐานทั้งหมด สําหรับการทํางานกับชุดข้อมูล
- .insert หรือ .dete ร้องขอโดยไม่มีข้อผิดพลาด จะคืนสถานะ HTTP=2200 และวัตถุ Json, e.g.
{
"status":"success",
"nRowsReceived":1,
"stringTimestamp":"2018-03-26T15:34:05.552Z",
"numericTimestamp":1.522078445552E9
}
ค่าของนาฬิกาสองครั้งจะหมายถึงหน่วยมิลลิวินาทีเดียวกัน ซึ่งคือหน่วยมิลลิวินาทีที่จะเก็บไว้ในตัวแปรเวลา ERDDAP™ จะไม่เปลี่ยนชื่อและรูปแบบ ของคู่ค่ากุญแจเหล่านี้ในอนาคต ERDDAP™ อาจเพิ่มคู่คีย์ค่าเพิ่มเติมวัตถุ Json ในอนาคต
การถามไม่ถูกต้อง
การร้องขอของ .inset หรือ .dete จะคืนค่ากลับมาเป็นสถานะข้อผิดพลาด HTTP นอกจากสถานะ=2200 และจะไม่มีการเปลี่ยนแปลงข้อมูล นี่รวมถึงการร้องขอด้วยข้อมูลของผู้เขียนไม่ถูกต้อง, ชื่อตัวแปรไม่ถูกต้อง, ความยาวอาร์เรย์ที่แตกต่างกัน, ตัวแปรที่ขาดไป, ค่าตัวแปรที่ต้องการหายไป เป็นต้น หาก คํา ขอ นั้น เกี่ยว ข้อง กับ แฟ้ม ข้อมูล มาก กว่า หนึ่ง แฟ้ม ก็ เป็น ไป ได้ ว่า ส่วน ของ คํา ขอ นั้น จะ สําเร็จ และ ส่วน หนึ่ง จะ ไม่ สําเร็จ. อย่างไรก็ตาม นี่ไม่น่าจะเป็นปัญหา ถ้าตัวตรวจจับส่งคําขอมา ถือว่าเป็นความล้มเหลวอย่างสมบูรณ์ ยกตัวอย่างเช่น ถ้าคุณบอกว่า ERDDAP™ แทรก (หรือลบ) ข้อมูลเดียวกันสองครั้งติดต่อกัน, กรณีที่แย่ที่สุดคือ ข้อมูลนั้นถูกเก็บไว้สองครั้ง, ปิดพร้อมกันในแฟ้มปูมบันทึก มันยากที่จะเห็น ว่ามันทําให้เกิดปัญหาได้อย่างไร
ความเร็ว Htpget
สําหรับการร้องขอ .insert หรือ .dete (ไม่นับ http ลบทั้งเธรด) ค่าความไวของ .insert หรือ .delete
1m ต่อ 1. int โดยมี 1 แถวของข้อมูล
2m ต่อ. อินเสิรต์ โดยมีข้อมูลเป็น 10 แถว ( \[ \] )
3 มม. ต่อ . Insport with 100 แถวของข้อมูลในอาร์เรย์ ( \[ \] )
13 มม. ต่อ . interd with 1000 แถวของข้อมูลในอาร์เรย์ ( \[ \] )
แน่นอนว่าอาร์เรย์เป็นกุญแจสําคัญ ปรับความดังสูง . ถ้าไม่มีอาร์เรย์ มันจะท้าทายกับ .insert หรือ .delete มากกว่า 8 แถวของข้อมูล จากผู้เขียนระยะไกล (เพราะเหนือหัวของเครือข่าย) . ด้วยอาร์เรย์ มันจะง่ายต่อ .insert หรือ .delete มากกว่า 1000 แถวของข้อมูลต่อวินาที จากเซ็นเซอร์ระยะไกล
ด้วยข้อมูลจํานวนมากต่อการร้องขอ คุณจะตีขีด จํากัด ของทอมแคทกับความยาวของการค้นหาสูงสุด (ค่าปริยายคือ 8KB?) แต่สามารถเพิ่มขึ้นได้โดยการแก้ไขการตั้งค่า สูงสุด htttphader ใน แว่นขยาย /conf/server.xml's HTTP/1.1 ช่องเชื่อมต่อ
เมื่อ ERDDAP™ อ่านข้อมูล CSV ของ JONE (บันทึก) ไฟล์ที่มีโทษเวลาขนาดเล็ก เมื่อเทียบกับการอ่านไฟล์ข้อมูลไบนารี เรารู้สึกว่าโทษครั้งนี้เมื่ออ่านเป็นราคาที่เหมาะสม ที่จะจ่ายสําหรับความเร็วและความมั่นคงของระบบเมื่อเขียนข้อมูล (ซึ่งสําคัญที่สุด) .
SSD
สําหรับความเร็วที่มากขึ้น ใช้ ไดรฟ์ของ Solid (SSD) เพื่อเก็บข้อมูล พวกเขามีไฟล์ที่เร็วกว่ามาก<0.1 มม. (3 - 12 ม.) . พวกเขามีอัตราการโอนข้อมูลที่เร็วกว่า (200 - 2500 MB/s) มากกว่าฮาร์ดดิสก์ (~2200 MB/s) . ไม่ กี่ ปี มา นี้ ค่า ใช้ จ่าย ของ พวก เขา ลด ลง มาก. แม้ว่า SSD รุ่นแรกจะมีปัญหา หลังจากมีการเขียนจํานวนมากไปยังบล็อกที่ให้ แต่ตอนนี้ปัญหานี้ลดจํานวนลงมาก ถ้าคุณเพียงแค่ใช้ SSD เพื่อเขียนข้อมูลครั้งเดียว แล้วอ่านมันหลายครั้ง แม้กระทั่ง SSD ผู้บริโภค (ซึ่งแพงน้อยกว่า enterprise-grade SSD) น่าจะอยู่ได้นาน
Robust
เราพยายามทําให้ระบบนี้ ทํางานได้ง่ายขึ้น และทนได้มากที่สุด
- ระบบถูกออกแบบมาให้มีหลายเธรด (เช่น เซ็นเซอร์ สคริปต์ QCอัตโนมัติ และมนุษย์) ทํางานกับชุดข้อมูลและไฟล์เดียวกันพร้อมกัน ส่วนใหญ่นี้จะทําให้เป็นไปได้ โดยการใช้วิธีปูมบันทึกในการเก็บข้อมูล และโดยใช้ประเภทแฟ้มที่เรียบง่ายมากๆ เจ สัน แฟ้มข้อความ CSV เพื่อเก็บข้อมูล
- ประโยชน์อันยิ่งใหญ่อีกอย่างหนึ่งสําหรับ Json TLE CSV คือถ้าแฟ้มถูกทุจริต (e.g. ใช้งานไม่ได้เนื่องจากมีข้อผิดพลาดบนเส้นตรง) การเปิดแฟ้มในเครื่องมือแก้ไขข้อความเป็นการง่าย และแก้ไขปัญหาได้
- ข้อได้เปรียบอีกอย่างคือ ถ้ามีความผิดพลาดบนเส้นตรงในแฟ้ม ระบบยังสามารถอ่านข้อมูลทั้งหมดบนบรรทัดก่อนและหลังบรรทัดที่ผิดพลาดได้ และระบบยังสามารถบันทึกเพิ่มเติม .insert และข้อมูล.delete
- มีประโยชน์อย่างมากในการใช้แฟ้มมาตรฐานที่ใช้ได้ของ admin (เทียบกับฐานข้อมูลความสัมพันธ์ หรือคาสเซนดร้า หรือซอฟท์แวร์อื่น) . ไม่มีซอฟต์แวร์อื่น ๆ ที่จะต้องบํารุงรักษา และจะต้องดําเนินการเพื่อเก็บหรือรับข้อมูล และมันง่ายที่จะสํารองข้อมูลแฟ้มมาตรฐานที่เวลาใด ๆ และในการเพิ่มขึ้นเพราะข้อมูลอยู่ในชิ้น (เมื่อเวลาผ่านไป เพียงแฟ้มเวลาปัจจุบันของแต่ละสถานีจะมีการเปลี่ยนแปลง) . ใน ทาง ตรง กัน ข้าม ต้อง ใช้ ความ พยายาม และ ระบบ อย่าง มาก เพื่อ จะ มี สํารอง ข้อมูล จาก ฐานข้อมูล และ จาก คาส ซาน.
ความจุของระบบ
มันสมเหตุสมผลที่จะคาดหวังว่าหนึ่งเซิร์ฟเวอร์ด้วย ERDDAP™ เพื่อให้เวลาเพิ่มขึ้น 99.9% -- นั่นคือเวลาลดลงประมาณ 9 ชั่วโมงต่อปี (แม้ ว่า คุณ จะ ใช้ มัน ได้ ใน คืน ที่ ไม่ ดี คืน เดียว!) . ถ้าคุณขยันและโชคดี คุณอาจได้ขึ้น 99.99% (53 นาทีเวลาลดลงต่อปี) เนื่องจากเพียงการรีเฟรชไม่กี่สําหรับการปรับปรุงจะใช้เวลามากที่ คุณจะต้องใช้มาตรการที่รุนแรง (2563. แม่ข่ายสํารองแยก, จัดหาจ่ายไฟสํารอง, แอร์สํารอง, 24x7x365. บุคลากรดูแลเว็บไซต์ ฯลฯ.) ที่มีโอกาสน้อยที่ 99.99% ขึ้น (5.25 นาทีเวลาลดลงต่อปี) . ถึงอย่างนั้น ก็ไม่น่าเป็นไปได้มากที่คุณจะขึ้น 99.99% (หรือแม้กระทั่ง 99.99%) เพราะ เหตุ ใด? ตัว อย่าง เช่น บริการเว็บ แอ มะ ซอน และ กูเกิ้ล เสนอ บริการ ทาง เว็บไซต์ ที่ ไว้ ใจ ได้ อย่าง น่า ทึ่ง แต่ บาง ครั้ง มี การ ลด จํานวน ลง เป็น ชั่วโมง ๆ.
ยอมรับเถอะ ทุกคนต้องการ ERDDAP™ มีเวลาเพิ่มขึ้น 100% หรืออย่างน้อยก็ 6/9 (99.9999% เวลาขึ้นเท่ากับ 32 วินาทีของเวลาลดลงต่อปี) แต่ไม่มีทางที่คุณจะได้มัน ไม่ว่าจะใช้เวลา, ความพยายาม, และเงินมากแค่ไหน
แต่ ERDDAP™ ตอนนี้ไม่ใช่เป้าหมายที่แท้จริง เป้าหมายคือการสร้างสิ่งที่เชื่อถือได้ ระบบ หนึ่งที่ไม่สูญเสียข้อมูลใด ๆ นี่เป็นโจทย์ที่แก้ได้
คําตอบก็คือ สร้างความเหลื่อมล้ําของข้อผิดพลาด ในซอฟต์แวร์คอมพิวเตอร์ที่ส่งข้อมูลไปยัง ERDDAP . โดยเฉพาะซอฟท์แวร์นั้นควรจะรักษาคิวของข้อมูลที่จะรอไปยัง ERDDAP . เมื่อข้อมูลถูกเพิ่มเข้าคิว โปรแกรมควรจะตรวจสอบการตอบรับ ERDDAP . ถ้าคําตอบไม่รวมข้อมูลที่ได้รับ ไม่มีข้อผิดพลาด โปรแกรมควรจะทิ้งข้อมูลไว้ในคิว เมื่อมีข้อมูลมากขึ้น และถูกเพิ่มเข้าคิว โปรแกรมควรจะลองป้อนข้อมูลในคิวอีกครั้ง (บางทีกับ \[ \] ระบบ) . มันจะประสบความสําเร็จหรือล้มเหลว ถ้ามันล้มเหลว มันจะพยายามอีกครั้งในภายหลัง ถ้าคุณเขียนซอฟท์แวร์ให้ทํางานแบบนี้ และถ้าซอฟแวร์พร้อมจัดคิวรอรับข้อมูลที่คุ้มค่าสัก 2-3 วัน ERDDAP . และคุณจะทํามันโดยไม่พยายามหรือค่าใช้จ่ายอย่างมาก
\[ พื้นหลัง: เราไม่ได้คิดขึ้นมา นี่คือวิธีที่เครือข่ายคอมพิวเตอร์ ประสบความสําเร็จ เครือข่ายคอมพิวเตอร์นั้น น่าเชื่อถืออย่างแท้จริง ดังนั้นเมื่อคุณโอนไฟล์จากคอมพิวเตอร์หนึ่งไปยังอีกเครื่อง โปรแกรมที่ส่งรู้หรือสํารวจ ว่าบางแพคเกจอาจจะสูญหาย ถ้ามันไม่ได้รับการตอบรับที่เหมาะสม สําหรับแพคเกจที่กําหนดจากผู้รับ มันจะรีเซ็ตที่สูญเสีย ด้วย วิธี นี้ โปรแกรม ส่ง และ ผู้ รับ ที่ ค่อน ข้าง ง่าย สามารถ สร้าง ระบบ ถ่าย เอกสาร ที่ ไว้ ใจ ได้ บน เครือ ข่าย ที่ ไม่ ได้ รับ ความ ไว้ วางใจ. \]
ทําไม จึง มี แฟ้ม ซี เอส วี?!
DDTable fromhtpget ใช้ เจ สัน แฟ้มข้อความ CSV สําหรับเก็บข้อมูล เหตุผลก็คือ
- เหตุผลหลักคือ: ความเรียบง่ายของแฟ้ม CSV นําเสนอวิธีที่ง่ายและน่าเชื่อถือ (e.g. โดยปรับเทียบข้อมูลชื่อแฟ้ม) .
- หากแฟ้ม CSV Jonson ไม่ถูกต้อง (e.g. ใช้งานไม่ได้เนื่องจากมีข้อผิดพลาดบนเส้นตรง) EDTable fromHttpget ยังคงอ่านข้อมูลทั้งหมดได้ จากทุกบรรทัดก่อนหน้าและหลังเส้นความผิดพลาด และระบบ .insert และ.delete สามารถเพิ่มข้อมูลใหม่ไปยังแฟ้มข้อมูลได้
- เพราะว่าแฟ้ม CSV Jonson Lone เป็นแฟ้ม ASCII ถ้าแฟ้มเคยเสียหาย มันจะแก้ได้ง่ายขึ้น (ในเครื่องมือแก้ไขข้อความ) .
- รองรับ CSV สายยูนิโค้ด
- JONE line CSV รองรับข้อความความยาวต่าง ๆ (ไม่จํากัดความยาวสูงสุด) .
- Jonson line CSV รองรับจํานวนเต็ม 64 บิต (ยาว) .
- ลักษณะทางการและวากยสัมพันธ์พิเศษของ Jsonline CSV (แบบ CSV แบบเก่า) รับประกันเพิ่มเติมว่า สายที่ให้ไม่ได้เสียหาย
ตอนแรกเราพยายามใช้ .nc 3 ไฟล์ที่มีมิติไม่จํากัด อย่าง ไร ก็ ตาม มี ปัญหา:
- ปัญหาหลักก็คือ ไม่มีวิธีที่จะอนุญาตให้หลายเธรดเขียนไปยัง .nc 3 ไฟล์ แม้ว่าเส้นด้ายจะให้ความร่วมมือ โดยการเขียนแบบประสานกัน
- ถ้า .nc 3 แฟ้มที่เสียหาย, ระบบ .insert และ.delete ไม่สามารถใช้งานแฟ้มนี้ได้
- เพราะ .nc 3 แฟ้มเป็นไบนารี ถ้าแฟ้มเสียหาย (สิ่งที่พวกเขาทําเนื่องจากปัญหาในการอ่านหลาย ๆ ครั้ง) พวกเขาเป็นเรื่องยากมากหรือเป็นไปไม่ได้ที่จะแก้ไข ไม่มีเครื่องมือช่วยในการซ่อมแซม
- CF ไม่มีวิธีระบุรหัสอักขระของข้อความ จึงไม่มีวิธีการอย่างเป็นทางการในการรองรับยูนิโค้ด เช่น การเข้ารหัสยูนิโค้ด UTF-8 เราพยายามให้ CF สนับสนุนคุณสมบัติ / encoted แต่ไม่สามารถทําความคืบหน้าอะไรได้ ( Unidata เครดิตของพวกเขาไม่สนับสนุนคุณสมบัติ / encoding)
- .nc 3 แฟ้มรองรับเฉพาะสายยาวคงที่เท่านั้น อีกครั้ง เราพยายามให้ CF และ Unidata เพื่อรองรับข้อความความยาวตัวแปร แต่ไม่สามารถทําความคืบหน้าใด ๆ ได้
- .nc 3 แฟ้มไม่รองรับวิธีง่าย ๆ ที่จะแยกตัวแปรเดี่ยวจากตัวแปรสตริง อีกครั้ง เราพยายามให้ CF และ Unidata เพื่อสนับสนุนระบบในการแยกแยะข้อมูลทั้งสองชนิดนี้ แต่ไม่สามารถทําความคืบหน้าใด ๆ
- .nc 3 แฟ้มที่รองรับรหัสอักขระแบบ 8 บิตเท่านั้น อีกครั้ง เราพยายามให้ CF และ Unidata เพื่อรองรับระบบสําหรับใช้ระบุรหัสอักขระ แต่ไม่สามารถทําความคืบหน้าได้
- .nc 3 แฟ้มไม่รองรับจํานวนเต็ม 64 บิต (ยาว) . อีกครั้ง เราพยายามให้ CF และ Unidata เพื่อรองรับระบบเป็นเวลานาน แต่ไม่สามารถทําความคืบหน้าใด ๆ
รุ่น
เพราะ EDTable จาก Http หาบันทึกการเปลี่ยนแปลงทั้งหมดของชุดข้อมูลที่มีเวลา และผู้เขียนการเปลี่ยนแปลงแต่ละครั้ง, มันสามารถสร้างชุดข้อมูลใหม่ได้อย่างรวดเร็ว ใน แง่ หนึ่ง มี ฉบับ แปล หนึ่ง สําหรับ จุด ใด ๆ ใน เวลา นั้น. หากการร้องขอข้อมูลของผู้ใช้รวมการจับเวลาด้วย<=เงื่อนไข, เช่น, & เวลา<=2016-06-23T16:32:22.128Z (หรือจุดเวลาใด ๆ) แต่ไม่มีข้อจํากัดของนักเขียนหรือคําสั่ง ERDDAP™ จะ ตอบ สนอง คํา ขอ โดย สร้าง ชุด ข้อมูล ใน ตอน แรก ตาม เวลา. งั้น ERDDAP™ ใช้เงื่อนไขอื่นของผู้ใช้ เช่นกับการร้องขอข้อมูลอื่น ๆ ERDDAP . DDTable fromhtpget ถูกจัดตั้งขึ้นเพื่อให้กระบวนการนี้รวดเร็วและมีประสิทธิภาพ แม้จะเป็นชุดข้อมูลขนาดใหญ่
เช่นเดียวกัน ผู้ใช้สามารถค้นหาเมื่อชุดข้อมูลถูกอัปเดตครั้งสุดท้าย โดยการร้องขอ...? timestamp=max (นาฬิกา) ย่อ/ ขยาย ()
และสําหรับการร้องขอข้อมูลใด ๆ สําหรับรุ่นใด ๆ ของชุดข้อมูล ผู้ใช้จะสามารถดูว่าผู้เขียนทําการเปลี่ยนแปลงใด และเมื่อพวกเขาทํา
ระบบการทําซ้ํานี้ เปิดใช้งาน วิทยาศาสตร์ ที่ สลับ ซับ ซ้อน เพราะทุกคน, ตลอดเวลา, สามารถร้องขอข้อมูล จากรุ่นของชุดข้อมูล ณ เวลาใด ๆ การดัดแปลงแบบละเอียดแบบนี้ เป็นไปไม่ได้กับระบบอื่นที่เรารู้จัก กลไก ที่ อยู่ เบื้อง หลัง นั้น มี ประสิทธิภาพ มาก โดย ไม่ จําเป็น ต้อง มี ห้อง เก็บ ของ เกิน ไป และ การ ประมวล ผล ก็ มี น้อย มาก จริง ๆ.
ไม่ใช่ทุกคนหรอกที่มีความต้องการ ในรุ่นที่ทันสมัยแบบนี้ แต่มันมีประโยชน์อย่างมาก (E.g., OOI, Earth Cark, Dayone, และ NOAA ซีเอ็นไอ) ที่ชุดข้อมูลสามารถมีนักเขียนหลายคน (E.g., เซ็นเซอร์, สคริปต์ QC อัตโนมัติ, และบรรณาธิการมนุษย์) .
\[ ประวัติศาสตร์: ความ จําเป็น ใน การ แปล แบบ นี้ เริ่ม ขึ้น สําหรับ ผม (บ๊อบ) 2551 เมื่ออ่านและคุยเรื่อง OOI ในปี ค.ศ. ในขณะนั้น โอโอไอ มีระบบที่เชื่องช้า ไม่มีประสิทธิภาพสําหรับรุ่นตามหลักกิตติมศักดิ์ กิตติดีสําหรับสิ่งที่ออกแบบมา แต่ไม่ใช่เพื่อสิ่งนี้ 2551 ขณะที่การอภิปรายในโอโอไอ ผมออกแบบระบบทางเลือกที่มีประสิทธิภาพและกว้างขวางสําหรับการจัดการข้อมูล รวมถึงคุณสมบัติหลายอย่างที่ผมเพิ่มเข้าไป ERDDAP™ ตั้งแต่นั้นเป็นต้นมา และรวมระบบฉบับนี้ด้วย ในขณะนั้นและตั้งแต่นั้น โอโอไอก็ได้อุทิศตนต่อระบบการทําซ้ําของพวกเขา และไม่สนใจในทางเลือกอื่น 2016 แง่มุมอื่นของแผนนี้เข้าที่เข้าที่เข้าทาง และผมเริ่มดําเนินการ เนื่องจากมีการขัดจังหวะหลายครั้งในการทํางานในโครงการอื่น ๆ ฉันยังไม่เสร็จจนจบจนถึง 2018 แม้แต่ตอนนี้ ผมก็ไม่ได้ตระหนักถึง ระบบข้อมูลทางวิทยาศาสตร์อื่น ๆ ที่ให้การเข้าถึงข้อมูลแบบรวดเร็วและง่าย ระบบแฟ้มธรรมดาไม่นําเสนอนี้ ฐานข้อมูลสัมพันธภาพไม่ คาสเซนดร้าไม่ \]
HTTPS ใส่และลบ
- "แล้ว HTTPsPhot and Deleet ล่ะ"
โพรโทคอลการส่งถ่ายข้อมูลแบบไฮเปอร์ไลน์ (HTTP) เป็นพื้นฐานของเว็บ World Broad และเหตุผลที่หน้าเว็บที่อยู่ URL เริ่มต้นด้วย "http://"หรือhttps://". HTTPs เป็น HTTP ด้วยระดับความปลอดภัยเพิ่มเติม ทุกวัน, เว็บเบราว์เซอร์, สคริปต์และโปรแกรมคอมพิวเตอร์ สร้าง HTTP หลายพันล้าน (เอส) รับ ขอข้อมูลจากระยะไกล HTTP (เอส) รวมถึงคนอื่นด้วย คํากริยา โดดเด่นที่วาง (เพื่อเพิ่มข้อมูลไปยังเซิร์ฟเวอร์) และเดเลต (ไปยังข้อมูล DELETE จากแม่ข่ายให้บริการ) . ใช่, PTL และ DELETE เป็นวิธีที่เหมาะสมในการใส่ข้อมูลเข้าไป และลบข้อมูลจาก, ข้อมูลชุดผ่าน HTTP (เอส) . Get ได้รับการสนับสนุนจากโปรแกรมทุกชิ้นที่สามารถทํางานกับ HTTP (เอส) . ได้มาก็ง่ายเหมือนกัน ทุกคนอยู่แล้วรู้วิธีการทํางานกับ GE และหลายคนรู้วิธีการใช้ POS (ซึ่งสามารถใช้ได้แบบเดียวกับ GP) เราเลยทํา EDTable fromhtpget ทํางานกับ JE และ POST มีไม่กี่คน (ขนาดโปรแกรมเมอร์คอมพิวเตอร์น้อยนัก) เคยทํางานกับแลมเบอร์และเดเลต โดย ทั่ว ไป แล้ว ภาษา คอมพิวเตอร์ จะ ให้ การ สนับสนุน เท่า นั้น ดัง นั้น การ ใช้ ภาษา เหล่า นั้น ต้อง ใช้ โปรแกรม ที่ ชํานาญ. ดัง นั้น ตาม ปกติ แล้ว เครื่อง มือ และ เครื่อง มือ ต่าง ๆ เป็น วิธี ที่ น่า รําคาญ ยิ่ง ขึ้น เมื่อ คํานึง ถึง วิธี ที่ เครื่อง มือ ได้ พัฒนา ขึ้น.
บันทึกช่วยจํา Httpget
- บันทึกย่อ
- ไม่ dataVariable อาจมีข้อมูลแบบย่อ=ชาร์ ใช้ข้อมูลต่าง ๆ= string แทน ถ้าคุณต้องการข้อมูลประเภท=Char, อีเมล์คริส จอห์นที่โนอา โกฟ
ขอบคุณ
- ขอบคุณสําหรับความคิดพื้นฐาน
แนวคิดพื้นฐานสําหรับ EDTable from Htttpget (เช่น ใช้ HTTP GET ต้องการเพิ่มข้อมูลลงในชุดข้อมูล) จากยูคาร์ (ของ Ncar?) บริการข้อมูลแบบเรียลไทม์ (CHORDS) โครงการ รูปแบบพารามิเตอร์ในการร้องขอ (ซ้ํา ชื่อ=ค่า เรียงลําดับโดย &) เป็นรูปแบบมาตรฐานที่ถูกใช้โดยแบบฟอร์ม HTML บนหน้าเว็บ มันเป็นความคิดที่เรียบง่ายและฉลาด และยิ่งกว่านั้น เพราะมันเข้ากับ ERDDAP ระบบที่มีอยู่สําหรับการจัดการกับข้อมูลอักขระแท็บลาร์ แนวคิดนี้ชัดเจนในการวิเคราะห์ แต่ผม (บ๊อบ) ไม่ได้คิดถึงมัน แก้ไขลวดลายจุดเชื่อมต่อStencils ใช้แนวคิดพื้นฐานนี้ ผนวกเข้ากับความคิดของเรา ว่าจะนําไปใช้อย่างไร เพื่อสร้างระบบ ERDDAP™ เพื่ออัปโหลดข้อมูล นอกจากแนวคิดพื้นฐานของการใช้ GEP เพื่อผลักดันข้อมูลเข้าสู่ระบบ EDTable from Htpip offication นั้นแตกต่างกันอย่างสิ้นเชิง (e.g., ไฟล์ปูมบันทึก, การแยกข้อมูล, ระบบรักษาความปลอดภัยที่แตกต่างกัน, การรองรับ CRUD, ข้อมูลที่ถอดได้) . การที่เราเจอชอพชร็อพ ก็แค่ตัวอ่อน เรา ไม่ ได้ ดู รหัส ของ พวก เขา หรือ อ่าน เกี่ยว กับ โครงการ ของ พวก เขา เพราะ เรา รู้ ทันที ว่า เรา ต้องการ จะ นํา ระบบ ไป ใช้ อีก แบบ หนึ่ง. แต่ เรา รู้สึก ขอบคุณ พวก เขา สําหรับ แนว คิด พื้น ฐาน. การอ้างอิงอย่างเต็มรูปแบบของ ChORDS คือ แดเนียลส์ เอ็ม. ดี., เคอร์เคซ, บี. จันทราเซก้า, วี., เกรฟส์, เอส., สตรอมส์, เอส., มาร์ติน, ซี., ดี., เอ็ม. (2014) . บริการข้อมูลเรียลไทม์ของจีโอไซลด์ (CHORDS) ซอฟท์แวร์ UCAR/NCAR - ห้องควบคุมโรคโลก https://doi.org/10.5065/d6v1236q
จาก Hyrax แฟ้ม
จาก Hyrax แฟ้ม (หมดอายุแล้ว) ผนวกรวมแฟ้มข้อมูลด้วยตัวแปรหลายค่า แต่ละแฟ้มมีหนึ่งมิติที่ใช้ร่วมกันหรือมากกว่า (ยกตัวอย่างเช่น เวลา ความสูง (ความลึก) ละติจูด ลองติจูด) และรับใช้โดย Hyrax OPeNDAP เซิร์ฟเวอร์ .
- ประเภทชุดข้อมูลนี้คือ ขอบเขต . คําตอบใหม่และทั่วไปกว่า คือการใช้ แคช ตัวเลือกจาก Url สําหรับ EDTable จากแฟ้ม (หรือสิ่งกีดขวาง) ซึ่งทําให้มีสําเนาแฟ้มภายในเครื่อง และป้อนข้อมูลจากแฟ้มภายในระบบ เดอะ<แคชจากUrl> ตัวเลือกต่าง ๆ สามารถใช้ได้จากแฟ้มแท็บ **
ถ้าคุณทํางานไม่ได้ ก็อีเมลไปหาคริส จอห์นที่โนอา โกฟ หาก ไม่ มี การ ร้อง เรียน ก่อน ปี 2020 ข้อมูล ชุด นี้ อาจ ถูก ขจัด ออก ไป ได้. ** - เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน
- ในกรณีส่วนใหญ่, แต่ละแฟ้มมีหลายค่าสําหรับทางซ้ายที่สุด (ก่อน) เช่นมิติ เวลา
- แฟ้มมักจะ (แต่ไม่ต้อง) มีค่าเดียวสําหรับมิติอื่น (ยกตัวอย่างเช่น ความสูง (ความลึก) ละติจูด ลองติจูด) .
- แฟ้มอาจมีตัวแปรที่มีมิติเพิ่มเติม (ยกตัวอย่างเช่น ncharacts) .
- Hyrax สามารถระบุเซิร์ฟเวอร์ได้โดย "/dods-bin/nph-dods/" หรือ "/ opendap/" ในที่อยู่ URL
- คลาสนี้ทําลายหน้าจอ Hyrax หน้าเว็บที่มีรายการของแฟ้มในแต่ละไดเรกทอรี เพราะอย่างนี้ มันถึงเจาะจงในรูปแบบปัจจุบัน Hyrax เว็บเพจ เราจะพยายามปรับตัว ERDDAP™ ได้อย่างรวดเร็วหาก/ เมื่อรุ่นในอนาคตของ Hyrax เปลี่ยนรายการของแฟ้ม
- เดอะ<ชื่อแฟ้มDir > การตั้งค่าจะถูกละทิ้ง เนื่องจากคลาสนี้ดาวน์โหลดและทําสําเนาแฟ้มข้อมูลภายในแต่ละแฟ้ม ERDDAP™ บังคับให้แฟ้ม ♪ Dir to be เครื่อง มือ ขนาด ใหญ่ / รับทราบ / * datasetID * /
- สําหรับ< sourceUrl > ใช้ที่อยู่ URL ของไดเรกทอรีพื้นฐานของชุดข้อมูลใน Hyrax ตัวอย่างเช่น แม่ข่าย < sourceUrl >http://edac-dap.northerngulfinstitute.org/dods-bin/nph-dods/WCOS/nmsp/wcos/</ sourceUrl > (แต่วางบนบรรทัดหนึ่ง) (ขออภัย ที่แม่ข่ายไม่มีอยู่) . เดอะ sourceUrl หน้าเว็บปกติจะมี " OPeNDAP ดัชนีของแม่ข่าย \[ ไดเร็กทอรีName \] "ที่ด้านบน
- เนื่องจากคลาสนี้มักจะดาวน์โหลดและทําคัดลอกแฟ้มข้อมูลภายในแต่ละแฟ้ม คุณไม่ควรจะห่อข้อมูลชุดนี้เข้าไป โปรแกรมคัดลอก DDTable .
- ดูคลาสนี้สิ เลือกแฟ้ม สําหรับข้อมูลการทํางานของคลาสนี้ และวิธีการใช้มัน
- ดูตัวอย่าง 1D, 2D, 3D และ 4 มิติ แฟ้ม DDTAB จาก Nc .
แฟ้ม DDTA จาก InfidCra
แฟ้ม DDTA จาก InfidCra ข้อมูลรวมจาก NetCDF (v3 หรือ v4) .nc แฟ้มที่ใช้ค่าเฉพาะ, ใช้งานไม่ได้, ค่าย่อของ CFDSG แบบต่อเนื่อง Rangle Array (CRA) แฟ้ม ถึงแม้ว่า ERDDAP™ รองรับประเภทแฟ้มนี้ ซึ่งเป็นประเภทแฟ้มที่ไม่ควรใช้ กลุ่มที่จะใช้ประเภทแฟ้มนี้ได้ถูกสนับสนุนให้ใช้ ERDDAP™ เพื่อสร้างแฟ้ม CFDSG CRA และหยุดการใช้แฟ้มเหล่านี้
รายละเอียด: แฟ้มเหล่านี้มีหลายแถว\ขนาดตัวแปร แต่ละแฟ้มมีคุณลักษณะตัวอย่าง\ dension แฟ้มไม่ใช่แฟ้ม CF แบบมาตรฐาน เพราะมีตัวอย่างอยู่ (หลุม) ขนาดจะถูกถอดรหัสและเกี่ยวข้องกับแต่ละอื่น ๆ ด้วย กฎเพิ่มเติมนี้และสัญญาที่ไม่ได้เป็นส่วนหนึ่งของข้อกําหนด CFDSG: "คุณสามารถเชื่อม e.g. ค่าอุณหภูมิที่กําหนด (ชั่วคราว/ มิติ_ดิสก์) ด้วยค่าความลึกที่กําหนด (z/_obs มิติที่มีค่าที่มากที่สุด) เพราะ: แถวอุณหภูมิ/ขนาด (เพื่อให้เป็นที่สังเกต) จะเป็น 0 หรือเท่ากับค่าความลึกแถว\_ขนาด (ขอสาบานต่อนาวา ที่แล่นไปอย่างสะดวกสบาย) (นั่นคือกฏ) . ดังนั้น ถ้าแถวอุณหภูมิ//size ไม่ใช่ 0 แล้วค่าอุณหภูมิ n องศาสําหรับ (นั่นคือคําสัญญา) ""
อีกปัญหาหนึ่งเกี่ยวกับแฟ้มเหล่านี้: อาจารย์ใหญ่/ ตัวแปร size ตัวแปรไม่มีคุณลักษณะตัวอย่าง\ dimession และไม่ได้ทําตามกฏเบื้องบน
หาแฟ้มตัวอย่างสําหรับประเภทชุดข้อมูลนี้ได้ที่https://data.nodc.noaa.gov/thredds/catalog/ncei/wod/ \[ 2020-10-21 เซิร์ฟเวอร์นี้ไม่สามารถใช้งานได้ \] .
ดูคลาสนี้สิ เลือกแฟ้ม สําหรับข้อมูลการทํางานของคลาสนี้ และวิธีการใช้มัน
เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน
สิ่งแรกที่สร้าง Datatatets Xml ทําสําหรับชุดข้อมูลแบบนี้ หลังจากที่คุณตอบคําถามคือ พิมพ์โครงสร้างคล้าย ncdrum ของแฟ้มตัวอย่าง ดังนั้นถ้าคุณใส่คําตอบไม่กี่วลี สําหรับวงแรกผ่านการสร้าง Datatets Xml อย่างน้อยคุณจะได้เห็น ERDDAP™ สามารถอ่านไฟล์และดูว่า มิติและตัวแปรใดในแฟ้ม จากนั้นคุณสามารถให้คําตอบที่ดีกว่า สําหรับวงที่สอง ผ่านการสร้าง DatatatetsXml
แฟ้ม DDTable จาก JonlCSV
แฟ้ม DDTable จาก JonlCSV ข้อมูลรวมจาก เจ สัน แฟ้มข้อความ CSV . ดูคลาสนี้สิ เลือกแฟ้ม สําหรับข้อมูลการทํางานของคลาสนี้ และวิธีการใช้มัน
- ตาม Jsonlines.org กล่าวว่า รูปแบบนี้ "ดีกว่า CSV" (และตามกฎหมาย ในฐานะลูกจ้างของรัฐบาลกลาง ผมไม่เห็นด้วยหรือไม่เห็นด้วย -- มันบ้าบอแค่ไหนกัน?) . CSV ไม่เคยได้รับการนิยามอย่างเป็นทางการ และถูกขัดขวางโดยกระเป๋าประวัติศาสตร์ที่เกี่ยวข้องกับการเชื่อมต่อของมันกับโปรแกรมตารางคํานวณเดิม Jonson line CSV เปรียบเทียบได้อย่างเต็มที่นิยามและประโยชน์จากการเชื่อมต่อนี้ ไปยังมาตรฐาน Json ที่ใช้กันอย่างแพร่หลาย ซึ่งเพื่อเปลี่ยนผลประโยชน์จากการเชื่อมต่อกับ Java สคริปต์และ Java . ที่โดดเด่นคือ มีการสนับสนุนเต็มที่สําหรับจํานวนเต็มยาวและอักขระยูนิโค้ดในสตริง และเป็นวิธีที่ชัดเจนในการรวมอักขระพิเศษอื่น ๆ (แท็บและบรรทัดใหม่ที่โดดเด่น) ในสายใย
รูปแบบนี้จะมีประโยชน์อย่างยิ่งสําหรับชุดข้อมูล ซึ่งคุณต้องเพิ่มข้อมูลเข้าในแถวต่อไปเป็นระยะ ๆ ไปยังส่วนท้ายของแฟ้มข้อมูลที่ให้ สําหรับเหตุผลนั้นและคนอื่นๆ (ดูด้านบน) . เพิ่มข้อมูล ใช้แฟ้ม Jsonline CSV สําหรับเก็บข้อมูล
- แฟ้มนําเข้าถูกสันนิษฐานว่าเป็น UTF-8 แบบเข้ารหัส อย่างไรก็ตาม จากปี พ.ศ. ddd รูปแบบสําหรับการเข้ารหัสอักขระพิเศษ (E.g.,\ U20ac เป็นรหัสอักขระสําหรับอักขระยูโร) คุณมีทางเลือกในการเขียนแฟ้ม เพื่อให้มีตัวอักษรแอสกีแบบ 7 บิต โดยใช้\ u ddd เพื่อเข้ารหัสตัวอักษรทั้งหมดด้านบน # 127.
- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน
สิ่งแรกที่สร้าง DatatasetsXml สําหรับชุดข้อมูลประเภทนี้ หลังจากที่คุณตอบคําถามคือ พิมพ์โครงสร้างคล้าย ncdump ของแฟ้มตัวอย่าง ดังนั้นถ้าคุณใส่คําตอบไม่กี่วลี สําหรับวงแรกผ่านการสร้าง Datatets Xml อย่างน้อยคุณจะได้เห็น ERDDAP™ สามารถอ่านไฟล์และดูว่า มิติและตัวแปรใดในแฟ้ม จากนั้นคุณสามารถให้คําตอบที่ดีกว่า สําหรับวงที่สอง ผ่านการสร้าง DatatatetsXml
- (คําเตือน: เมื่อใด) ERDDAP™ เจ สัน อ่าน แฟ้มข้อมูลข้อความ CSV หากพบข้อผิดพลาดบนบรรทัดที่กําหนด (เช่น, จํานวนรายการไม่ถูกต้อง) มันบันทึกข้อความเตือน ("WARINNG: บรรทัดที่ไม่ดี (วินาที) ของข้อมูล"... กับรายการของบรรทัดที่ไม่ดีในบรรทัดหลัง) ถึง แฟ้มปูมบันทึก.txt แล้วก็อ่านข้อมูลที่เหลือต่อไป ดัง นั้น คุณ ต้อง ดู แล เป็น ระยะ ๆ (หรือเขียนสคริปต์เพื่อทําเช่นนั้น) สําหรับข้อความในบันทึก txt เพื่อให้คุณสามารถแก้ปัญหาในแฟ้มข้อมูลได้ ERDDAP™ มีการตั้งค่าแบบนี้เพื่อให้ผู้ใช้สามารถอ่านข้อมูลทั้งหมดที่ถูกต้องได้ แม้ว่าบางบรรทัดของแฟ้มจะมีข้อบกพร่องก็ตาม
แฟ้ม DDTable จาก Multiidnc
แฟ้ม DDTable จาก Multiidnc ข้อมูลรวมจาก NetCDF (v3 หรือ v4) .nc (หรือ .nc mI ) ไฟล์ที่มีตัวแปรหลายอย่าง แต่ละแบบมีมิติร่วมกันหรือมากกว่า แฟ้มอาจมีตัวแปรที่มี หรือไม่มีมิติเพิ่มเติม (ยกตัวอย่างเช่น STRING14) . ดูคลาสนี้สิ เลือกแฟ้ม สําหรับข้อมูลการทํางานของคลาสนี้ และวิธีการใช้มัน
- ถ้าแฟ้มเป็นแฟ้มแบบหลายมิติแบบ CF DSG, ให้ใช้ประเภทชุดข้อมูลนี้แทน แฟ้ม DDTable จาก NCF .
- สําหรับข้อมูลแท็บใหม่ .nc แฟ้ม, ใช้ตัวเลือกนี้ก่อนที่จะลองใหม่ แฟ้ม DDTAB จาก Nc . ข้อดีของคลาสนี้คือ
- คลาสนี้สามารถอ่านตัวแปรได้มากขึ้น จากโครงสร้างแฟ้มที่กว้างขึ้น หากคุณระบุขนาด ค.ศ. (รายชื่อของมิติที่แยกเป็นจุลภาค) ในชุดสะสม XmI (หรือ<ขนาด CSV> ใน datasets.xml แล้วข้อมูลชุดข้อมูลพวกนี้ ERDDAP™ จะอ่านได้เพียงตัวแปรในแฟ้มแหล่ง ที่ใช้ หรือทุกมิติเหล่านี้, บวกตัวแปรสเกลาร์ทั้งหมด หากมิติอยู่ในกลุ่ม คุณต้องกําหนดชื่อเต็มของมัน เช่น " กลุ่มName ".
- คลาสนี้มักสามารถปฏิเสธแฟ้มได้อย่างรวดเร็ว ถ้ามันไม่ตรงกับเงื่อนไขที่ต้องการ ดังนั้นการอ่านข้อมูลจากชุดสะสมขนาดใหญ่ มักจะไปได้เร็วขึ้นมาก
- คลาสนี้ใช้อักขระจริง (ตัวแปรที่ไม่ใช่ระยะเยื้อง) ถูกต้อง
- คลาสนี้สามารถปรับตัวแปรสตริง เมื่อผู้สร้างไม่ได้ใช้ Netcf-java's wrest strings (แทรกข้อความเข้าที่ # 0 เพื่อทําเครื่องหมายท้ายข้อความ) .
- คลาสนี้จัดการแฟ้มแต่ละตัวได้ดีกว่า ที่ขาดตัวแปรหรือมิติบางอย่าง
- คลาสนี้สามารถลบบล็อกของแถวที่ขาดไปจากค่าที่ระบุไว้ CF แว่นขยาย (แบบ DSG) แฟ้มอาร์เรย์แบบหลายมิติแบบสมบูรณ์
- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน
สิ่งแรกที่สร้าง DatatasetsXml สําหรับชุดข้อมูลประเภทนี้ หลังจากที่คุณตอบคําถามคือ พิมพ์โครงสร้างคล้าย ncdump ของแฟ้มตัวอย่าง ดังนั้นถ้าคุณใส่คําตอบไม่กี่วลี สําหรับวงแรกผ่านการสร้าง Datatets Xml อย่างน้อยคุณจะได้เห็น ERDDAP™ สามารถอ่านไฟล์และดูว่า มิติและตัวแปรใดในแฟ้ม จากนั้นคุณสามารถให้คําตอบที่ดีกว่า สําหรับวงที่สอง ผ่านการสร้าง DatatatetsXml
กลุ่ม... ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ Xml จะขอ "Group". คุณสามารถป้อน "" เพื่อให้มันค้นหาทุกกลุ่ม " บาง กลุ่ม หรือ Group/บางส่วน Subgroup "ให้มันค้นหากลุ่มเฉพาะ" \[ ราก \] "ให้มันค้นหาเพียงกลุ่มราก ข้อความ "Group" กลายเป็น<ในกลุ่ม datasets.xml ข้อมูลชุดข้อมูล (แม้ว่า \[ ราก \] กลายเป็น "") .
ขนาด CSV -- ชุดข้อมูลการสร้าง Xml จะถามข้อความ "DimessionCSV" นี่คือรายการค่าจุลภาคของชื่อแหล่งของชุดมิติ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ Xml จะอ่านเฉพาะตัวแปรข้อมูลในตัวอย่างเท่านั้น .nc แฟ้มที่ใช้กับมิติเหล่านั้น (และไม่มีมิติอื่นๆ) บวกตัวแปรสเกลาร์ทั้งหมดในแฟ้ม แล้วสร้างชุดข้อมูลจากตัวแปรพวกนั้น หากมิติอยู่ในกลุ่ม คุณต้องกําหนดชื่อเต็มของมัน เช่น " กลุ่มName ". หากคุณไม่ได้ระบุสิ่งใด (ข้อความว่าง) สร้างชุดสําเร็จ XMI จะมองหาตัวแปรที่มีมิติมากที่สุด ในทฤษฎีที่ว่ามันจะเป็นสิ่งที่น่าสนใจที่สุด แต่อาจจะมีบางครั้งที่คุณอยากสร้างชุดข้อมูล ถ้าคุณเพียงแค่ระบุชื่อมิติที่ไม่มีอยู่ (e.g., NO/MATCH) . ERDDAP™ จะหาสเกลาร์ทุกตัว ข้อความ "DimessionCSV" กลายเป็น<ขนาด CSV> ใน datasets.xml ข้อมูลชุดข้อมูล
รักษาการแบ่งแยก
มีหมวดหมู่ของไม่ถูกต้อง .nc แฟ้ม (เพราะพวกเขาไม่ทําตามกฏของ CF) ที่มีหลายมิติ (e.g., lat, ลอน, เวลา) เมื่อมันควรจะใช้แค่มิติเดียว (อี.จี. เวลา) ยกตัวอย่างเช่น
dimensions:
time = UNLIMITED ; // (1437 currently)
depth = 10;
lat = 1437 ;
lon = 1437 ;
variables:
double time(time) ;
double lat(lat) ;
double lon(lon) ;
float temperature(time, depth) ;
DDTable from Multiidnc Files มีคุณสมบัติพิเศษในการจัดการกับแฟ้มเหล่านี้: หากคุณเพิ่มคุณสมบัติทั่วไป "รักษา Dimessions" เข้ากับข้อมูลชุดข้อมูลทั่วไป addAttributes คุณบอกได้ว่า ERDDAP™ เพื่อรักษามิติบางอย่าง (e.g., lat and lon) เสมือนหนึ่งพวกเขาเป็นอีกมิติหนึ่ง (อี.จี. เวลา) . ค่าแอททริบิวต์ต้องเป็นรายการที่แยก "จาก" มิติ และ "ไปยัง" มิติ, e.g"
งั้น ERDDAP™ จะอ่านแฟ้มเหมือนกับมันเป็น:
dimensions:
time = UNLIMITED ; // (1437 currently)
depth = 10;
variables:
double time(time) ;
double lat(time) ;
double lon(time) ;
float temperature(time, depth) ;
แน่นอน ขนาดปัจจุบันของแต่ละมิติ ในรายการต้องเท่ากัน ไม่อย่างนั้น ERDDAP™ จะปฏิบัติต่อแฟ้มเป็น "แฟ้ม bad"
โปรดสังเกตว่าแฟ้มเหล่านี้ใช้งานไม่ได้ เนื่องจากไม่เป็นไปตามกฏของ CF ถึงแม้ว่า ERDDAP™ สามารถอ่านได้ เราแนะนําว่า อย่าสร้างไฟล์แบบนี้ เพราะเครื่องมือ CF อื่น ๆ หากคุณมีแฟ้มดังกล่าวอยู่แล้ว เราขอแนะนําให้เปลี่ยนมัน เป็นแฟ้มที่ใช้ได้โดยเร็วที่สุด
แฟ้ม DDTAB จาก Nc
แฟ้ม DDTAB จาก Nc ข้อมูลรวมจาก NetCDF (v3 หรือ v4) .nc (หรือ .nc mI ) แฟ้มและ ซาร์ แฟ้ม (รุ่น 2.25) กับตัวแปรหลาย, แต่ละที่มีหนึ่งมิติร่วมกัน (ยกตัวอย่างเช่น เวลา) หรือมากกว่าหนึ่งมิติที่ใช้ร่วมกัน (ยกตัวอย่างเช่น เวลา ความสูง (ความลึก) ละติจูด ลองติจูด) . แฟ้มต้องมีชื่อมิติเดียวกัน แฟ้มที่กําหนดให้อาจมีหลายขนาดของแต่ละมิติ และค่าต่าง ๆ กันในแฟ้มต้นฉบับ แฟ้มอาจมีตัวแปรที่มีมิติเพิ่มเติม (ยกตัวอย่างเช่น STRING14) . ดูคลาสนี้สิ เลือกแฟ้ม สําหรับข้อมูลการทํางานของคลาสนี้ และวิธีการใช้มัน
แฟ้ม Zar มีพฤติกรรมที่แตกต่างกันเล็กน้อย และต้องการทั้งชื่อแฟ้มRegex หรือพาธ regex เพื่อรวม "zar"
- ถ้า .nc แฟ้มใช้เป็นหนึ่งในแฟ้ม CF แว่นขยาย (แบบ DSG) รูปแบบแฟ้ม, ลองใช้ แฟ้ม DDTable จาก NCF ก่อนที่จะลองนี่
- สําหรับข้อมูลแท็บใหม่ .nc แฟ้ม, ลองใหม่ แฟ้ม DDTable จาก Multiidnc ก่อน
- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน
สิ่งแรกที่สร้าง DatatasetsXml สําหรับชุดข้อมูลประเภทนี้ หลังจากที่คุณตอบคําถามคือ พิมพ์โครงสร้างคล้าย ncdump ของแฟ้มตัวอย่าง ดังนั้นถ้าคุณใส่คําตอบไม่กี่วลี สําหรับวงแรกผ่านการสร้าง Datatets Xml อย่างน้อยคุณจะได้เห็น ERDDAP™ สามารถอ่านไฟล์และดูว่า มิติและตัวแปรใดในแฟ้ม จากนั้นคุณสามารถให้คําตอบที่ดีกว่า สําหรับวงที่สอง ผ่านการสร้าง DatatatetsXml
ขนาด CSV -- ชุดข้อมูลการสร้าง Xml จะถามข้อความ "DimessionCSV" นี่คือรายการค่าจุลภาคของชื่อแหล่งของชุดมิติ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ XmI จะหาตัวแปรข้อมูลใน .nc แฟ้มที่ใช้หรือทุกมิติเหล่านั้น, บวก ตัวแปรสเกลาร์ทั้งหมด, และสร้างชุดข้อมูลจากตัวแปร ข้อมูลพวกนั้น หากคุณไม่ได้ระบุสิ่งใด (ข้อความว่าง) สร้างชุดสําเร็จ XMI จะมองหาตัวแปรที่มีมิติมากที่สุด ในทฤษฎีที่ว่ามันจะเป็นสิ่งที่น่าสนใจที่สุด แต่อาจจะมีบางครั้งที่คุณอยากสร้างชุดข้อมูล
- ตัวอย่าง 1 มิติ: แฟ้ม 1 มิติ แตกต่างจาก 2 มิติ, 3 มิติ, 4 มิติ, แฟ้ม
- คุณอาจมีเซตของ .nc ไฟล์ข้อมูลที่แต่ละไฟล์มี ข้อมูลจํานวนเดือนจากแผ่นฟลอป
- แต่ละแฟ้มจะมี 1 มิติ ตัวอย่างเช่น เวลา (ขนาด = \[ มาก \] ) .
- แต่ละแฟ้มจะมีตัวแปร 1 มิติ หรือ 1 มิติ ซึ่งใช้มิตินั้น ตัวอย่างเช่นเวลา ลองติจูดละติจูด อุณหภูมิอากาศ
- แต่ละแฟ้มอาจมีตัวแปรตัวอักษร 2 มิติ ตัวอย่างเช่น มีมิติ (เวลา, นักแต่งเพลง) .
- ตัวอย่าง 2 มิติ:
- คุณอาจมีเซตของ .nc ไฟล์ข้อมูลที่แต่ละไฟล์มี ข้อมูลจํานวนเดือนจากแผ่นฟลอป
- แต่ละแฟ้มจะมี 2 มิติ ตัวอย่างเช่น เวลา (ขนาด = \[ มาก \] ) และ ไอดี (ขนาด = 1) .
- แต่ละแฟ้มจะมีตัวแปร 2 1 มิติ ที่มีชื่อเดียวกันกับมิติ และใช้มิติชื่อเดียวกัน เช่น เวลา (เวลา) Id (หมายเลข) . ตัวแปร 1 มิตินี้ ควรอยู่ในรายการ< dataVariable > อยู่ในข้อมูล XML
- แต่ละแฟ้มจะมีตัวแปร 2 มิติ 1 ตัว หรือมากกว่า เช่น ลองติจูดละติจูด อุณหภูมิอากาศ อุณหภูมิน้ํา
- แต่ละแฟ้มอาจมีตัวแปรตัวอักษร 3 มิติ ตัวอย่างเช่น มีมิติ (เวลา, ID, Charraters) .
- ตัวอย่าง 3 มิติ:
- คุณอาจมีเซตของ .nc ไฟล์ข้อมูลที่แต่ละไฟล์มี ข้อมูลจํานวน 1 เดือนจากผ้าปูที่นอน
- แต่ละแฟ้มจะมี 3 มิติ ตัวอย่างเช่น เวลา (ขนาด = \[ มาก \] ) แลต (ขนาด = 1) และ ลอน (ขนาด = 1) .
- แต่ละแฟ้มจะมีตัวแปร 3 1 มิติ ชื่อเดียวกันกับมิติ และใช้มิติชื่อเดียวกัน เช่น เวลา (เวลา) แลต (ลา) ลอน (ลอน) . ตัวแปร 1 มิตินี้ ควรอยู่ในรายการ< dataVariable > อยู่ในข้อมูล XML
- แต่ละแฟ้มจะมีตัวแปร 3 มิติ 1 ตัว เช่น อุณหภูมิในอากาศ อุณหภูมิน้ํา
- แต่ละแฟ้มอาจมีตัวแปรตัวอักษร 4 มิติ ตัวอย่างเช่น มีขนาด (เวลา, ลา, ลอน, นราษฎร) .
- ชื่อแฟ้มอาจจะมีชื่อทุ่นในชื่อแฟ้ม
- ตัวอย่าง 4 มิติ:
- คุณอาจมีเซตของ .nc ไฟล์ข้อมูลที่แต่ละไฟล์มี ข้อมูลจํานวนเดือนจากสถานีหนึ่ง ใน แต่ ละ จุด สถานี นี้ จะ รับ การ อ่าน ด้วย ความ ลึก เป็น ลําดับ.
- แต่ละแฟ้มจะมี 4 มิติ ตัวอย่างเช่น เวลา (ขนาด = \[ มาก \] ) ลึก (ขนาด = \[ มาก \] ) แลต (ขนาด = 1) และ ลอน (ขนาด = 1) .
- แต่ละแฟ้มจะมีตัวแปร 1 มิติ 4 ตัว ที่มีชื่อเดียวกันกับมิติ และใช้มิติชื่อเดียวกัน เช่น เวลา (เวลา) ลึก (ความลึก) แลต (ลา) ลอน (ลอน) . ตัวแปร 1 มิตินี้ ควรอยู่ในรายการ< dataVariable > อยู่ในข้อมูล XML
- แต่ละแฟ้มจะมีตัวแปร 4 มิติ 1 ตัว เช่น อุณหภูมิในอากาศ อุณหภูมิน้ํา
- แต่ละแฟ้มอาจมีตัวแปรตัวอักษร 5 มิติ ตัวอย่างเช่น ขนาด (เวลา, เวลา, ลา, ลอน, นราษฎร) .
- ชื่อแฟ้มอาจจะมีชื่อทุ่นในชื่อแฟ้ม
แฟ้ม DDTable จาก NCF
แฟ้ม DDTable จาก NCF รวบรวมข้อมูลต่าง ๆ จาก NetCDF (v3 หรือ v4) .nc (หรือ .nc mI ) แฟ้มซึ่งใช้เป็นหนึ่งในรูปแบบแฟ้มที่ระบุโดย CF แว่นขยาย (แบบ DSG) การ ประชุม ภาค. ดูคลาสนี้สิ เลือกแฟ้ม สําหรับข้อมูลการทํางานของคลาสนี้ และวิธีการใช้มัน
สําหรับแฟ้มที่ใช้เป็นหนึ่งในหลายมิติของ CF DSG, ใช้ แฟ้ม DDTable จาก Multiidnc แทน
การประชุม CF DSG กําหนดรูปแบบแฟ้มหลายสิบรูปแบบ และรวมรูปแบบเล็กๆ อีกมากมาย ชั้นนี้จัดการกับทุกรูปแบบที่เราทราบ แต่เราอาจจะพลาด (หรือมากกว่านั้น) . ดังนั้น ถ้าคลาสนี้ไม่สามารถอ่านข้อมูลจากแฟ้ม CF DSG ของคุณได้ โปรดอ่าน เอื้อม แขนออกเพื่อการสนับสนุนเพิ่มเติม .
เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน
แฟ้ม DDTable จาก Nccsv
แฟ้ม DDTable จาก Nccsv ข้อมูลรวมจาก เข้ารหัสแบบ NCSV แฟ้ม .csv ASCII ดูคลาสนี้สิ เลือกแฟ้ม สําหรับข้อมูลการทํางานของคลาสนี้ และวิธีการใช้มัน
- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน
สิ่งแรกที่สร้าง DatatasetsXml สําหรับชุดข้อมูลประเภทนี้ หลังจากที่คุณตอบคําถามคือ พิมพ์โครงสร้างคล้าย ncdump ของแฟ้มตัวอย่าง ดังนั้นถ้าคุณใส่คําตอบไม่กี่วลี สําหรับวงแรกผ่านการสร้าง Datatets Xml อย่างน้อยคุณจะได้เห็น ERDDAP™ สามารถอ่านไฟล์และดูว่า มิติและตัวแปรใดในแฟ้ม จากนั้นคุณสามารถให้คําตอบที่ดีกว่า สําหรับวงที่สอง ผ่านการสร้าง DatatatetsXml
- (คําเตือน: เมื่อใด) ERDDAP™ อ่านแฟ้มข้อมูล NCSV หากพบว่ามีข้อผิดพลาดบนบรรทัดที่กําหนด (เช่น, จํานวนรายการไม่ถูกต้อง) มันบันทึกข้อความเตือน ("WARINNG: บรรทัดที่ไม่ดี (วินาที) ของข้อมูล"... กับรายการของบรรทัดที่ไม่ดีในบรรทัดหลัง) ถึง แฟ้มปูมบันทึก.txt แล้วก็อ่านข้อมูลที่เหลือต่อไป ดัง นั้น คุณ ต้อง ดู แล เป็น ระยะ ๆ (หรือเขียนสคริปต์เพื่อทําเช่นนั้น) สําหรับข้อความในบันทึก txt เพื่อให้คุณสามารถแก้ปัญหาในแฟ้มข้อมูลได้ ERDDAP™ มีการตั้งค่าแบบนี้เพื่อให้ผู้ใช้สามารถอ่านข้อมูลทั้งหมดที่ถูกต้องได้ แม้ว่าบางบรรทัดของแฟ้มจะมีข้อบกพร่องก็ตาม
อิเล็กทรอนิกส์
อิเล็กทรอนิกส์ (ขอบเขต) จับข้อมูลจาก NOAA โหนด แหล่งที่มาซึ่งใช้ SOAP+XML สําหรับคําขอและการตอบสนอง มันเจาะจงมากกับ NOAA NOS ของ XML ดูตัวอย่าง EDTable fromNOS ในชุดข้อมูล 2xml
อิเล็กทรอนิกส์จาก OBIS
อิเล็กทรอนิกส์จาก OBIS จัดการกับข้อมูลจากระบบข้อมูลชีวประวัติมหาสมุทร (OBIS) เซิร์ฟเวอร์ (คือhttp://www.iobis.org ) . เป็นไปได้ว่า ไม่มีเซิร์ฟเวอร์ที่ทํางานอยู่ ใช้ระบบเซิร์ฟเวอร์ OBIS นี้เดี๋ยวนี้
- เซิร์ฟเวอร์ OBIS คาดว่าจะมีการร้องขอแบบ XML และตอบกลับแบบ XML
- เพราะเซิร์ฟเวอร์ของ OBIS ล้วนให้บริการตัวแปรเดียวกัน (คือhttp://iobis.org/tech/provider/questions) คุณไม่ต้องระบุข้อมูลมากนัก เพื่อตั้งค่าชุดข้อมูล OBIS ERDDAP .
- คุณต้องรวม" creator\_email "คุณสมบัติของโลก addAttributes ตั้งแต่ข้อมูลนั้น ถูกใช้ภายในใบอนุญาต ที่อยู่อีเมลที่เหมาะสม จะสามารถพบได้โดยอ่านการตอบกลับแบบ XML จากแหล่งกําเนิด
- คุณอาจหรืออาจจะไม่สามารถได้คุณลักษณะระดับโลก< subsetVariables >) (# เปลี่ยนตัวแปรได้) เพื่อทํางานกับเซิร์ฟเวอร์ของ OBIS ถ้าคุณลอง, ลองแค่ตัวแปรเดียว (ยกตัวอย่างเช่น วิทยาศาสตร์ หรือ จีนัส) .
อิเล็กทรอนิกส์จาก OBIS โครงสร้าง XML
<dataset type="EDDTableFromOBIS" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<sourceCode>...</sourceCode>
<!-- If you read the XML response from the sourceUrl, the
source code (for example, GHMP) is the value from one of the
<resource><code> tags. -->
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<-- All ...SourceMinimum and Maximum tags are OPTIONAL -->
<longitudeSourceMinimum>...</longitudeSourceMinimum>
<longitudeSourceMaximum>...</longitudeSourceMaximum>
<latitudeSourceMinimum>...</latitudeSourceMinimum>
<latitudeSourceMaximum>...</latitudeSourceMaximum>
<altitudeSourceMinimum>...</altitudeSourceMinimum>
<altitudeSourceMaximum>...</altitudeSourceMaximum>
<-- For timeSource... tags, use yyyy-MM-dd'T'HH:mm:ssZ format. -->
<timeSourceMinimum>...</timeSourceMinimum>
<timeSourceMaximum>...</timeSourceMaximum>
<sourceNeedsExpandedFP\_EQ>true(default)|false</sourceNeedsExpandedFP\_EQ>
<!-- 0 or 1 -->
<addAttributes>...</addAttributes> <!-- 0 or 1. This MUST include
"creator\_email" -->
</dataset>
เลือกจากแฟ้ม Parquet
เลือกจากแฟ้ม Parquet จัดการกับข้อมูล สี่เหลี่ยม . ดูคลาสนี้สิ เลือกแฟ้ม สําหรับข้อมูลการทํางานของคลาสนี้ และวิธีการใช้มัน
- Parquet ถูกออกแบบมาเพื่อบีบข้อมูลอย่างมีประสิทธิภาพ ดังนั้นมันอาจให้ขนาดแฟ้มขนาดเล็กกว่ารูปแบบอื่น ๆ
- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน
- (คําเตือน: เมื่อใด) ERDDAP™ อ่านแฟ้มข้อมูล Parquett หากมันพบข้อผิดพลาดบนบรรทัดที่กําหนด (เช่น, จํานวนรายการไม่ถูกต้อง) มันบันทึกข้อความเตือน ("WARINNG: บรรทัดที่ไม่ดี (วินาที) ของข้อมูล"... กับรายการของบรรทัดที่ไม่ดีในบรรทัดหลัง) ถึง แฟ้มปูมบันทึก.txt แล้วก็อ่านข้อมูลที่เหลือต่อไป ดัง นั้น คุณ ต้อง ดู แล เป็น ระยะ ๆ (หรือเขียนสคริปต์เพื่อทําเช่นนั้น) สําหรับข้อความในบันทึก txt เพื่อให้คุณสามารถแก้ปัญหาในแฟ้มข้อมูลได้ ERDDAP™ มีการตั้งค่าแบบนี้เพื่อให้ผู้ใช้สามารถอ่านข้อมูลทั้งหมดที่ถูกต้องได้ แม้ว่าบางบรรทัดของแฟ้มจะมีข้อบกพร่องก็ตาม
จาก SOS
**จาก SOS ** จัดการข้อมูลจากบริการ Observation (เอสอี/ SOS ) เซิฟเวอร์
- ชนิดของข้อมูลชุดนี้ รวมข้อมูลจากกลุ่มของสถานีซึ่งทั้งหมดให้บริการโดยหนึ่ง SOS เซิฟเวอร์
- สถานีทั้งหมดให้บริการ ชุดของตัวแปรเดียวกัน (แม้ว่าแหล่งที่มาของแต่ละสถานี จะไม่จําเป็นต้องให้บริการทุกตัวแปร) .
- SOS เซิร์ฟเวอร์คาดหวังการร้องขอแบบ XML แล้วคืนค่าเป็น XML
- เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน ไม่ง่ายที่จะสร้างชุดข้อมูล XML สําหรับ SOS ชุดข้อมูลด้วยมือ เพื่อ จะ ได้ ข้อมูล ที่ จําเป็น คุณ ต้อง ไป เยี่ยม sourceUrl +"? บริการ= SOS & การถาม = GetCapabilities "ในเบราว์เซอร์; ดูที่ XML; ทําการร้องขอ GetObservation ด้วยมือ; และดูที่การตอบสนองแบบ XML ต่อการร้องขอ
- การเพิ่มรูปแบบใหม่ SOS เครื่องแม่ข่ายและการเปลี่ยนแปลงเครื่องแม่ข่ายเครื่องเก่ากําลังเริ่มยากขึ้น ERDDAP™ เพื่อตรวจสอบชนิดของเซิร์ฟเวอร์โดยอัตโนมัติ จากการตอบสนองของแม่ข่าย การใช้<Sos Server THE) (ด้วยค่าของ ioOS\_NDBC, ioOS\ NORS OOSTethys #หรือใคร#) ตอนนี้ได้รับการตอบรับแล้ว หากคุณมีปัญหากับชุดข้อมูลใด ๆ ของประเภทนี้ ให้ลองสร้าง Datatas ใหม่ Xml สําหรับ SOS เซิฟเวอร์ สร้าง ชุดข้อมูล XMI จะให้คุณลองแทน<Sosserver Passwer) ตัวเลือก จนกว่าคุณจะพบค่าที่เหมาะสมสําหรับเซิร์ฟเวอร์ที่กําหนด
- SOS ภาพรวม:
- แบบ SWE (เปิดใช้งานเว็บตัวตรวจจับ) ถึง SOS (บริการ Observation ของตัวตรวจจับ) คือ มาตรฐาน OpenGISH . เว็บไซต์นั้นมีเอกสารมาตรฐาน
- เดอะ OGC Webservice inter 1. 0 ( OGC 06-1213) ครอบคลุมการก่อสร้าง get and POST quesies (ดูตอน 7.2.3 และตอน 9) .
- ถ้าคุณส่งความน่าจะเป็น xml ร้องขอ SOS เซิร์ฟเวอร์ ( sourceUrl +"? บริการ= SOS & การถาม = GetCapabilities ") คุณได้ผล xml จากรายการของสถานี และค่าที่สังเกต คุณสมบัติที่พวกเขามีข้อมูล
- เครื่องราชอิสริยาภรณ์ที่สังเกตได้ เป็น URI ที่อ้างอิงไปยังทรัพย์สิน ตัวอย่างเช่น, urn:ogc:phenineon: ลองติจูด: wgs84 หรือhttps://mmisw.org/ont/cf/parameter/sea\\_water\\_temperature
- สัญญาณที่สังเกตได้ไม่ใช่ตัวแปร
- มีตัวแปรมากกว่าหนึ่งตัวที่สังเกตได้ คุณสมบัติ (ยกตัวอย่างเช่น ภายใน Temp และภายนอก Temp อาจจะทั้งสองได้สังเกต คุณสมบัติhttps://mmisw.org/ont/cf/parameter/air\\_temperature) .
- ถ้าคุณส่งคําร้องขอไป SOS เซิร์ฟเวอร์ คุณได้ผล xml พร้อมกับรายละเอียดของชื่อสนาม ในช่องตอบรับ, หน่วยภาคสนาม, และข้อมูล ชื่อสนามจะรวม ลองติจูดละติจูด ความลึก (บางที) และเวลา
- แต่ละ dataVariable สําหรับ EDTable from SOS ต้องรวมแอตทริบิวต์ "Property" ที่ระบุเครื่องหมาย propperty ที่จะต้องร้องขอจากเซิร์ฟเวอร์เพื่อให้ได้ตัวแปรนั้น บ่อย ครั้ง หลาย dataVariable s จะระบุองค์ประกอบที่สังเกตได้
- ข้อมูล dataVariable อาจจะไม่ได้ระบุโดยเซิร์ฟเวอร์ หากเป็นเช่นนั้น คุณต้องดูที่การตอบรับข้อมูล XML จากเซิร์ฟเวอร์ และกําหนดค่าที่เหมาะสม<ข้อมูล (# ดาต้าชนิด) ใน ERDDAP™ ชุดข้อมูล dataVariable นิยาม
- (ตอนเขียนนี่) บาง SOS แม่ข่ายให้บริการตอบสนองต่อการร้องขอการเรียกดูมากกว่าหนึ่งตัว คุณสมบัติ โดย แค่ กลับ ผล สําหรับ ข้อ ดี ข้อ แรก ที่ สังเกต เห็น. (ไม่มีข้อความผิดพลาด!) ดูการร้องขอพารามิเตอร์ของตัวสร้าง สังเกตุการณ์ดี
- จาก SOS เพิ่มอัตโนมัติ
station\_id, longitude, latitude
ไปยังคุณสมบัติโลกของข้อมูล เมื่อชุดข้อมูลถูกสร้างขึ้น - SOS เครื่องแม่ข่ายปกติจะแสดง หน่วย กับ UCUM ระบบ มาก ERDDAP™ หน่วยด่วนเซิร์ฟเวอร์พร้อมบริการ UDUNITS ระบบ ถ้าคุณต้องการที่จะแปลงระหว่างระบบทั้งสอง คุณสามารถใช้ ERDDAP บริการเว็บที่จะแปลงหน่วย UCUM เป็น/ จาก UDUNITS .
จาก SOS โครงสร้าง XML
<dataset type="EDDTableFromSOS" datasetID\="..." active\="..." >
<sourceUrl>...</sourceUrl>
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<sosServerType>...</sosServerType> <!-- 0 or 1, but STRONGLY
RECOMMENDED. This lets you specify the type of SOS server
(so ERDDAP™ doesn't have to figure it out).
Valid values are: IOOS\_NDBC, IOOS\_NOS, OOSTethys, and WHOI. -->
<responseFormat>...</responseFormat> <!-- 0 or 1. Use this only if
you need to override the default responseFormat for the
specified sosServerType. -->
<stationIdSourceName>...</stationIdSourceName> <!-- 0 or 1.
Default="station\_id". -->
<longitudeSourceName>...</longitudeSourceName>
<latitudeSourceName>...</latitudeSourceName>
<altitudeSourceName>...</altitudeSourceName>
<altitudeSourceMinimum>...</altitudeSourceMinimum> <!-- 0 or 1 -->
<altitudeSourceMaximum>...</altitudeSourceMaximum> <!-- 0 or 1 -->
<altitudeMetersPerSourceUnit>...</altitudeMetersPerSourceUnit>
<timeSourceName>...</timeSourceName>
<timeSourceFormat>...</timeSourceFormat>
<!-- timeSourceFormat MUST be either
\* For numeric data: a UDUnits\-compatible string (with the format
"units since baseTime") describing how to interpret
source time values (for example,
"seconds since 1970-01-01T00:00:00Z"), where the
base time is an ISO 8601:2004(E) formatted date time
string (yyyy-MM-dd'T'HH:mm:ssZ).
\* For String date time data: specify
units suitable for string times
describing how to interpret string times (for example, the
ISO8601TZ\_FORMAT "yyyy-MM-dd'T'HH:mm:ssZ"). -->
<observationOfferingIdRegex>...</observationOfferingIdRegex>
<!-- Only observationOfferings with IDs (usually the station names)
which match this regular expression (tutorial) will be included
in the dataset (".+" will catch all station names). -->
<requestObservedPropertiesSeparately>true|false(default)
</requestObservedPropertiesSeparately>
<sourceNeedsExpandedFP\_EQ>true(default)|false</sourceNeedsExpandedFP\_EQ>
<addAttributes>...</addAttributes> <!-- 0 or 1 -->
<dataVariable>...</dataVariable> <!-- 1 or more.
\* Each dataVariable MUST include the dataType tag.
\* Each dataVariable MUST include the observedProperty attribute.
\* For IOOS SOS servers, \every\ variable returned in the text/csv
response MUST be included in this ERDDAP™ dataset definition. -->
</dataset>
แฟ้ม EDTIVE จาก Thredds February
แฟ้ม EDTIVE จาก Thredds February (หมดอายุแล้ว) ผนวกรวมแฟ้มข้อมูลด้วยตัวแปรหลายค่า แต่ละแฟ้มมีหนึ่งมิติที่ใช้ร่วมกันหรือมากกว่า (ยกตัวอย่างเช่น เวลา ความสูง (ความลึก) ละติจูด ลองติจูด) และรับใช้โดย (เต๋า) OPeNDAP เซิร์ฟเวอร์ .
- ประเภทชุดข้อมูลนี้คือ ขอบเขต . คําตอบใหม่และทั่วไปกว่า คือการใช้ แคช ตัวเลือกจาก Url สําหรับ EDTable จากแฟ้ม (หรือสิ่งกีดขวาง) ซึ่งทําให้มีสําเนาแฟ้มภายในเครื่อง และป้อนข้อมูลจากแฟ้มภายในระบบ เดอะ<แคชจากUrl> ตัวเลือกต่าง ๆ สามารถใช้ได้กับแฟ้มแท็บลาร์ชนิดใด ๆ จากแหล่งใด ๆ ที่อยู่บนเว็บ ที่ทําการพิมพ์รายการเหมือนไดเร็กทอรี **
ถ้าคุณทํางานไม่ได้ ก็อีเมลไปหาคริส จอห์นที่โนอา โกฟ หาก ไม่ มี การ ร้อง เรียน ก่อน ปี 2020 ข้อมูล ชุด นี้ อาจ ถูก ขจัด ออก ไป ได้. ** - เราขอแนะนําให้ใช้ ตั้งค่าชุดภาพไอคอนสื่ออารมณ์ โปรแกรม Xml เพื่อให้ฉบับหยาบของ datasets.xml รวมเข้ากับชุดข้อมูล จากนั้นคุณสามารถแก้ไขที่ปรับมัน
- ในกรณีส่วนใหญ่, แต่ละแฟ้มมีหลายค่าสําหรับทางซ้ายที่สุด (ก่อน) เช่นมิติ เวลา
- แฟ้มมักจะ (แต่ไม่ต้อง) มีค่าเดียวสําหรับมิติอื่น (ยกตัวอย่างเช่น ความสูง (ความลึก) ละติจูด ลองติจูด) .
- แฟ้มอาจมีตัวแปรที่มีมิติเพิ่มเติม (ยกตัวอย่างเช่น ncharacts) .
- เซิร์ฟเวอร์ THEDS สามารถระบุได้โดย "/threds/" ในที่อยู่ URL ยกตัวอย่างเช่น
https://www.ncei.noaa.gov/thredds/catalog/uv/6h\\_strs\\_agg/catalog.html
- เซิร์ฟเวอร์ THEDS มีแคตตาล็อกหลายที่ คลาสนี้ RICIRES ที่ที่อยู่ URL รวม "/ Thrreds/catalog/". คุณสามารถหาตัวแปรนี้ได้โดยเริ่มจากเว็บเบราว์เซอร์ในรากของรายการ จากนั้นคลิกผ่านไปยังช่องย่อยที่ต้องการ
- คลาสนี้อ่านรายการแฟ้ม.xml ที่ให้บริการโดย THEDS กับรายการของ<แคตตาล็อกRefs) (อ้างอิงไปยังแคตตาล็อกเพิ่มเติม.xml sub-files) ถึง<ชุดข้อมูล:s (แฟ้มข้อมูล) .
- เดอะ<ชื่อแฟ้มDir > การตั้งค่าจะถูกละทิ้ง เนื่องจากคลาสนี้ดาวน์โหลดและทําสําเนาแฟ้มข้อมูลภายในแต่ละแฟ้ม ERDDAP™ บังคับให้แฟ้ม ♪ Dir to be เครื่อง มือ ขนาด ใหญ่ / รับทราบ / * datasetID * /
- สําหรับ< sourceUrl > ใช้ที่อยู่ URL ของรายการแฟ้ม.xml สําหรับข้อมูลในเซิร์ฟเวอร์ THEDS ตัวอย่างเช่น: สําหรับที่อยู่ URL นี้ ซึ่งอาจจะถูกใช้ในเว็บเบราว์เซอร์ https://data.nodc.noaa.gov/thredds/catalog/nmsp/wcos/catalog.html \[ 2020-10-21 เซิร์ฟเวอร์นี้ไม่สามารถใช้งานได้อีก \] . ใช้< sourceUrl >https://data.nodc.noaa.gov/thredds/catalog/nmsp/wcos/catalog.xml</ sourceUrl > (แต่วางบนบรรทัดหนึ่ง) .
- เนื่องจากคลาสนี้มักจะดาวน์โหลดและทําคัดลอกแฟ้มข้อมูลภายในแต่ละแฟ้ม คุณไม่ควรจะห่อข้อมูลชุดนี้เข้าไป โปรแกรมคัดลอก DDTable .
- ประเภทชุดข้อมูลนี้รองรับรูปแบบ OPOtical, แทบจะไม่ใช้, แท็กพิเศษ<Mode พิเศษ) โหมด </ การปรับแต่งพิเศษ) ซึ่งสามารถใช้เพื่อระบุกฏพิเศษ, โค้ดยาก ให้ใช้พิจารณาว่าควรดาวน์โหลดแฟ้มใดจากเซิร์ฟเวอร์ ปัจจุบัน มันใช้ได้อย่างเดียว โหมด คือ Sampos ซึ่งถูกใช้กับชุดข้อมูลต่าง ๆhttps://tds.coaps.fsu.edu/thredds/catalog/samosเพื่อดาวน์โหลดเฉพาะแฟ้มที่มีหมายเลขรุ่นสุดท้ายเท่านั้น
- ดูคลาสนี้สิ เลือกแฟ้ม สําหรับข้อมูลการทํางานของคลาสนี้ และวิธีการใช้มัน
- ดูตัวอย่าง 1D, 2D, 3D และ 4 มิติ แฟ้ม DDTAB จาก Nc .
จาก WFS แฟ้ม
จาก WFS แฟ้ม (ขอบเขต) ทําสําเนาข้อมูลทั้งหมดจาก ArcGIS เซิร์ฟเวอร์แผนที่ WFS เซิร์ฟเวอร์ เพื่อให้ข้อมูลสามารถถูกตรวจสอบใหม่ได้อย่างรวดเร็ว ERDDAP™ ผู้ใช้
- คุณต้องระบุระดับความสมบูรณ์ sourceUrl คุณสมบัติระดับโลกที่จะบอกว่า ERDDAP™ จะร้องขอข้อมูลคุณสมบัติจากเซิร์ฟเวอร์อย่างไร โปรดใช้ตัวอย่างนี้เป็นตัวต้นแบบ:
<att name="sourceUrl">http://*someUrl/dir1/dir2*/MapServer/WFSServer?request=GetFeature&service=WFS&typename=aasg:BoreholeTemperature&format="text/xml;%20subType=gml/3.1.1/profiles/gmlsf/1.0.0/0"</att>
(แต่ติดไว้แค่เส้นเดียว)
- คุณต้องเพิ่มคุณลักษณะพิเศษระดับโลกเพื่อบอก ERDDAP™ วิธี ระบุ ชื่อ ชิ้น ข้อมูล ที่ ควร จะ ดาวน์โหลด. นี้อาจจะทํางานสําหรับ EDTable ทั้งหมดจาก WFS ชุดข้อมูลแฟ้ม:
<att name="rowElementXPath">/wfs:FeatureCollection/gml:featureMember</att>
- เนื่องจากคลาสนี้มักจะดาวน์โหลดและทําคัดลอกแฟ้มข้อมูลภายในแต่ละแฟ้ม คุณไม่ควรจะห่อข้อมูลชุดนี้เข้าไป โปรแกรมคัดลอก DDTable .
- ดูคลาสนี้สิ เลือกแฟ้ม สําหรับ ข้อมูล เพิ่ม เติม ว่า ชั้น เรียน นี้ ทํา งาน อย่าง ไร และ จะ ใช้ อย่าง ไร.
แผ่น ดิน เหนียว
แผ่น ดิน เหนียว สามารถสร้างชุดข้อมูล EDTable จากกลุ่ม "เด็ก" ข้อมูลแบบ EDTable
- ต่อ ไป นี้ เป็น คํา แนะ นํา บาง อย่าง สําหรับ ใช้ ใน การ ดู แล ผู้ ป่วย ระยะ สุด ท้าย:
- คุณสามารถสร้างชุดข้อมูล EDTableAggregateRows จากแฟ้มหรือแหล่งข้อมูลแบบต่าง ๆ ได้ เช่น ข้อมูลชุดที่มีข้อมูลจนถึงสิ้นเดือนก่อน .nc แฟ้ม CF และชุดข้อมูลสําหรับเดือนปัจจุบันที่ถูกจัดเก็บไว้ในฐานข้อมูลความสัมพันธ์
- คุณสามารถทํา DDTableAugregate Rows ได้ เพื่อจัดการกับการเปลี่ยนแปลงของแฟ้มต้นทาง (ตัวอย่างเช่น รูปแบบเวลามีการเปลี่ยนแปลง หรือชื่อตัวแปรมีการเปลี่ยนแปลง หรือข้อมูล ประเภท/ ประเภท scale\_factor / add\_offset เปลี่ยน) . ในกรณีนี้ เด็กคนหนึ่งจะได้ข้อมูลจากไฟล์ที่สร้างขึ้นก่อนการเปลี่ยนแปลง และเด็กอีกคนหนึ่งจะได้ข้อมูลจากไฟล์ที่สร้างขึ้นหลังการเปลี่ยนแปลง การใช้ EDTableAgregate Rows นี้เป็นทางเลือกอื่นที่ต้องใช้ ขนาด NcML หรือ NCO . นอกจากจะมีคุณสมบัติการแยกแยะในชื่อแฟ้ม (เพื่อให้คุณสามารถใช้<แฟ้มชื่อRegx > เพื่อตรวจสอบว่าแฟ้มไหนเป็นแฟ้มของชุดข้อมูลเด็ก) คุณอาจต้องจัดเก็บแฟ้มสําหรับชุดข้อมูลเด็กสองชุด ในไดเรกทอรีที่แตกต่างกัน
- คุณสามารถสร้างชุดข้อมูล EDTableAggregateRows ที่มีข้อมูลตัวแปรร่วมของตัวแปรหนึ่งหรือมากกว่าที่คล้ายกัน แต่ข้อมูลที่แตกต่างกัน ตัวอย่างเช่น ชุดข้อมูลซึ่งสร้างข้อมูลโพรไฟล์จากชุดชุดข้อมูลโพรไฟล์, ชุดข้อมูลเวลา และข้อมูล TracyProfile (ซึ่งมีตัวแปรต่าง ๆ และตัวแปรที่เหมือนกัน ในกรณีที่คุณต้องทําตัวแปรพิเศษสําหรับชุดข้อมูลเด็ก) .
- คุณสามารถมีชุดข้อมูลแบบพื้นฐานหลายชุด แต่ละชุดมีข้อมูลชนิดเดียวกัน แต่มาจากสถานีอื่น คุณสามารถปล่อยชุดข้อมูลเหล่านั้นไว้เหมือนเดิม แต่ยังสร้างชุดข้อมูล EDTABEAGGEGROWS ซึ่งมีข้อมูลจากทุกสถานี DDTable from Edardp ซึ่งชี้ไปที่หนึ่งในชุดข้อมูลของสถานีที่มีอยู่ ถ้าคุณทําเช่นนี้ ให้แต่ละ EDTable from Eddadap ชุดข้อมูลที่แตกต่างกัน datasetID กว่าชุดข้อมูลพื้นฐาน standone, e.g. โดยเพิ่ม "hild" ไปยังต้นฉบับ datasetID .
- เด็กแต่ละคน<ชุดข้อมูลที่ระบุไว้: ต้องเป็นชุดข้อมูลที่สมบูรณ์ ราวกับว่ามันเป็นชุดข้อมูลมาตรฐาน แต่ละคนต้องมีเหมือนกัน dataVariable วินาที ในลําดับเดียวกัน กับ destinationName วินาที . ข้อมูล ชนิด . missing\_value วินาที . _สัญญาอนุญาต และ หน่วย . ข้อมูลกํากับภาพของแต่ละตัวแปรสําหรับ EDTABEAGGERows languages มาจากตัวแปรต่าง ๆ ในชุดข้อมูลเด็กชุดแรก แต่ EDTAGGGEGRows จะปรับปรุงข้อมูล actual\_range ข้อมูลกํากับภาพเป็นช่วงของเด็กๆทุกคน
- แนะนํา: ให้ชุดข้อมูลเด็กแต่ละชุด ทํางานเป็นชุดข้อมูลเดี่ยว แล้วพยายามทําให้ DDTableAgregate Rows ข้อมูลโดยการตัดและวางลง datasets.xml ชิ้นส่วนแต่ละลงใน EDTableAggregate ใหม่ ข้อมูลแถว
- ลําดับรายการข้อมูลปริยาย ลําดับของชุดข้อมูลเด็ก กําหนดลําดับผลลัพธ์ปริยาย แน่นอน ผู้ใช้สามารถร้องขอลําดับอื่นสําหรับผลลัพธ์ที่ได้โดยเพิ่มเข้าไป orderBy (" รายการตัวแปรการแยกเครื่องหมายจุลภาค ") เพื่อสิ้นสุดการถามของพวกเขา
- "แหล่งข่าว" ทั่ว โลก แอททริบิวต์ สําหรับ EDTable Aggregate Rows คือ ATTributions ที่รวมกันแล้วจากชุดข้อมูลเด็กชุดแรก แผ่น ดิน ไหว แถวสามารถมีทั่วโลก< addAttributes > เพื่อเพิ่มคุณสมบัติภายในประเทศ หรือควบคุมคุณสมบัติของโลก
แก้ไขโครงการหลัก... โครงสร้างแถว XML
<dataset type="EDDTableAggregateRows" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaFiles>true|false(default)</accessibleViaFiles>
<!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<updateEveryNMillis>...</updateEveryNMillis> <!-- 0 or 1. -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<dataset>...</dataset> <!-- 1 or more -->
</dataset>
โปรแกรมคัดลอก DDTable
โปรแกรมคัดลอก DDTable สามารถสร้างชุดข้อมูลแบบ EDTable ในท้องถิ่นได้หลายประเภท และจากนั้นก็ตรวจสอบข้อมูลอีกครั้งอย่างรวดเร็ว จากสําเนาท้องถิ่น
- โปรแกรมคัดลอก DDTable (และสําหรับข้อมูลกริด EDDGrid คัดลอก ) เป็นการใช้ง่ายและมีประสิทธิภาพมาก คําตอบของปัญหาที่ใหญ่ที่สุดบางข้อ กับการให้บริการข้อมูลจากแหล่งข้อมูลระยะไกล
- การเข้าถึงข้อมูลจากแหล่งข้อมูลระยะไกล อาจช้า
- มันอาจจะช้าเพราะว่าพวกมันช้า (ตัวอย่างเช่น เซิร์ฟเวอร์ประเภทไม่มีประสิทธิภาพ) .
- แท้จริงพวกเขา (มุชริกีน)มองเห็นการลงโทษอย่างหนัก
- หรือเพราะว่าเซิร์ฟเวอร์ของคุณหรือเซิร์ฟเวอร์ระยะไกล มีข้อจํากัดของแบนด์วิธ
- ชุดข้อมูลระยะไกลไม่มีอยู่ (อีกครั้ง ด้วยเหตุผลหลากหลาย) .
- การพึ่งพาแหล่งเดียวสําหรับข้อมูลไม่ได้สัดส่วนที่ดี (ตัวอย่างเช่น เมื่อผู้ใช้หลายคนและหลายคน ERDDAP ใช้มัน) .
- การเข้าถึงข้อมูลจากแหล่งข้อมูลระยะไกล อาจช้า
- วิธีทํางาน -- การคัดลอกแบบ EDTable จะแก้ปัญหาเหล่านี้ได้โดยให้อัตโนมัติ และเก็บรักษาสําเนาข้อมูลท้องถิ่น ERDDAP™ สามารถให้บริการข้อมูลจากสําเนาท้องถิ่นอย่างรวดเร็วมาก การทําและใช้การคัดลอกภายในเครื่อง ช่วยบรรเทาภาระบนเซิร์ฟเวอร์ทางไกล และสําเนาท้องถิ่นนี้ เป็นการสํารองข้อมูลของต้นฉบับ ซึ่งมีประโยชน์ ในกรณีที่มีบางอย่างเกิดขึ้นกับต้นฉบับ
ไม่มีอะไรใหม่เกี่ยวกับการทําสําเนาข้อมูลท้องถิ่น สิ่งที่ใหม่ที่นี่ก็คือ ชั้นเรียนนี้ทําให้มัน\*ง่าย\*สร้างและสร้าง\*คงที่\*สําเนาข้อมูลของเครื่องจาก\*สี\*ชนิดของข้อมูลทางไกล\*เพิ่มข้อมูลกํากับภาพ\*ขณะคัดลอกข้อมูล
โปรแกรมจําลอง DDTable vs<แคชจากUrl>
<แคชจาก Url> เป็นทางเลือกในการคัดลอก EDTable มันทํางานแตกต่างกัน
- แก้ไขโครงการหลัก... คัดลอกงานโดยการขอข้อมูลชิ้นต่าง ๆ จากบริการทางไกล และเก็บชิ้นงานเหล่านั้นไว้ในแฟ้มภายในระบบ ด้วย เหตุ นี้ จึง มี ประโยชน์ ใน บาง กรณี ที่ ข้อมูล นั้น จะ เข้า ถึง ได้ โดย ทาง รีโมท.
- [<แคชจาก URI] (# คาเชฟัวร์) ดาวน์โหลดแฟ้มที่มีอยู่แล้วในรายการบนเว็บไซต์ทางไกล<แคชจากUrl> จะสามารถใช้ได้ง่ายกว่า และน่าเชื่อถือมากขึ้น เนื่องจากสามารถบอกได้ว่ามีแฟ้มข้อมูลระยะไกลใหม่เมื่อไร หรือแฟ้มข้อมูลทางไกลมีการเปลี่ยนแปลงและจําเป็นต้องดาวน์โหลด
ถ้ามีสถานการณ์ที่เครื่องจําลอง EDTable หรือ<แคชจากUrl> สามารถใช้ได้<แคชจาก Urll> เพราะมันง่ายขึ้นและน่าเชื่อถือมากขึ้น
<การคลายข้อมูล ชื่อ:
แก้ไขโครงการหลัก... คัดลอกทําสําเนาภายในของข้อมูล โดยการขอส่วนย่อยของข้อมูลจากชุดข้อมูลทางไกล แก้ไขโครงการหลัก... คัดลอกตัวกําหนดว่าจะให้ใช้ท่อนไหนในการร้องขอ () ค่าสําหรับ<ถอดรหัสName (ที่ระบุใน datasets.xml ดูด้านล่าง) ซึ่งเป็นชื่อปลายทางของตัวแปร ในชุดข้อมูลระยะไกล ยกตัวอย่างเช่น
<extractDestinationNames>drifter profile</extractDestinationNames>
อาจให้ค่าต่าง ๆ ที่ผสมกันของ Sidder=Tig17, express=1017, Leider= tig17, express=1095,... leeveer=12, CHAR=1223, Leider=12, February=121.
ในสถานการณ์ที่คอลัมน์หนึ่ง (ตัวอย่างเช่น โพรไฟล์) อาจเป็นสิ่งที่จําเป็นในการระบุกลุ่มของข้อมูล โดยพิเศษ ถ้ามีจํานวนมาก ตัวอย่างเช่น โพรไฟล์ อาจมีประโยชน์ที่จะระบุสารสกัดเพิ่มเติม ปลายทาง ชื่อ (ยกตัวอย่างเช่น คนเร่ร่อน) ซึ่งทําหน้าที่แทนโปรไฟล์ ซึ่งจะทําให้มีแฟ้มข้อมูลน้อยลงในไดเรกทอรีที่ให้ ซึ่งอาจทําให้เข้าถึงได้เร็วขึ้น
แฟ้มภายในระบบ
ข้อมูลแต่ละชิ้นจะเก็บไว้ในแยก NetCDF แฟ้มในส่วนย่อยของ เครื่อง มือ ขนาด ใหญ่ / รับทราบ / * datasetID * / (ตามที่กําหนดไว้ใน ตั้งค่า. xml ) . มีระดับทิศทางย่อยหนึ่งสําหรับทั้งหมด แต่มีการสกัดตัวสุดท้ายName ตัวอย่างเช่น ข้อมูลสําหรับ Tig17+1017 จะถูกเก็บไว้ เครื่อง มือ ขนาด ใหญ่ / สําเนา/ sampledatatet/ tig17/1017 .nc . ตัวอย่างเช่น ข้อมูลสําหรับ Une12+1251 จะถูกเก็บไว้ เครื่อง มือ ขนาด ใหญ่ / สําเนา/ SampleDatatet/ Une12/121551 .nc . ไดเรกทอรีและชื่อแฟ้มที่ถูกสร้างจากค่าข้อมูลถูกแก้ไขเพื่อให้มันปลอดภัยจากชื่อแฟ้ม (ตัวอย่างเช่น ช่องว่างถูกแทนที่ด้วย "x20") มันไม่มีผลกับข้อมูลจริง
ข้อมูลใหม่
แต่ละครั้ง EDTable โปรแกรมคัดลอกจะถูกเรียกใหม่อีกครั้ง มันจะตรวจสอบชุดข้อมูลระยะไกล เพื่อดูว่ามีชิ้นส่วนอะไรที่แตกต่างกันบ้าง ถ้าเอกสารสําหรับข้อมูลในส่วนนี้ยังไม่มีอยู่แล้ว การร้องขอรับเนื้อส่วนจะถูกเพิ่มเข้าไปในคิว ERDDAP โพรเซส Head ของงานทั้งหมด ที่ร้องขอจากคิวสําหรับชิ้นข้อมูล, 1 คูณ 1 คุณจะเห็นสถิติของกิจกรรมของ Thead's หน้าสถานะ และใน รายงานรายวัน . (ใช่ ERDDAP™ สามารถกําหนดงานได้หลายอย่างในกระบวนการนี้ แต่จะใช้ข้อมูลจากระยะไกลจํานวนมาก ERDDAP วงดนตรี ความทรงจํา และเวลา CPU ซึ่งไม่ใช่ความคิดที่ดี)
หมายเหตุ: ครั้งแรกที่โหลดสําเนา DDTable (ถ้าทุกอย่างไปได้สวย) จะมีการเพิ่มการร้องขอข้อมูลจํานวนมากเข้าไปในคิวของทาสก์ แต่จะไม่มีการสร้างแฟ้มข้อมูลท้องถิ่น ดังนั้น ผู้สร้างจะล้มเหลว แต่งาน Thead จะยังคงทํางานต่อไปและสร้างแฟ้มภายในเครื่อง หากทั้งหมดไปดี, การอ่านงานจะทําให้บางแฟ้มข้อมูลภายใน และต่อไปพยายามที่จะโหลดข้อมูลชุด (ใน ~15 นาที) จะประสบความสําเร็จ แต่แรก ด้วยจํานวนที่จํากัดมากของข้อมูล
หมายเหตุ: หลังจากชุดข้อมูลท้องถิ่นมีข้อมูลบางอย่าง และปรากฏอยู่ใน ERDDAP ข้อมูลภายในยังคงใช้งานได้
คําเตือน: หากชุดข้อมูลปลายทางมีขนาดใหญ่มาก และ/ หรือเซิร์ฟเวอร์ระยะไกลจะช้า (นั่นคือปัญหาใช่ไหม) มันจะใช้เวลานานกว่าจะทําสําเนาเสร็จ ใน บาง กรณี เวลา ที่ จําเป็น จะ ไม่ เป็น ที่ ยอม รับ. ตัวอย่างเช่น การส่งข้อมูล 1 ทีบี ข้ามเส้น T1 (0. 15 จีบี/s) ใช้เวลาอย่างน้อย 60 วัน ภายใต้เงื่อนไขที่เหมาะสม นอกจากนี้ มันใช้แบนด์วิธ, ความทรงจํา และเวลา CPU ในเครื่องคอมพิวเตอร์ท้องถิ่น คําตอบคือ ส่งฮาร์ดไดรฟ์ไปยังผู้ดูแลระบบของชุดข้อมูลระยะไกล เพื่อให้ s/ he สามารถทําสําเนาของชุดข้อมูล และส่งฮาร์ดไดรฟ์กลับไปให้คุณ ใช้ข้อมูลนั่นเป็นจุดเริ่มต้น และคัดลอก EDTable จะเพิ่มข้อมูลเข้าไป (นั่นคือวิธีการของ อีซีทู คลาวด์ของอะเมซอน ที่ใช้ในการจัดการกับปัญหา ถึงแม้ว่าระบบของพวกเขาจะมีแบนด์วิธจํานวนมาก)
คําเตือน: หากค่าต่าง ๆ ที่กําหนดหายไปจากชุดข้อมูลทางไกล การคัดลอกแบบ DDTable ไม่ได้ลบแฟ้มที่คัดลอกไว้ภายใน ถ้าคุณต้องการ คุณสามารถลบมันด้วยตัวเอง
คัดลอกตาราง<ChecurceData>
เดอะ datasets.xml สําหรับชุดข้อมูลชุดนี้ จะมีป้ายเลือก
<checkSourceData>true</checkSourceData>
ค่าปริยายเป็นจริง หาก/ เมื่อคุณตั้งค่ามันให้เท็จ ชุดข้อมูลจะไม่ตรวจสอบแหล่งข้อมูล เพื่อดูว่ามีข้อมูลเพิ่มเติมหรือไม่
ใช้ที่แนะนํา
- สร้าง<ชุดข้อมูล: รายการ (คน ที่ เป็น ชน พื้น เมือง ไม่ ใช่ คน ที่ ได้ รับ การ คัด ลอก แบบ ดี ดี ดี ที) สําหรับแหล่งข้อมูลระยะไกล ให้มันทํางานอย่างถูกต้อง รวมถึงข้อมูลกํากับทั้งหมดที่ต้องการ
- ถ้ามันช้าเกินไป ให้เพิ่มรหัส XML เพื่อห่อมันไว้ในชุดข้อมูลที่คัดลอกแบบ EDTable
- ใช้อีกแบบ datasetID (บางทีโดยการเปลี่ยนแปลง datasetID ของคนเก่า datasetID นิดหน่อย) .
- คัดลอก<เข้าใช้ได้ TO>,<โหลดทุก ๆ NMinuts) และ<On Changle>. จาก RDTable's XML ของ RDTable ไปเป็น XML ของ EDTable (ค่า ของ พวก เขา ใน เรื่อง การ คัด ลอก แบบ ดีDTable ค่า ของ พวก เขา สําหรับ ข้อมูล ภาย ใน จึง กลาย เป็น เรื่อง ไม่ สําคัญ.)
- สร้าง<แท็ก (ดูด้านบน) .
- <Prographt By> เป็นรายการของตัวแปรปลายทางแยกในข้อมูลระยะไกล เมื่อข้อมูลแต่ละท่อนถูกดาวน์โหลดจากเซิร์ฟเวอร์ทางไกล ชิ้นส่วนจะถูกเรียงลําดับโดยตัวแปรเหล่านี้ (โดยตัวแปรแรก แล้วด้วยตัวแปรที่สอง ถ้าตัวแปรแรกผูกไว้) . ในบางกรณี ERDDAP™ จะสามารถดึงข้อมูลได้เร็วขึ้นจากแฟ้มข้อมูลภายในระบบ หากตัวแปรแรกในรายการเป็นตัวแปรตัวเลข ( "time" จํานวนตัวอักษรที่จะแทนที่) . แต่เลือกตัวแปรเหล่านี้ในแบบที่เหมาะสม สําหรับชุดข้อมูล
- ERDDAP™ จะทําและรักษาสําเนาภายในของข้อมูล
- ข้อควรจํา: การคัดลอกแบบ DDTable สันนิษฐานว่า ค่าข้อมูลแต่ละชิ้นไม่เคยเปลี่ยน หาก/ ตอนที่พวกเขาทํา คุณต้องลบแฟ้มชิ้นงานเข้าไปเอง เครื่อง มือ ขนาด ใหญ่ / รับทราบ / * datasetID * ซึ่งเปลี่ยนไปและ ธง ชุดข้อมูลที่จะเรียกใหม่อีกครั้ง เพื่อให้ส่วนที่ลบไปแล้วถูกแทนที่ หากคุณมีจดหมายบอกรับข้อมูลจดหมาย คุณจะได้รับสองอีเมล: อันแรกเมื่อข้อมูลชุดแรกโหลดและเริ่มคัดลอกข้อมูล และอื่น ๆ เมื่อโหลดข้อมูลชุดข้อมูลอีกครั้ง (อัตโนมัติ) และตรวจสอบแฟ้มข้อมูลของเครื่องใหม่
- เปลี่ยนข้อมูลกํากับภาพ -- ถ้าคุณต้องการเปลี่ยน addAttributes หรือเปลี่ยนลําดับตัวแปรที่เกี่ยวข้องกับชุดข้อมูลแหล่ง:
- เปลี่ยน addAttributes สําหรับชุดข้อมูลต้นฉบับใน datasets.xml ตามที่ต้องการ
- ลบแฟ้มที่คัดลอกไปหนึ่งแฟ้ม
- ตั้งค่า ธง นําข้อมูลกลับมาใช้ใหม่โดยทันที หากคุณใช้ธง และมีการบอกรับอีเมลไปยังชุดข้อมูล คุณก็จะได้อีเมล 2 ฉบับ: อันแรกเมื่อชุดข้อมูลเริ่มโหลดและเริ่มคัดลอกข้อมูล และอื่น ๆ เมื่อโหลดข้อมูลชุดข้อมูลอีกครั้ง (อัตโนมัติ) และตรวจสอบแฟ้มข้อมูลของเครื่องใหม่
- แฟ้มที่ถูกลบออกไปจะถูกสร้างขึ้นมาใหม่โดยใช้ข้อมูลกํากับภาพตัวใหม่ หากไม่มีชุดข้อมูลแหล่งข้อมูล DDTable ชุดข้อมูลการคัดลอก (DDTable Datrap) จะรับข้อมูลกํากับจากแฟ้มที่มีการสร้างขึ้นใหม่ เนื่องจากเป็นแฟ้มที่อายุน้อยที่สุด
- EDDGrid คัดลอก คล้ายกันมากกับการคัดลอกแบบ EDTable แต่ทํางานกับชุดข้อมูลปลอม
โปรแกรมถอดรหัสแบบ DDName
<dataset type="EDDTableCopy" datasetID\="..." active\="..." >
<accessibleTo>...</accessibleTo> <!-- 0 or 1 -->
<graphsAccessibleTo>auto|public</graphsAccessibleTo> <!-- 0 or 1 -->
<accessibleViaFiles>true|false(default)</accessibleViaFiles>
<!-- 0 or 1 -->
<reloadEveryNMinutes>...</reloadEveryNMinutes> <!-- 0 or 1 -->
<defaultDataQuery>...</defaultDataQuery> <!-- 0 or 1 -->
<defaultGraphQuery>...</defaultGraphQuery> <!-- 0 or 1 -->
<addVariablesWhere>...</addVariablesWhere> <!-- 0 or 1 -->
<fgdcFile>...</fgdcFile> <!-- 0 or 1 -->
<iso19115File>...</iso19115File> <!-- 0 or 1 -->
<onChange>...</onChange> <!-- 0 or more -->
<extractDestinationNames>...</extractDestinationNames> <!-- 1 -->
<orderExtractBy>...</orderExtractBy> <!-- 0 or 1 -->
<fileTableInMemory>...</fileTableInMemory> <!-- 0 or 1 (true or false
(the default)) -->
<checkSourceData>...</checkSourceData> <!-- 0 or 1 -->
<dataset>...</dataset> <!-- 1 -->
</dataset>
รายละเอียด
ต่อ ไป นี้ เป็น ราย ละเอียด เกี่ยว กับ ป้าย และ คุณสมบัติ ทั่ว ไป.
<AngularDeal University>
- [ ** <AngularDience University) ** ) (หน่วยองศาเชิงกราน) เป็นป้ายที่ใช้ได้น้อยมาก<Dadapdatatets) ป้ายใน datasets.xml ซึ่งมีรายการของสายหน่วยที่แยกเครื่องหมายจุลภาค ERDDAP™ ควรดูแลเป็นหน่วยองศาเชิงกราน ถ้าตัวแปรหนึ่งมีหนึ่งหน่วย tabledap ' orderByMean กรองจะคํานวณค่าเฉลี่ยในรูปแบบพิเศษ แล้วรายงานค่าเฉลี่ยเป็นค่าจาก - 180 ถึง 180 ดู ERDDAP แฟ้มต้นฉบับของ EDStic.java สําหรับรายการปริยายปัจจุบัน การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง .
<AngularDescription University>
- [ ** <มุม: (สัญญา) ** ) (ความเป็น จริง) เป็นป้ายที่ใช้ได้น้อยมาก<Dadapdatatets) ป้ายใน datasets.xml ซึ่งมีรายการของสายหน่วยที่แยกเครื่องหมายจุลภาค ERDDAP™ ควรปฏิบัติต่อหน่วยที่เป็นมุมจริง ถ้าตัวแปรหนึ่งมีหนึ่งหน่วย tabledap ' orderByMean กรองจะคํานวณค่าเฉลี่ยในรูปแบบพิเศษ แล้วรายงานค่าเฉลี่ยเป็นค่าจาก 0 ถึง 360 ดู ERDDAP แฟ้มต้นฉบับของ EDStic.java สําหรับรายการปริยายปัจจุบัน การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง .
<Standard ทั่วไปName
- [ ** <Standard ทั่วไปName ** ) (ชื่อแฟ้มมาตรฐาน) เป็นป้ายที่ใช้ได้น้อยมาก<Dadapdatatets) ป้ายใน datasets.xml เพื่อกําหนดรายการของเครื่องหมายจุลภาค ชื่อมาตรฐานของ CF . อี.จี.
<commonStandardNames>air\\_pressure, ..., wind\\_to\\_direction</commonStandardNames>
รายการนี้ใช้สําหรับข้อมูล previewerform3. html เพื่อความสะดวกของผู้ใช้ ถ้าคุณต้องการให้ข้อมูลนี้ datasets.xml เริ่มการทํางานโดยคัดลอกรายการปริยายปัจจุบัน<DEFALULL\_คอมมอน สแตนดาร์ดName ใน ERDDAP ' \[ แว่นขยาย \] แฟ้ม / webapps/ erdep/WEB-INF/คลาสต่างๆ/gov/noa/pfel/erdep/util/xmlfile
<มวล
- [ ** <แคชMinuts) ** ) (# คาเชนาที) เป็นป้ายที่ใช้ได้น้อยมาก<Dadapdatatets) ป้ายใน datasets.xml กําหนดอายุ (นาที) ลบแฟ้มที่อยู่ในแคช (ค่าปริยาย=60) . อี.จี.
<cacheMinutes>60</cacheMinutes>
โดยทั่วไปแล้ว จะมีแต่แฟ้มภาพเท่านั้น (เพราะภาพเดียวกันนี้มักจะถูกร้องขอซ้ํา) ถึง .nc แฟ้ม (เนื่องจากมันต้องถูกสร้างอย่างเต็มที่ก่อนจะทําการส่งไปยังผู้ใช้) มีแคช แม้ว่ามันดูเหมือนว่าคําขอที่ให้ ควรตอบกลับเหมือนเดิม, นั่นไม่จริง ยกตัวอย่างเช่น tabledap ร้องขอที่รวมถึงเวลา) บาง เวลา จะเปลี่ยนเมื่อข้อมูลใหม่มาถึง สําหรับชุดข้อมูล และคําขอแบบตารางดาป ซึ่งรวมไปถึง \[ สุดท้าย \] สําหรับมิติเวลาจะมีการเปลี่ยนแปลง เมื่อข้อมูลใหม่มาถึงสําหรับชุดข้อมูล การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง . ก่อน ERDDAP™ v2.00, นี่เป็นการกําหนดในการตั้งค่า.xml, ซึ่งยังคงอนุญาตให้ใช้ได้ แต่ท้อแท้
<มวล
- [ ** <แคช ** ) (# Cachox minute #) เป็นป้ายที่ใช้ได้น้อยมาก<Dadapdatatets) ป้ายใน datasets.xml เพื่อกําหนดความถี่ในการตรวจสอบแฟ้มแคชและลบแฟ้มเก่า (นาที) (ค่าปริยาย=15) . อี.จี.
<cacheClearMinutes>15</cacheClearMinutes>
เมื่อเซิร์ฟเวอร์เสร็จสิ้น การจัดการการร้องขอ จะตรวจสอบว่า แคชล่าสุดชัดเจนแค่ไหน ถ้ามันนานเกินไป มันก็จะกําหนดภารกิจบนเนื้อเรื่อง การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง . คุณสามารถระบุมันได้ในการตั้งค่า. xml, แต่เกิดความท้อแท้
<แปลงค่า interpolateReccessVExmple>
- [ ** <แปลง interpolate request sVExample) ** ) (2551. สืบค้นเมื่อ 2 December 2015.) เป็นเครื่องหมายการค้าภายใน<Dadapdatatets) ป้ายใน datasets.xml \[ เริ่มด้วย ERDDAP™ v2. 10 \] ซึ่งบรรจุตัวอย่างที่จะแสดงบนเว็บของเครื่องมือแปลงข้อมูล (Colphate) ค่าปริยายคือ: JIPMU RSS T41/anysed /_ sst / เชิงเส้น
<แปลงอินเทอร์โพลเลต Datatasetid Varriable List>
- [ ** <แปลง interpolate Datatata Setid Variable List) ** ) (# แก้ไขค่าพารามิเตอร์ของตัวแปร #) เป็นเครื่องหมายการค้าภายใน<Dadapdatatets) ป้ายใน datasets.xml \[ เริ่มด้วย ERDDAP™ v2. 10 \] ซึ่งบรรจุรายการของ CSV datasetID / เปลี่ยนแปลงได้ ตัวอย่างชื่อที่จะใช้เป็นคําแนะนําจากเว็บของเครื่องมือแปลงข้อมูล (Colphate) ค่าปริยายคือ: JIPMU RSS T41/anysed /_ sst .
<แปลงเป็น ToPublicSourceUrl>
- [ ** <แปลง Tublic Source Url) ** ) (# Convent to August Resourcessurl) เป็นเครื่องหมายการค้าภายใน<Dadapdatatets) ป้ายใน datasets.xml ซึ่งบรรจุแอททริบิวต์ "จาก" และ "ไปยัง" ซึ่งกําหนดว่าจะแปลงค่าท้องถิ่นที่เข้ากันได้อย่างไร sourceUrl (โดยปกติจะเป็นหมายเลข IP) ไปสู่สาธารณะชน sourceUrl (ชื่อโดเมน) "จาก" ต้องอยู่ในรูป " \[ บางอย่าง \] / / \[ บางอย่าง \] -". มันมีป้ายกํากับ 0 ตัวหรือมากกว่า เพื่อ ดู ราย ละเอียด เพิ่ม เติม [ภาษา อังกฤษ]< sourceUrl >) (# ผู้สนับสนุน) . ยกตัวอย่างเช่น
<convertToPublicSourceUrl from="https://192.168.31.18/" to="https://oceanwatch.pfeg.noaa.gov/" />
จะทําให้เกิดการจับคู่ภายใน sourceUrl (เช่นhttps://192.168.31.18/thredds/dodsC/satellite/BA/ssta/5day)
ไปสู่สาธารณะชน sourceUrl (https://oceanwatch.pfeg.noaa.gov/thredds/dodsC/satellite/BA/ssta/5day) .
การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง .
แต่ด้วยเหตุผลด้านความปลอดภัย และเหตุผลที่เกี่ยวข้องกับระบบการสมัครสมาชิก อย่าใช้กล่องนี้!
แต่ใช้ชื่อโดเมนแทนเสมอ< sourceUrl แท็ก > และใช้ ตาราง/ เครื่อง บนเซิร์ฟเวอร์ของคุณ เพื่อแปลงชื่อโดเมนท้องถิ่นเป็นหมายเลข IP โดยไม่ต้องใช้เซิร์ฟเวอร์ DNS คุณสามารถทดสอบว่าชื่อโดเมนถูกแปลงเป็นหมายเลข IP ได้อย่างถูกต้องโดยการใช้:
ping บางส่วน ชื่อ ไทรแท็ค
ข้อมูล: อิมเมจ/ พ.ศ.
- เมื่อผู้ใช้ร้องขอ .htmlTable ตอบกลับ ERDDAP™ หากข้อมูลในเซลล์สตริงมีข้อมูล : อิมเมจ/png;เบส64 ตามด้วยการเข้ารหัสเบส64 อิมเมจ .png ERDDAP™ จะแสดงไอคอน (ผู้ใช้จะเห็นภาพได้ ถ้าพวกเขาอยู่เหนือมัน) และปุ่มเพื่อบันทึกข้อความหรือภาพไปยังคลิปบอร์ด คุณสมบัตินี้ถูกเพิ่มใน ERDDAP™ v2.19 โดย มาร์โค อัลบา.
drawLandMask
- ** drawLandMask ** กําหนดค่าที่ตั้งปริยายสําหรับควบคุมว่าจะให้วาดพื้นที่หน้าจอเมื่อไรและอย่างไร เมื่อใด ERDDAP™ วาดแผนที่ สามารถระบุได้ 3 ตําแหน่ง datasets.xml (เรียงลําดับจากต่ําที่สุดถึงระดับความสําคัญสูงสุด) .
- ถ้า drawLandMask ระบุอยู่ภายใน<Dadapdatatets) (ยังไม่ได้เชื่อมต่อกับชุดข้อมูลที่ระบุ) แสดงเฉพาะค่าปริยายของ drawLandMask สําหรับตัวแปรทั้งหมดในชุดข้อมูล ยกตัวอย่างเช่น
<drawLandMask>under</drawLandMask>
การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP อ่าน datasets.xml . หากป้ายนี้ยังไม่ปรากฏ ค่าโดยปริยายจะต่ํากว่า 2. ถ้า drawLandMask ได้รับการกําหนดเป็นแอททริบิวต์ทั่วไปของชุดข้อมูลที่กําหนด จากนั้นมันจะใช้กําหนดค่าปริยายของ drawLandMask สําหรับตัวแปรทั้งหมดในชุดข้อมูลนั้น, แทนค่าลําดับความสําคัญที่ต่ํากว่า ยกตัวอย่างเช่น
<att name="drawLandMask">under</att>
การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ โหลดชุดข้อมูลนั้นใหม่ 3. ถ้า drawLandMask ระบุเป็นแอททริบิวต์ของตัวแปรในชุดข้อมูลที่กําหนด, แล้วมันได้กําหนดค่าปริยายของ drawLandMask สําหรับตัวแปรนั้นในชุดข้อมูลนั้น, แทนค่าลําดับความสําคัญที่ต่ํากว่า ยกตัวอย่างเช่น
<att name="drawLandMask">under</att>
การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ โหลดชุดข้อมูลนั้นใหม่
ผู้ใช้สามารถแทนที่ค่าปริยายได้ (ไม่ว่าที่ไหนก็ตาม) โดยการเลือกค่าของ "การล้างพื้น" จากรายการหย่อนลงบนข้อมูล 'Make A Graph' หน้าเว็บ, หรือรวม & Land= ค่า ในที่อยู่ URL ที่ต้องการแผนที่จาก ERDDAP .
ในทุกสถานการณ์ มีค่าที่เป็นไปได้ 4 ค่าสําหรับคุณลักษณะนี้
- "ใต้" วาดแผ่นไม้ก่อนที่จะวาดข้อมูลบนแผนที่ สําหรับ ชุด ข้อมูล ที่ ทํา ขึ้น แล้ว แผ่น ดิน ดู เหมือน เป็น สี เทา อ่อน เสมอ. สําหรับชุดข้อมูลมุมโค้ง "ใต้" แสดงข้อมูลภูมิประเทศและมหาสมุทร
- "มากกว่า" สําหรับชุดข้อมูลแบบ gried, "over" จะวาดหน้าดินหลังจากมันวาดข้อมูลบนแผนที่ เพื่อให้มันครอบคลุมข้อมูลใด ๆ มากกว่าพื้นดิน สําหรับชุดข้อมูล tabular, "over" แสดงการอาบน้ําของมหาสมุทรและสีเทาแสงคงที่
- "นอกเส้น" แค่วาดเส้นกรอบของที่ดิน ขอบเขตการเมือง ทะเลสาบ และแม่น้ํา
- "ปิด" ไม่ได้วาดอะไรเลย
<Dognostics mail toEdData>
- [ ** <Dognostics mail toEddatata) ** ) (การวินิจฉัยโรคทางร่างกาย) เป็นป้ายที่ใช้ได้น้อยมาก<Dadapdatatets) ป้ายใน datasets.xml . ค่าของป้ายสามารถเป็นจริงได้ (ค่าปริยาย) หรือไม่จริง ถ้าเป็นจริง ERDDAP™ จะส่งอีเมลไปยังคริส จอห์นที่โนอา โกฟ (คือ ERDDAP™ ทีมพัฒนา) . นี้ควรจะปลอดภัยและปลอดภัยเนื่องจากไม่มีข้อมูลลับ (อี.จี. คําร้องขอ) ถูกรวมอยู่ในอีเมล นี้จะทําให้มันเป็นไปได้ที่จะจับ แมลงที่ไม่ปรากฏชัดใด ๆ ไม่คาดคิดที่นําไปสู่ Nol Polter Exceptions มิฉะนั้นผู้ใช้จะเห็นข้อยกเว้น แต่ ERDDAP™ ทีมพัฒนาไม่ (ดังนั้นเราไม่ทราบว่ามีปัญหาที่ต้องแก้ไข) .
<สีพื้นหลังของกราฟ
- [ ** <สีพื้นหลังกราฟ) ** ) (# พื้นหลังcolor) เป็นป้ายที่ใช้ได้น้อยมาก<Dadapdatatets) ป้ายใน datasets.xml เพื่อกําหนดสีพื้นหลังปริยายบนกราฟ นี่มีผลต่อกราฟเกือบทั้งหมด มีบางสถานการณ์ที่ไม่ได้รับผลกระทบ มี การ ระบุ สี นี้ ว่า เป็น ค่า เลข เลข เลข เลข เลข 8 ใน รูป 0xAARGBB ที่ ซึ่ง AA, RR, GG, และ BB เป็น ส่วน ประกอบ ที่ มี สี แดง, เขียว, และ น้ําเงิน ตาม ลําดับ. "0x" เป็นอักษรที่อ่อนไหว แต่เลขฐานสิบหกไม่อ่อนไหว ยกตัวอย่างเช่น โอเปคเต็มรูปแบบ (_สี) สีเขียว-สีฟ้ามีสีแดง =22, สีเขียว =88, น้ําเงิน = e จะเป็น 0xff2288 สีขาวโอพาเก เป็น 0xffffffff. ค่าปริยายคือ สีน้ําเงินอ่อนโอปาเก (0xffccvf) ซึ่งมีข้อได้เปรียบในการแตกต่างจากสีขาว ซึ่งเป็นสีที่สําคัญในจานสีหลาย ๆ ที่ใช้ในการวาดข้อมูล ยกตัวอย่างเช่น
<graphBackgroundColor>0xffffffff</graphBackgroundColor>
การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง .
<IMAdchet Max Requests>
- [ ** <ISADHE Max Requests) ** ) (การตกแต่ง) เป็นป้ายที่ไม่ค่อยได้ใช้ (รองรับครั้งแรก ERDDAP™ v2. 12) ภายใน<Dadapdatatets) ป้ายใน datasets.xml นั่นเป็นส่วนหนึ่งของระบบ ที่จะจํากัดความสามารถ ของผู้ใช้ที่ก้าวร้าวเกินไป และผู้ใช้ที่มุ่งร้าย แถบชุดลวดลายStencils จํานวนสูงสุดของการร้องขอที่สัมพันธ์กัน จะเป็นที่ยอมรับจากที่อยู่ IP ใด ๆ ที่ระบุ การร้องขอเพิ่มเติมจะได้รับข้อผิดพลาด HTTP 429: มีการร้องขอมากเกินไป แฟ้มขนาดเล็กและคงที่ใน เอิรดแดป/ดาวน์โหลด/ และ Erdep/images / ไม่ได้รับการยกเว้นจากการนับนี้ ค่าปริยายคือ 15 ค่าสูงสุดที่อนุญาตคือ 1000 ซึ่งสูงมาก -- อย่าทํา! ERDDAP™ ไม่ยอมรับจํานวนที่น้อยกว่า 6 เพราะมีผู้ใช้ที่ถูกต้อง (โดยเฉพาะเว็บเบราว์เซอร์ WMS ลูกค้า) ชดเชยได้ถึง 6 ครั้ง เดอะ ERDDAP™ Daily Report และข้อมูลที่คล้ายกันที่ถูกเขียนไปยังแฟ้ม log.txt ที่ใช้ข้อมูลหลักแต่ละตัวเรียกใหม่เดี๋ยวนี้ จะรวมการเรียกดูค่าสูงของการร้องขอโดยที่อยู่ IP เหล่านี้ภายใต้ชื่อ " IP's address (มี การ ขอ มาก เกิน ไป) ". การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง .
The "Major opendatatets Times Times" ส่วนของสถานะ. html มีคอลัมน์ "มากเกินไป" ซึ่งระบุจํานวนสิ่งที่ร้องขอมา ซึ่งเกินการตั้งค่า ipadhetts Max Resections ของผู้ใช้ และจึงเห็นข้อผิดพลาด "ต้องการหลายครั้ง" นี่ทําให้คุณเห็นได้ง่ายๆว่า เมื่อมีผู้ใช้ที่ก้าวร้าวมากเกินไป และผู้ใช้ที่มุ่งร้ายเพื่อให้คุณสามารถ (เลือกเพิ่ม) ค้นหาในแฟ้ม log.txt และตัดสินใจ หากคุณต้องการจะเข้ารหัสผู้ใช้เหล่านั้น
ไม่ผิดอะไรเป็นพิเศษ ที่จะตั้งค่าเลขนี้ให้สูงขึ้น ขึ้นอยู่กับคุณ แต่การทําเช่นนั้นจะช่วยให้ผู้คนตั้งระบบ ที่ใช้เส้นด้ายจํานวนมากในโครงการ
<IMAdchet Max Requestive>
- [ ** <ISADHE Max Requestives) ** ) (การตกแต่ง) เป็นป้ายที่ไม่ค่อยได้ใช้ (รองรับครั้งแรก ERDDAP™ v2. 12) ภายใน<Dadapdatatets) ป้ายใน datasets.xml นั่นเป็นส่วนหนึ่งของระบบ ที่จะจํากัดความสามารถ ของผู้ใช้ที่ก้าวร้าวเกินไป และผู้ใช้ที่มุ่งร้าย ipAdmithMax Requestive กําหนดจํานวนสูงสุดของการร้องขอที่สัมพันธ์กัน ที่จะประมวลผลจากที่อยู่ IP ใด ๆ ที่ระบุ การร้องขอเพิ่มเติมจะนั่งอยู่ในคิว จนกว่าจะมีการประมวลผลการร้องขอก่อนหน้า ไฟล์ขนาดเล็กและคงที่ใน เอิรดแดป/ดาวน์โหลด/ และเอร็ดเด็ป/อิมเมจส์/ RAW ได้ยกเว้นจากนับนี้ และโทรทลิงที่เกี่ยวข้อง ค่าปริยายคือ 2 สูงสุดที่ได้รับอนุญาตคือ 100 ซึ่งสูงมาก -- อย่าทํามัน! คุณ สามารถ กําหนด ให้ 1 คน เป็น คน เข้ม งวด โดย เฉพาะ อย่าง ยิ่ง ถ้า คุณ มี ปัญหา กับ ผู้ ใช้ ที่ ก้าวร้าว หรือ ใช้ ความ รุนแรง มาก เกิน ไป. ผู้ใช้ยังคงได้รับข้อมูลทั้งหมดที่ร้องขออย่างรวดเร็ว (ถึง ISPADHEMax Research) แต่พวกเขาไม่สามารถ ยึดทรัพยากรระบบได้ เราไม่แนะนําให้ตั้งค่านี้กับจํานวนที่มากขึ้นเพราะมันช่วยให้ผู้ใช้ที่ก้าวร้าวเกินไป ก้าวร้าวและผู้ใช้ที่มุ่งร้ายที่จะครอบงํา ERDDAP ความสามารถในการประมวลผล การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง .
<IMAdbook Unlimited>
- [ ** <ISAdchet Unlimited") ** ) (การตกแต่ง) เป็นป้ายที่ไม่ค่อยได้ใช้ (รองรับครั้งแรก ERDDAP™ v2. 12) ภายใน<Dadapdatatets) ป้ายใน datasets.xml นั่นเป็นส่วนหนึ่งของระบบ ที่จะจํากัดความสามารถ ของผู้ใช้ที่ก้าวร้าวเกินไป และผู้ใช้ที่มุ่งร้าย IPAdmited Unlimited is a list ของ IP address ที่คุณต้องการอนุญาตให้เข้าถึงได้อย่างไม่จํากัด ERDDAP . ดูในบันทึกของคุณ txt file เพื่อดูว่าเซิร์ฟเวอร์ของคุณใช้รูปแบบใดใน IP address บนเซิร์ฟเวอร์บางแห่ง ที่อยู่ IP จะอยู่ในรูปแบบ #.# (โดย # เป็นจํานวนเต็มจาก 0 ถึง 255) สืบค้นเมื่อ 22 พฤษภาคม พ.ศ. . ผู้ร้องขอในรายการนี้ ไม่ได้ขึ้นอยู่กับทั้งการตั้งค่าการตกแต่ง ip Admix Requests หรือ ip Adhett Max Requestive นี่อาจเป็นตัวสํารอง ERDDAP™ หรือสําหรับผู้ใช้บางส่วน หรือเครื่องแม่ข่ายในระบบของคุณ ERDDAP™ เสมอเพิ่ม " (ไม่มีชื่อ) "ซึ่ง ERDDAP™ ใช้เมื่อที่อยู่ IP ของผู้ร้องขอไม่สามารถกําหนดได้, เช่น สําหรับโพรเซสอื่นที่กําลังทํางานอยู่ บนเซิร์ฟเวอร์เดียวกัน การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง .
หากสําหรับบางเหตุผล การร้องขอของผู้ใช้ได้รับข้อความผิดพลาดทั้งหมด "หมดเวลารอคําขออื่น ๆ ของคุณที่จะประมวลผล" จากนั้นคุณสามารถแก้ปัญหาได้โดยเพิ่มที่อยู่ IP ของผู้ใช้ไปยังรายการ iP Admimited, ปรับใช้การเปลี่ยนแปลงดังกล่าว แล้วลบมันออกจากรายการ
<โหลด Datatesets Mintutes>
- [ ** <โหลด Datatates Mindumuts) ** ) (# ดาวน์โหลดข้อมูลชุดนาที) เป็นป้ายที่ใช้ได้น้อยมาก<Dadapdatatets) ป้ายใน datasets.xml กําหนดเวลาน้อยที่สุด (นาที) ระหว่างการโหลดหลัก ชุดข้อมูล (เมื่อ ERDDAP™ ประมวลผลใหม่ datasets.xml สืบค้นข้อมูลแต่ละชุด เพื่อดูว่าต้องโหลดใหม่ตามบรรจุ การตั้งค่าหน้าต่างทั้งหมด ค่าปริยาย = 15) . อี.จี.
<loadDatasetsMinMinutes>15</loadDatasetsMinMinutes>
หากการโหลด Datatas ใช้เวลาน้อยกว่าเวลานี้ ตัวโหลดเพียงแค่ดูอีกครั้งที่ไดเร็กทอรีธงและ/หรือนอน จนกระทั่งเวลาที่เหลือผ่านไป ค่าเริ่มต้นคือ 15 นาที ซึ่งน่าจะดีสําหรับทุกคน ข้อเสียเพียงประการเดียวในการทําให้ค่านี้เป็นจํานวนที่น้อยกว่า คือมันจะเพิ่มความถี่ที่ ERDDAP™ Retrition ชุดข้อมูลที่มีข้อผิดพลาดที่ป้องกันไม่ให้มันโหลด (e.g. เครือข่ายระยะไกลล่ม) . หากมีชุดข้อมูลดังกล่าวจํานวนมาก และถูกทดสอบซ้ําบ่อย ๆ แหล่งข้อมูลอาจพิจารณาว่ามันเป็นพฤติกรรมที่รบกวนหรือก้าวร้าว การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง . ก่อน ERDDAP™ v2.00, นี่เป็นการกําหนดในการตั้งค่า.xml, ซึ่งยังคงอนุญาตให้ใช้ได้ แต่ท้อแท้
<โหลด DatatetsMaxMinutes>
- [ ** <โหลด DatatetsMax Minuts) ** ) (# ดาวน์โหลด ดาตาเซตส์นาที) เป็นเครื่องหมายการค้าภายใน<Dadapdatatets) ป้ายใน datasets.xml กําหนดเวลาสูงสุด (นาที) การโหลดที่สําคัญ ความพยายามของชุดข้อมูลได้ถูกอนุญาตให้ใช้ (ก่อนโหลด ข้อมูลชุดเธรดที่ถูกใช้เป็น "Stalled" และถูกขัดจังหวะ) (ค่าปริยาย=60) . อี.จี.
<loadDatasetsMaxMinutes>60</loadDatasetsMaxMinutes>
โดยทั่วไปแล้ว, นี่ควรกําหนดเป็นอย่างน้อยสองครั้ง ตราบใดที่คุณคิดอย่างมีเหตุผล ว่าการโหลดชุดข้อมูลทั้งหมดใหม่ (สะสม) น่าจะใช้เวลา (เนื่องจากคอมพิวเตอร์และเครือข่าย บางครั้งช้ากว่าที่คาดไว้) นี่น่าจะนานกว่าการโหลด Datatets Mindumuts ค่าปริยายคือ 60 นาที บางคนจะทําให้เรื่องนี้มันยาวขึ้น การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง . ก่อน ERDDAP™ v2.00, นี่เป็นการกําหนดในการตั้งค่า.xml, ซึ่งยังคงอนุญาตให้ใช้ได้ แต่ท้อแท้
<LodLevil>
- [ ** <logLevil) ** ) (ระดับของบล็อก) เป็นเครื่องหมายการค้าภายใน<Dadapdatatets) ป้ายใน datasets.xml เพื่อระบุจํานวนข้อความที่ตรวจสอบได้ถูกส่งไปยังแฟ้ม log.txt มันสามารถกําหนดให้ "สงคราม" (ข้อความที่น้อยที่สุด) "ข้อมูล" (ค่าปริยาย) หรือ "ทั้งหมด" (ข้อความส่วนใหญ่) . อี.จี.
<logLevel>info</logLevel>
การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง . ก่อน ERDDAP™ v2.00, นี่เป็นการกําหนดในการตั้งค่า.xml, ซึ่งยังคงอนุญาตให้ใช้ได้ แต่ท้อแท้
<บางส่วนของ request max Bytes> และ<บางส่วนRequest Max
- [ ** <บางส่วน request Max Bytes). ) (particial quesmaxbytes และ parcessmaxเซลล์) และ <บางส่วน requestmax gals) ** ) (particial quesmaxbytes และ parcessmaxเซลล์) ไม่ ค่อย มี การ ใช้ แท็ก ใน ตัว<Dadapdatatets) ป้ายใน datasets.xml . เมื่อเป็นไปได้ (และมันเป็นไปไม่ได้เสมอไป) . ERDDAP™ ทําลายการร้องขอข้อมูลขนาดใหญ่เป็นก้อนเพื่อประหยัดหน่วยความจํา
ด้วย 32 บิต Java ในแง่ง่าย จํานวนสูงสุดของการรวมกัน ใหญ่ ร้องขอเป็นประมาณ 3/4 ของหน่วยความจําที่มี (ค่า -Xmx ที่โอนไปยัง Tomcat) หารด้วยขนาดท่อน (e.g., 1200 MB / 100 MB => 12 ร้องขอ) . สิ่ง อื่น ๆ จําเป็น ต้อง มี ความ จํา ดัง นั้น จํานวน คํา ขอ จริง ๆ จะ น้อย กว่า. ในการฝึก การตัดไม้เป็นไปไม่ได้เสมอไป ดังนั้นหนึ่งใหญ่หรือไม่กี่ขนาดใหญ่มากพร้อมเพรียงกันคําขอที่ไม่สามารถยกได้ อาจก่อให้เกิดปัญหาใน 32 บิต Java .
ด้วย 64 บิต Java ค่า -Xmx อาจมากกว่ามาก ดังนั้น ความจําจึงมีแนวโน้มน้อยกว่า ที่จะเป็นเงื่อนไข
คุณสามารถยกเลิกขนาดท่อนโดยปริยายได้ โดยการนิยามป้ายกํากับเหล่านี้ datasets.xml (ด้วยค่าที่แตกต่างจากที่แสดงไว้ที่นี่) . สําหรับแนวตาราง:<บางส่วนRequest Max Bytes> 100000000</ particial request mex bittes) สําหรับตาราง:<บางส่วนRequestmax trans] 000<partyial requestory Max access :
อนุพันธ์ย่อยResultmax biotes เป็นจํานวนสูงสุดที่ควรใช้สําหรับการร้องขอข้อมูลตารางบางส่วน (บางส่วนของการร้องขอทั้งหมด) . ค่าปริยาย=100000000 (10^8) . ขนาดใหญ่กว่าก็ไม่จําเป็นต้องดีกว่า (และอย่าเกิน 500 MB เพราะนั่นคือลิมิตปริยายของ THEDS สําหรับ DAP การตอบสนอง) . แต่ขนาดที่ใหญ่ขึ้น อาจต้องใช้ไฟล์จํานวนน้อยลง (คิดถึง ERD ข้อมูลดาวเทียมที่มีจุดแต่ละจุดในแฟ้มแยก - จะดีกว่าที่จะได้รับข้อมูลเพิ่มเติมจากแต่ละแฟ้ม ในแต่ละคําขอบางส่วน) .
จํานวนเซลล์บางส่วน: (nrows /* n โคลัมน์ในตารางข้อมูล) ร้องขอข้อมูลแบบ Tableบางส่วน (บางส่วนของการร้องขอทั้งหมด) . ค่าปริยาย = 100000 ขนาดใหญ่กว่าไม่จําเป็นต้องดีขึ้น ผล ก็ คือ พวก เขา ต้อง รอ ข้อมูล ชุด แรก จาก แหล่ง ที่ มา นาน กว่า.
การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง . ก่อน ERDDAP™ v2.00, สิ่งเหล่านี้ถูกระบุในการตั้ง.xml, ซึ่งยังคงอนุญาตให้ทําได้ แต่ท้อแท้
<ร้องขอ Blacklist>
- [ ** <ร้องขอ Blacklist) ** ) (# ชื่อเล่นคือ แบล็คลิสต์) เป็นป้ายกํากับ ภายใน<Dadapdatatets) ป้ายใน datasets.xml ซึ่งมีรายการหมายเลข IP ที่แยกมาจากเครื่องหมายจุลภาค ซึ่งจะถูกใช้แทนชื่อ การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง .
- มันสามารถใช้ป้องกัน ปฏิเสธการโจมตีของบริการ # กระตือรือร้นเกินไป หุ่นยนต์เว็บ หรือผู้ใช้ประเภทอื่น
- ผู้ใช้ที่มีปัญหา -- ถ้า ERDDAP™ การ ทํา เช่น นี้ อาจ ทํา ให้ เกิด ปัญหา ได้. ดูใน ปูมบันทึก. txt เพื่อดูว่านี่เป็นจริงหรือไม่ และเพื่อค้นหาหมายเลขไอพีที่อยู่ของผู้ใช้ที่มีปัญหา ถ้านี่คือปัญหา คุณควรจะให้ผู้ใช้คนนั้นเป็นแบล็คลิสต์
เมื่อ ERDDAP™ ได้รับการร้องขอจาก IP ที่อยู่ในบัญชีดํา มันจะคืนข้อมูล HTTP ผิดพลาด 403: ห้ามใช้ ข้อความผิดพลาดที่กําลังเล่นอยู่นั้น สนับสนุนผู้ใช้ให้ส่งอีเมลไปยังคุณ, ERDDAP ผู้บริหาร เพื่อแก้ปัญหา ถ้าพวกเขาใช้เวลาในการอ่านข้อความผิดพลาด (เห็นได้ชัดว่าหลายคนไม่) และติดต่อคุณ คุณจะสามารถทํางานกับพวกเขา เพื่อให้พวกเขาทํางานเพียงแค่หนึ่งสคริปต์ แต่ละครั้ง ทําการร้องขอที่มีประสิทธิภาพมากขึ้น (ตัวอย่างเช่น, การขอข้อมูลจากชุดข้อมูลทางไกล ที่ไม่สามารถตอบได้ก่อนที่จะหมดเวลา) หรือสิ่งอื่นใด ที่เป็นที่มาของปัญหา
ผู้ ใช้ มัก เพียง แต่ ไม่ รู้ ว่า คํา ขอ ของ เขา เป็น ปัญหา. พวก เขา มัก จะ ไม่ รู้ จัก แมลง, ความ ไม่ เหมาะ สม, หรือ ปัญหา อื่น ๆ ที่ เกี่ยว ข้อง กับ สคริปต์ ของ ตน. พวกเขามักจะคิดแบบนั้นเพราะ ERDDAP™ เสนอข้อมูลให้ฟรี โดยพวกเขาสามารถขอข้อมูลได้มากเท่าที่ต้องการ เช่น โดยการเรียกใช้งานสคริปต์หลายๆ ตัว หรือใช้หลายเธรดพร้อมกัน
- คุณสามารถอธิบายให้พวกเขาว่าแต่ละคน ERDDAP™ ตอนนี้ ไม่ว่าใหญ่และมีอํานาจแค่ไหน มีทรัพยากรจํากัด (เวลา CPU, ฮาร์ดไดรฟ์ I/O, เครือข่ายแบนด์วิด, ฯลฯ) และมันไม่ยุติธรรมเลย ถ้าผู้ใช้คนหนึ่งขอข้อมูล แบบที่ผู้ใช้งานคนอื่นๆ เบียดเสียด หรือเป็นภาระ ERDDAP .
- เมื่อ ผู้ ใช้ รู้ วิธี ทํา ข้อ เรียก ร้อง แบบ พร้อม เพรียง กัน สอง แบบ พวก เขา ก็ มัก จะ มอง ไม่ เห็น เหตุ ผล ที่ จะ ไม่ ทํา ตาม คํา ขอ อย่าง ไม่ หยุด หย่อน 5, 10 หรือ 20 ข้อ เนื่อง จาก คํา ขอ เพิ่ม เติม นั้น ไม่ ทํา ให้ พวก เขา สูญ เสีย อะไร. มันเหมือนกับสงครามที่ไม่สมมาตร ที่นี่อาวุธที่น่ารังเกียจมีข้อได้เปรียบอย่างมาก (ค่าใช้จ่ายเป็นศูนย์) กว่าอาวุธป้องกัน (การติดตั้งที่มีค่าใช้จ่ายจริง) .
- ชี้ให้เห็นว่า มีผลตอบแทนที่ลดลง เพื่อทําการขอมากขึ้นและต่อเนื่อง การร้องขอเพิ่มเติมเพียงแค่บล็อกออก การร้องขอของผู้ใช้อื่น ๆ; พวกเขาไม่ได้ให้การปรับปรุงอย่างมากสําหรับพวกเขา
- เตือนพวกเขาด้วยว่า มีผู้ใช้คนอื่น (ทั้งผู้ใช้และผู้ใช้อื่น ๆ ที่กําลังทํางานอยู่) ดังนั้นมันไม่แฟร์ที่จะโกงทั้งหมด ERDDAP ทรัพยากร
- ชี้ให้เห็นว่า ยักษ์เทคโนโลยี ได้ชักจูงให้ผู้ใช้ คาดหวังทรัพยากรอนันต์ จากบริการเว็บ ในขณะที่มีวิธีที่จะตั้ง กริด/ ส่วนประกอบ ERDDAP วินาที เพื่อให้ ERDDAP™ ระบบที่มีทรัพยากรมากขึ้น ส่วนใหญ่ ERDDAP™ ผู้บริหารไม่มีเงินหรือกําลังคนที่จะติดตั้งระบบดังกล่าว และระบบดังกล่าวจะยังคง จํากัด ที่ ERD ยกตัวอย่างเช่น มีคนหนึ่ง (ฉัน) การเขียน ERDDAP™ ดําเนินการสอง ERDDAP วินาที (ด้วยความช่วยเหลือจากเจ้านายของฉัน) และจัดการหลายแหล่งข้อมูล ทั้งหมดมีงบประมาณ ฮาร์ดแวร์ประจําปี $0 (เรา หวัง พึ่ง เงิน ชดเชย บาง ครั้ง เพื่อ ซื้อ อุปกรณ์) . นี่ไม่ใช่กูเกิล เฟซบุ๊ก อเมซอน ฯลฯ ที่มีวิศวกร 100 คน และรายได้หลายล้านดอลลาร์ และเราไม่สามารถย้าย ERDDAP™ สําหรับตัวอย่างเช่น Amazon AWS เนื่องจากค่าใช้จ่ายจัดเก็บข้อมูลมีขนาดใหญ่ และค่าใช้จ่ายขั้นต่ํามีขนาดใหญ่และตัวแปร ในขณะที่งบประมาณสําหรับบริการภายนอกของเราเป็นค่าใช้จ่ายคงที่
- คําร้องขอของฉันกับผู้ใช้คือ: สําหรับการร้องขอที่ไม่จํากัดการใช้งาน (ซึ่งเป็นกรณีทั่วไปที่สุด) ระบบของพวกเขาควรขอทีละอย่าง หากคําร้องขอมีความละเอียดอ่อนของเวลา (เช่น .pngs หลายแผ่นบนหน้าเว็บ กระเบื้องหลายแผ่นสําหรับ WMS ลูกค้า ฯลฯ) บางทีการขอแบบรวม 4 ครั้ง ควรเป็นการขอสูงสุด (และแค่ช่วงเวลาสั้นๆ) .
- หากคุณอธิบายสถานการณ์กับผู้ใช้ ผู้ใช้ส่วนมากจะเข้าใจ และต้องการจะเปลี่ยนแปลงสิ่งที่จําเป็น เพื่อให้คุณสามารถลบที่อยู่ IP ของพวกเขาออกจากรายการดําได้
- เปิดรายการผู้ใช้ให้เพิ่มหมายเลข IP ของพวกเขาไปยังรายการที่อยู่เครื่องหมายจุลภาคของ IP ใน<ในบัญชีดําของคุณ datasets.xml แฟ้ม เพื่อหาที่อยู่ IP ของผู้ใช้มีปัญหา ดูใน ERDDAP™ เครื่อง มือ ขนาด ใหญ่ แฟ้ม / log/log.txt ( เครื่อง มือ ขนาด ใหญ่ ระบุใน ตั้งค่า. xml ) เพื่อดูว่านี่เป็นจริงหรือไม่ และหาที่อยู่ IP ของผู้ใช้ The IP address for every words is list on the lines start with "{{{0.123" และเป็น 4 ตัวเลขแยกกันตามช่วงเวลา ตัวอย่างเช่น 123.45.8. การค้นหาสําหรับ "ERRor" จะช่วยให้คุณพบปัญหา เช่น การร้องขอแบบไม่ถูกต้อง
- คุณสามารถแทนที่หมายเลขสุดท้ายในหมายเลขไอพีด้วย\(ตัวอย่างเช่น 202.109.200.\) เพื่อบล็อกหมายเลข IP 0-255
- คุณสามารถแทนที่หมายเลข 2 ตัวสุดท้ายในหมายเลข IP ได้ด้วย\.\ (ตัวอย่างเช่น 121.204.\.\) เพื่อบล็อกช่วงกว้างของ IP address 0-255.0-255.
- ยกตัวอย่างเช่น
<requestBlacklist>98.76.54.321, 202.109.200.\\*, 121.204.\\*.\\*</requestBlacklist>
- คุณไม่ต้องเริ่มใหม่ก็ได้ ERDDAP™ สําหรับการเปลี่ยนแปลงไปยัง<ขอให้แบล็คลิสต์) มีผลกระทบ จะตรวจพบการเปลี่ยนแปลงในครั้งต่อไป ERDDAP™ ตรวจสอบว่าชุดข้อมูลใด ๆ ที่ต้องการจะเรียกใหม่อีกครั้งหรือไม่ หรือ คุณสามารถเร่งกระบวนการได้โดยไปเยี่ยม ตั้งค่า ที่อยู่ URL ธง สําหรับชุดข้อมูลใดๆ
- คุณ ERDDAP™ รายงานรายวันรวมถึงรายการ/ tractally ของรายการที่ใช้งานมากที่สุด และบล็อคการร้องขอ
- ถ้าคุณอยากหาว่าโดเมน/ การแบ่งประเภท เกี่ยวข้องกับหมายเลขไอพีคืออะไร คุณสามารถใช้บริการเว็บ DNS แบบฟรี ๆ ได้ เช่น https://network-tools.com/ .
- อาจ มี บาง ครั้ง ที่ มี เหตุ ผล ที่ จะ กัน ผู้ ใช้ บาง คน ไว้ ใน ระดับ ที่ สูง กว่า ตัว อย่าง เช่น ผู้ ใช้ ที่ มุ่ง ร้าย. ยกตัวอย่างเช่น คุณสามารถปิดกั้นการเข้าถึงทุกอย่างบนเซิร์ฟเวอร์ของคุณ ไม่ใช่แค่ ERDDAP . บนลินุกซ์ หนึ่งในวิธีการดังกล่าวก็คือ ตัวเลข . ตัวอย่างเช่น คุณสามารถเพิ่มกฎที่ จะบล็อกทุกอย่างที่มาจาก 198.150.100.0 กับคําสั่ง Ipables -I INPUT -s 198.51.100.0. - เจ ดีโอพี
<Down Trublemes>
- [ ** <Down Trublemeles ช้า) ** ) (# ชะลอตัวลง) เป็นป้ายที่ใช้ได้น้อยมาก<Dadapdatatets) ป้ายใน datasets.xml ซึ่งมีจํานวนเต็มที่ระบุจํานวนมิลลิวินาที (ค่าปริยาย=1000) เพื่อหยุดการทํางาน เมื่อมีการตอบสนองต่อการร้องขอที่ล้มเหลวทั้งหมด เช่น, ไม่รู้จักชุดข้อมูล, ร้องขอให้มีขนาดใหญ่เกินไป, ผู้ใช้ในรายการดํา อี.จี.
<slowDownTroubleMillis>2000</slowDownTroubleMillis>
ถ้า มี การ ขอ บท หนึ่ง ทันที หลัง จาก อีก บท หนึ่ง แล้ว บท นี้ อาจ ทํา ให้ คํา ขอ ผิด พลาด ไป อย่าง รวด เร็ว. ด้วยการตั้งค่านี้ คุณสามารถจะชะลอสคริปต์ที่ล้มเหลวได้ ERDDAP™ ไม่ได้เต็มไปด้วยคําขอที่ไม่ดี ถ้ามนุษย์ขออะไรไม่ดี ก็คงจะไม่ล่าช้า คําแนะนํา:
- ถ้า ปัญหา คือ การ ปฏิเสธ งาน รับ ใช้ (DOS) โจมตีจาก 100+ โจมตีตั้งค่านี้เป็นจํานวนที่น้อยกว่า (100 เหรอ?) . ชะลอพวกเขาทั้งหมดลงเป็นเวลานานเกินไป นําไปสู่เส้นด้ายมากเกินไป
- ถ้าปัญหามาจาก 1-10 แหล่งที่มา กําหนดนี้ 1000 ms (ค่าปริยาย) แต่เลขที่มากกว่า (เช่น 10000) มี เหตุ ผล ด้วย. มันทําให้พวกเขาช้าลง จนเปลืองทรัพยากรของเครือข่ายน้อยลง อีกทั้ง 1000 MS หรืออื่น ๆ จะไม่รบกวนผู้ใช้มนุษย์ที่ทําคําขอที่ไม่ดี
การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง .
<Internation Email Blacklist>
- [ ** <สมาชิก อีเมล Blacklist) ** ) (# รองรับสคริปต์) เป็นป้ายที่ใช้ได้น้อยมาก<Dadapdatatets) ป้ายใน datasets.xml ซึ่งมีรายการที่อยู่อีเมลที่แยกด้วยเครื่องหมายจุลภาค ซึ่งอยู่ในรายการสีดําทันที ระบบบอกรับ ตัวอย่างเช่น
<subscriptionEmailBlacklist>bob@badguy.com, john@badguy.com</subscriptionEmailBlacklist>
นี่เป็นระบบที่ไวต่อสถานการณ์ หากอีเมลถูกเพิ่มเข้าไปในรายการนี้ หากที่อยู่อีเมลดังกล่าวมีการบอกรับ สมาชิกก็จะถูกยกเลิก หากที่อยู่อีเมลในรายการพยายามสมัครสมาชิก การร้องขอจะถูกปฏิเสธ การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง .
ข้อความมาตรฐาน
-
ข้อความมาตรฐาน -- มีป้ายกํากับหลายแบบ (ส่วนใหญ่มักไม่ได้ใช้) ภายใน<Dadapdatatets) ป้ายใน datasets.xml แสดงเฉพาะหมายเลขที่ปรากฏในตําแหน่งต่าง ๆ ERDDAP . หากคุณต้องการเปลี่ยนข้อความปริยาย โปรดคัดลอกค่าเดิมจากป้ายชื่อเดียวกัน แว่นขยาย / webapps/erdep/WEB-INF/คลาสต่างๆ/gov/noa/pfel/erdep/util. exml ถึง datasets.xml แล้วแก้ไขเนื้อหา ข้อได้เปรียบของการมีมัน datasets.xml คือคุณสามารถกําหนดค่าใหม่ได้ทุกเวลา แม้เมื่อ ERDDAP™ กําลังวิ่ง การเปลี่ยนแปลงต่าง ๆ ของป้ายกํากับเหล่านี้จะมีผลกับครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง . ชื่อป้ายบรรยายวัตถุประสงค์ของมัน แต่ดูที่เนื้อหาปริยายในจดหมาย.xml เพื่อความเข้าใจที่ลึกกว่า
-
<StandardLicence)
-
<Contact มาตรฐาน)
-
<มาตรฐาน Datata Licenss).
-
<dictionary มาตรฐาน:"
-
<Disposer Off Exteral Links มาตรฐาน).
-
<Gegenral Disposer) มาตรฐาน
-
<มาตรฐาน POLLY)
-
<เริ่มต้น HadhtmI5)
-
<StartBodyhtml5) เป็นแท็กที่ดีที่จะเปลี่ยนแปลง เพื่อปรับแต่งรูปลักษณ์บนของหน้าเว็บของคุณ ERDDAP . แจ้งให้ทราบว่า คุณสามารถใช้นี้เพื่อเพิ่มข้อความชั่วคราวบน ERDDAP™ หน้าหลัก (เช่น "ตรวจสอบข้อมูล JPL ใหม่ MUR SST v4.1" หรือ "นี่" ERDDAP™ 2019-05-08T17 :00 PDT ผ่าน 2019-05-08T20:00 PDT".) . หนึ่งแปลกของการติดป้ายนี้ใน datasets.xml คือ: เมื่อคุณเริ่มการทํางานใหม่ ERDDAP คําร้องขอครั้งแรก ERDDAP™ จะกลับไปใช้ค่าเริ่มต้นปริยาย Bodyhtml5 แบบ HTML แต่ทุกการร้องขอที่ตามมาจะใช้ เริ่มระบบ HTML แบบ HTML ซึ่งระบุไว้ datasets.xml .
-
<The SortDescription Html) เป็นแท็กที่ดีที่จะเปลี่ยนแปลง เพื่อปรับแต่งคําอธิบายของคุณ ERDDAP . โปรดสังเกตว่า คุณสามารถเปลี่ยนนี่ได้อย่างง่ายดาย เพื่อเพิ่มข้อความชั่วคราวในหน้าเว็บหลัก (เช่น "นี่ ERDDAP™ 2019-05-08T17 :00 PDT ผ่าน 2019-05-08T20:00 PDT".) .
-
<endBodyhtmI5)
ก่อน ERDDAP™ v2.00, สิ่งเหล่านี้ถูกระบุในการตั้ง.xml, ซึ่งยังคงอนุญาตให้ทําได้ แต่ท้อแท้
<ไม่ปกติ กิจกรรม:
- [ ** <Active ผิดปกติ) ** ) (ความไม่สมดุล) เป็นป้ายที่ใช้ได้น้อยมาก<Dadapdatatets) ป้ายใน datasets.xml เพื่อกําหนดจํานวนสูงสุดของการร้องขอระหว่างการโหลด Datatas ที่ถือว่าปกติ (ค่าปริยาย=10000) . หากหมายเลขดังกล่าวเกินแล้ว จะส่งเมลไปยังทุก ๆ จดหมาย (ตามที่กําหนดไว้ในการตั้งค่า.xml) . อี.จี.
<unusualActivity>10000</unusualActivity>
การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง . ก่อน ERDDAP™ v2.00, นี่เป็นการกําหนดในการตั้งค่า.xml, ซึ่งยังคงอนุญาตให้ใช้ได้ แต่ท้อแท้
<อัปเดต Max Vents>
- [ ** <update Max Vents) ** ) (เพิ่มวันที่) เป็นป้ายที่ใช้ได้น้อยมาก<Dadapdatatets) ป้ายใน datasets.xml เพื่อกําหนดจํานวนสูงสุดของเหตุการณ์การเปลี่ยนแปลงของแฟ้ม (ค่าปริยาย=10) ที่จะจัดการโดย<update everNMillies) (อัปเดตทุก ๆ ครั้ง) ระบบก่อนจะเปลี่ยนการโหลดชุดข้อมูลใหม่อีกครั้ง ยกตัวอย่างเช่น
<updateMaxEvents>10</updateMaxEvents>
การปรับปรุงระบบทุก NNMilles จะทํางานอย่างรวดเร็ว ก่อนที่จะมีการประมวลผลคําสั่งของผู้ใช้ ถ้ามีเหตุการณ์การเปลี่ยนแฟ้มเกิดขึ้นมากมาย, งั้นสมมุติว่ามันไม่สามารถทํางานได้อย่างรวดเร็ว, มันเลยต้องใส่ข้อมูลเข้าไปใหม่แทน ถ้า ERDDAP™ จัดการกับชุดข้อมูลต่าง ๆ ที่จะต้องเก็บไว้ให้ทันสมัย แม้จะมีการเปลี่ยนแปลงของแฟ้มข้อมูลจํานวนมากก็ตาม คุณสามารถตั้งค่านี้ให้เป็นจํานวนที่มากขึ้นได้ (100 เหรอ?) .
<ผู้ใช้>
- [ ** <ผู้ใช้: ** ) (ผู้ใช้) เป็นเครื่องหมายการค้าภายใน<Dadapdatatets) ป้ายใน datasets.xml ที่ระบุชื่อผู้ใช้, รหัสผ่านของผู้ใช้ (หากการตรวจสอบสิทธิ์=ชื่อแฟ้ม) และบทบาท (รายการแยกจุลภาค) . การใช้ชื่อผู้ใช้และรหัสผ่านต่าง ๆ จากค่าเล็กน้อย<การตรวจสอบสิทธิ์) (/ docs/ server-admin/Adctional Indactation#) ในของคุณ ERDDAP กําลังตั้งค่าแฟ้ม.xml
- นี่เป็นส่วนหนึ่งของ ERDDAP ' ระบบรักษาความปลอดภัย เพื่อจํากัดการเข้าถึงชุดข้อมูลบางส่วนกับผู้ใช้บางคน
- แยกออกมา<แท็กสําหรับผู้ใช้แต่ละคน ตัวเลือก, หากการตรวจสอบสิทธิ์=oauth2, คุณสามารถตั้งค่าสอง<ผู้ใช้: ป้ายกํากับสําหรับผู้ใช้แต่ละคน: อันนึงเมื่อล็อกอินผ่าน Google หนึ่งสําหรับผู้ใช้บันทึกในผ่านทาง Orcid อาจมีบทบาทเดียวกัน
- ถ้าไม่มี<ผู้ใช้: แท็กสําหรับไคลเอนต์ s/ he จะสามารถเข้าถึงข้อมูลสาธารณะได้เท่านั้น เช่น ข้อมูลชุดที่ไม่มี<เข้าถึง To]] (# เข้าถึงได้) ป้าย
- ชื่อผู้ใช้ สําหรับการตรวจสอบสิทธิ์ = ตามมาตรฐานแล้ว ชื่อผู้ใช้มักจะเป็นการรวมกันของตัวอักษร, ตัวเลข, การเน้น และช่วงเวลาต่าง ๆ สําหรับการตรวจสอบสิทธิ์= email, ชื่อผู้ใช้คือที่อยู่อีเมลของผู้ใช้ มันอาจจะเป็นที่อยู่อีเมลอะไรก็ได้ สําหรับการตรวจสอบสิทธิ์=google, ชื่อผู้ใช้คือที่อยู่อีเมลเต็มของผู้ใช้ นี่รวมถึงบัญชีแบบ Google-manage เช่น @noaa.gov บัญชี สําหรับการตรวจสอบสิทธิ์=orcid, ชื่อผู้ใช้คือหมายเลขบัญชีผู้ใช้แบบ Orcid ของผู้ใช้ (ขอสาบานต่อนาวา ที่แล่นไปอย่างสะดวกสบาย) . สําหรับการตรวจสอบสิทธิ์=oauth2, ชื่อผู้ใช้คือที่อยู่อีเมลเต็มของผู้ใช้ หรือหมายเลขบัญชีผู้ใช้ของผู้ใช้ Orcid (ขอสาบานต่อนาวา ที่แล่นไปอย่างสะดวกสบาย) .
- รหัสผ่าน
สําหรับการตรวจสอบสิทธิ์=email, August, orcid, หรือ oauth2, ไม่ต้องระบุแอตทริบิวต์
สําหรับการตรวจสอบสิทธิ์=ชื่อแฟ้ม คุณต้องกําหนดแอตทริบิวต์สําหรับผู้ใช้แต่ละคน
- รหัสผ่านที่ผู้ใช้เข้า จะมีความไวต่อกรณี และต้องมีตัวอักษร 8 ตัวหรือมากกว่า จึงยากที่จะถอดรหัสได้ ปัจจุบัน แม้ แต่ แปด ตัวอักษร ก็ สามารถ แยกแยะ ออก ได้ อย่าง รวด เร็ว และ ราคา ไม่ แพง โดย ใช้ คอมพิวเตอร์ เป็น กระจุก ๆ บน เอ ดับเบิล ยู เอส. ERDDAP™ ใช้ตัวบังคับน้อยที่สุดเมื่อผู้ใช้พยายามล็อกอินเข้าไป (ไม่ใช่เมื่อ)<ผู้ใช้: กําลังประมวลผลแท็ก เนื่องจากรหัสนั้น จะเห็นเฉพาะการย่อยรหัสผ่านเท่านั้น ไม่ใช่รหัสผ่านธรรมดา)
- ตั้งค่า.xml ของ<รหัสผ่าน กําหนดวิธีจัดเก็บรหัสผ่านใน<ผู้ใช้: ป้ายกํากับใน datasets.xml . เพื่อเพิ่มความปลอดภัย ตัวเลือกก็คือ
- MD5 (อย่าใช้นี่!) -- สําหรับแอตทริบิวต์รหัสผ่าน โปรดระบุการย่อยโปรแกรม MD5 จากรหัสผ่านของผู้ใช้
- แบบ UEPD5 (อย่าใช้นี่!) -- สําหรับแอตทริบิวต์รหัสผ่าน ให้ระบุการย่อยของ HT5 ของ MD5 ชื่อผู้ใช้ . ERDDAP . รหัสผ่าน . ชื่อผู้ใช้และ" ERDDAP "ถูกใช้ [เกลือ](https://en.wikipedia.org/wiki/Salt_(cryptography) ] มูลค่า แฮช ทําให้ยากที่จะถอดรหัส
- SHA256 (ไม่แนะนําให้ใช้) -- สําหรับคุณสมบัติของรหัสผ่าน โปรดระบุการย่อยรหัสผ่านของ SHA-256 ด้วย
- UEPHA256 (ค่าปริยาย คือ การทํารหัสผ่านที่ควรใช้ แต่ดีกว่ามาก ใช้คอนเทนเนอร์ กล้วยไม้ หรือ oauth2 ตัวเลือก) -- สําหรับแอตทริบิวต์รหัสผ่าน โปรดระบุการย่อยข้อมูล SHA-256 จาก ชื่อผู้ใช้ . ERDDAP . รหัสผ่าน . ชื่อผู้ใช้และ" ERDDAP "ถูกใช้เพื่อโรยเกลือลงไป ทําให้ยากที่จะถอดรหัส
- บนวินโดวส์ คุณสามารถสร้างรหัสผ่าน MD5 ได้ โดยการดาวน์โหลดโปรแกรม MD5 (เช่น MD5 ) และใช้ (ตัวอย่างเช่น) . ขนาด md5 - djtit: ERDDAP . คํานําหน้าจริง
- บนลินุกซ์/ Unix คุณสามารถสร้างค่าย่อย MD5 ได้โดยใช้โปรแกรม md5sum ที่สร้างใหม่ (ตัวอย่างเช่น) . Echo - n "ช่าง: ERDDAP . คํานําหน้าจริง " | md5sum
- จัดเก็บรหัสผ่าน plaintext เป็นกรณีอ่อนไหว รูปแบบของรหัสผ่าน MD5 และ UEPD5 ไม่มีความละเอียดอ่อน
- ตัวอย่างเช่น (ใช้ UEPD5) หากชื่อผู้ใช้= "Jhint" และรหัสผ่าน = "my Password", The<ผู้ใช้:
<user username="jsmith"
password="57AB7ACCEB545E0BEB46C4C75CEC3C30"
roles="JASmith, JASmithGroup" />
ที่สร้างรหัสผ่านที่เก็บได้ ขนาด md5 - djtit: ERDDAP คํานําหน้าของฉัน
- บทบาทเป็นรายการของบทบาทที่แยกเป็นเครื่องหมายจุลภาค ซึ่งผู้ใช้ได้รับอนุญาตแล้ว มี<อาจมี [2]<เข้าถึง To]] (# เข้าถึงได้) แท็กที่แสดงบทบาทที่อนุญาตให้เข้าถึงชุดข้อมูลได้ สําหรับผู้ใช้และชุดข้อมูลที่กําหนด หากบทบาทใดตัวหนึ่งในรายการของผู้เล่น ตรงกับบทบาทใดตัวหนึ่งในรายการข้อมูล<บทบาทที่เข้าถึงได้: แล้วผู้ใช้จะได้รับอนุญาตให้เข้าใช้งานชุดข้อมูลดังกล่าวได้
ผู้ใช้ทุกคนที่ล็อกอิน จะแสดงบทบาทโดยอัตโนมัติ \[ ใครก็ตามที่ล้มเหลว ใน \] ไม่ว่าจะเป็น<ผู้ใช้: แท็กสําหรับใส่เข้าไป datasets.xml หรือไม่ แล้วถ้าชุดข้อมูลที่กําหนด
<accessibleTo>\\[anyoneLoggedIn\\]</accessibleTo>
ผู้ใช้ใด ๆ ก็ตามที่ถูกล็อกอิน จะได้รับอนุญาตให้เข้าถึงชุดข้อมูลนั้น แม้ว่าไม่มี<ผู้ใช้: แท็กสําหรับใส่เข้าไป datasets.xml .
- การเปลี่ยนแปลงใด ๆ ของค่าป้ายกํากับนี้จะมีผลในครั้งต่อไป ERDDAP™ อ่าน datasets.xml ร่วมกับชุดข้อมูล ธง .
<พาธRegx>
- [ ** <พาธ regex) ** ) (# Pathregex) ให้คุณกําหนดเงื่อนไขการค้นหา (ทิศทางใด) จะรวมอยู่ในชุดข้อมูล ค่าปริยายคือ. / * ซึ่งตรงกับทุกพาธ นี่เป็นแท็ก OPional ที่มักใช้กันน้อย EDDGrid จากชุดข้อมูลแฟ้ม, EDTable from files sets และประเภทข้อมูลอื่น ๆ อีก อย่าง ไร ก็ ตาม เมื่อ คุณ ต้องการ คุณ จําเป็น ต้อง ได้ รับ จริง ๆ.
เพื่อ จะ ทํา งาน นี้ ได้ คุณ ต้อง พูด เป็น ประจํา อย่าง ดี. ดูนี่สิ เอกสารของ Regex ถึง บทเรียน regax . โดยเฉพาะ คุณต้องรู้เกี่ยวกับกลุ่มจับ (สิ่งที่อยู่ในวงเล็บ) และสัญลักษณ์ "หรือ" | ". ร่วมกันนี้ช่วยให้คุณระบุจํานวนตัวเลือก เช่น (ตัวเลือก 1 | ตัวเลือก 2 | ตัวเลือก 3) . อีกทั้ง ตัวเลือกใด ๆ ก็ไม่มีอะไรเลย ( | ตัวเลือก 2 | ตัวเลือก 3) . นอกจากนี้คุณจําเป็นต้องรู้ ว่ากลุ่มดักจับสามารถวางรังได้ ตัวเลือกใดๆ ในกลุ่มดักจับ สามารถบรรจุกลุ่มดักจับอีกกลุ่ม เช่น ( | ตัวเลือก 2 ( | ตัวเลือก 2 b | ตัวเลือก 2c) | ตัวเลือก 3) ซึ่งบอกว่า ตัวเลือก 2 ตามด้วยไม่มีอะไร หรือตัวเลือก 2b หรือตัวเลือก 2c สําหรับพาธRegexs แต่ละตัวเลือกจะเป็นชื่อโฟลเดอร์หนึ่งตามด้วย a /, e.g., บาร์/...
ส่วนที่ยากของเส้นทาง regex คือ: เมื่อ ERDDAP™ การไหลของต้นไม้ไดเร็กทอรีซ้ํา พาธ regex ต้องยอมรับพาธทั้งหมดที่มันพบระหว่างเส้นทางไปยังไดเรกทอรีด้วยข้อมูล Reggex กับกลุ่มดักจับ เป็นวิธีที่ดีในการจัดการกับเรื่องนี้
ตัวอย่าง: สมมุติว่าเรามีโครงสร้างไดเรกทอรีต่อไปนี้:
/foo/bar/D0001/a/\\*.nc
/foo/bar/D0001/b/\\*.nc
/foo/bar/D0002/a/\\*.nc
/foo/bar/D0002/b/\\*.nc
...
/foo/bar/E0001/a/\\*.nc
...
และไดเรกทอรีที่ระบุคือ /foo/bar/ และเราแค่ต้องการ .nc แฟ้มใน D \[ 0- 9 \] 2561. สืบค้นเมื่อ 22 พฤษภาคม พ.ศ.
วิธีแก้ปัญหาคือตั้งค่าพาธRegex ไปยัง /fo/ บาร์/ ( | D \[ 0- 9 \] [4]/ ( | a/) )
นั่น บอก ว่า:
พาธต้องเริ่มด้วย /foo/ bar/
ซึ่งจะติดตามด้วยไม่มีหรือ D \[ 0- 9 \] [4]/
ที่อาจตามมาโดยไม่มีอะไรหรือ
ใช่ เส้นทางรีเกกซ์ ยากที่จะแก้ไข ถ้าคุณติด จงถามโปรแกรมเมอร์คอมพิวเตอร์ (สิ่งใกล้เคียงที่สุดในโลกแห่งความจริง กับพ่อมดที่พ่นคาถา) หรือส่งอีเมลไปหาคริส จอห์นที่โนอา โกฟ
<ชุดข้อมูล>
- [ ** <ชุดข้อมูล: ** ) (# ดาตาเซต) (คือ) บรรดาผู้บันทึก (แต่ใช้เสมอ) แท็กภายใน<Dadapdatatets) ป้ายใน datasets.xml ที่ (ถ้าคุณรวมข้อมูลทั้งหมดระหว่าง<และ</ datatets) อธิบายข้อมูลได้สมบูรณ์เพียงชุดเดียว ยกตัวอย่างเช่น
<dataset type="EDDGridFromDap" datasetID="erdPHssta8day" active="true"> ... </dataset>
อาจมีป้ายกํากับชุดข้อมูลอยู่ในของคุณ datasets.xml แฟ้ม สามคุณลักษณะที่ปรากฏภายใน<แท็ก:
- ประเภท=" คือ ชนิด " ในนั้นมีสิ่งก่อสร้าง<แท็กใน datasets.xml ซึ่งระบุประเภทชุดข้อมูล (ตัวอย่างเช่น ไม่ว่าจะเป็น EDDGrid ข้อมูลต่าง ๆ ของกล้อง) และที่มาของข้อมูล (ตัวอย่างเช่น ฐานข้อมูล แฟ้ม หรือระยะไกล OPeNDAP เซิร์ฟเวอร์) . ดู รายการชนิดชุดข้อมูล .
ชุดข้อมูล หมายเลข
- ** datasetID =" แบบ ADataSetid "** ในนั้นมีสิ่งก่อสร้าง<ชุดข้อมูล:<15 ตัวอักษร) มีลักษณะพิเศษ ระบุชื่อเป็นชุดข้อมูล
- เดอะ datasetID จะต้องเป็นจดหมาย (A-Z, a-z) ตามด้วยจํานวน A-Z, a-z, 0-9, และ __ (แต่ดีที่สุดถ้า<32 ตัวอักษรรวม).
- ชุดข้อมูล IDs เป็นกรณีอ่อนไหว แต่ไม่ได้สร้างสอง datasetID s ที่ต่างกันในอักษรตัวใหญ่/ต่ํา มันจะสร้างปัญหาบนคอมพิวเตอร์ของวินโดวส์ (คุณและ/ หรือคอมพิวเตอร์ของผู้ใช้) .
- การปฏิบัติที่ดีที่สุด: เราขอแนะนําให้ใช้ อูฐ อักษร .
- การปฏิบัติที่ดีที่สุด: เราขอแนะนําให้ส่วนแรก เป็นส่วนย่อหรือย่อของชื่อ แหล่งที่มาของสถาบัน และส่วนที่สองคือ การย่อหรือย่อชื่อชุดข้อมูล เมื่อเป็นไปได้ เราสร้างชื่อ ที่สะท้อนถึงชื่อแหล่งของข้อมูล ตัวอย่างเช่น เราใช้ datasetID ="PDF sst a8 วัน" สําหรับข้อมูลชุดจาก NOAA NMFS SWFSC แผนกวิจัยสิ่งแวดล้อม ( ERD ) ซึ่งกําหนดโดยแหล่งที่มาที่จะ เป็นดาวเทียม/ PhP/ sst 8 วัน
- หากคุณเปลี่ยนชื่อชุดข้อมูล ชุดข้อมูล (ด้วยชื่อเดิม) จะยังคงอาศัยอยู่ใน ERDDAP . นี่คือชุดข้อมูล "ออร์ฟาน" เพราะข้อกําหนดของมัน datasets.xml หายไปแล้ว เรื่องนี้ต้องจัดการ
- สําหรับ ERDDAP™ v2.19 และต่อมา คุณไม่จําเป็นต้องทําอะไร ERDDAP™ จะลบชุดข้อมูลเด็กกําพร้าออกโดยอัตโนมัติ
- สําหรับ ERDDAP™ v2.18 และก่อนหน้านี้ คุณต้องทําอะไรสักอย่างเพื่อลบข้อมูลเด็กกําพร้า ให้ใช้งาน = "เท็จ" ชุดข้อมูล, e.g.
<dataset type="EDDTableFromNcFiles" datasetID="*theOldName*" active="false" />
หลังจากโหลดครั้งถัดไป ชุดข้อมูล คุณสามารถลบป้ายกํากับดังกล่าวหลังจากที่ชุดข้อมูลเก่าไม่ได้ใช้งาน
ทํางาน
- ใช้งานอยู่=" บูเลียน " ในดังกล่าวนั้นเป็นการสาบาน สําหรับผู้ที่มีปัญญามิใช่หรือ?<แท็กใน datasets.xml ซึ่งแสดงว่าชุดข้อมูลทํางาน (คุณสมบัติที่จะใช้ใน ERDDAP ) หรือไม่
- ค่าที่ใช้ได้เป็นจริง (ค่าปริยาย) และไม่จริง
- เนื่องจากค่าปริยายเป็นจริง, คุณไม่จําเป็นต้องใช้คุณลักษณะนี้ จนกว่าคุณจะต้องการชั่วคราวหรือเอาชุดข้อมูลชุดนี้ออกไปอย่างถาวร ERDDAP .
- ถ้าคุณทําการลบข้อมูลที่ทํางานอยู่ "จริง" ออกจาก datasets.xml ชุดข้อมูลยังคงทํางานอยู่ ERDDAP™ แต่จะไม่มีวันปรับปรุง ชุดข้อมูลดังกล่าวจะเป็น "เด็กกําพร้า" และจะถูกจัดอยู่ในสถานะดังกล่าว หน้าเว็บ html ใต้รายการชุดข้อมูลที่โหลดไม่สําเร็จ
- หากคุณตั้งค่าการทํางาน = "เท็จ" ERDDAP™ จะปิดชุดข้อมูลชุดถัดไปหากพยายามปรับปรุงข้อมูล เมื่อคุณทําแบบนี้ ERDDAP™ ไม่ได้โยนข้อมูลใด ๆ ที่มันอาจจะได้เก็บไว้ เกี่ยวกับชุดข้อมูล และแน่นอน ไม่ได้ทําอะไรกับข้อมูลจริง
- ในการลบชุดข้อมูลออกจาก ERDDAP™ ดู บังคับให้เอาชุดข้อมูลออก .
** หลายป้ายกํากับสามารถปรากฏได้ระหว่าง<และ<ป้าย **
มี ความ แตก ต่าง บาง อย่าง ระหว่าง ป้ายกํากับ ที่ อนุญาต ให้ ใช้ ข้อมูล ชนิด ใด ก็ ได้. ดูเอกสารสําหรับรายละเอียด ชนิดของชุดข้อมูล สําหรับรายละเอียด
<เข้าใช้ได้ ถึง 1/gt;
- [ ** <เข้าใช้ได้ เพื่อ : ** ) (# เข้าถึงได้) เป็นเครื่องหมายการค้าภายใน<ชุดข้อมูล: บทบาท ซึ่งได้รับอนุญาตให้เข้าถึงข้อมูลชุดนี้ได้ ยกตัวอย่างเช่น
<accessibleTo>RASmith, NEJones</accessibleTo>- นี่เป็นส่วนหนึ่งของ ERDDAP ' ระบบรักษาความปลอดภัย เพื่อจํากัดการเข้าถึงชุดข้อมูลบางส่วนกับผู้ใช้บางคน
- หากไม่มีป้ายกํากับนี้ ผู้ใช้ทั้งหมด (ถึงแม้ว่าพวกเขาจะไม่ล็อค) จะเข้าถึงข้อมูลชุดนี้ได้
- หากมีป้ายกํากับนี้อยู่ด้วย ชุดข้อมูลนี้จะมองเห็นได้และเข้าถึงได้เฉพาะผู้ใช้เท่านั้น ซึ่งมีบทบาทที่ระบุไว้ ชุดข้อมูลนี้จะไม่สามารถมองเห็นได้กับผู้ใช้ที่ไม่ได้ล็อกอิน
- ผู้ใช้ทุกคนที่ล็อกอิน จะแสดงบทบาทโดยอัตโนมัติ \[ ใครก็ตามที่ล้มเหลว ใน \] ไม่ว่าจะเป็น<ผู้ใช้: แท็กสําหรับใส่เข้าไป datasets.xml หรือไม่ แล้วถ้าชุดข้อมูลที่กําหนด
<accessibleTo>\\[anyoneLoggedIn\\]</accessibleTo>
ผู้ใช้ใด ๆ ก็ตามที่ถูกล็อกอิน จะได้รับอนุญาตให้เข้าถึงชุดข้อมูลนั้น แม้ว่าไม่มี<ผู้ใช้: แท็กสําหรับใส่เข้าไป datasets.xml .
<กราฟ Accessable To>
- [ ** <กราฟ Accessable To) ** ) (# ลายเซ็นใช้ได้) เป็นเครื่องหมายการค้าภายใน<แท็กใน datasets.xml ซึ่งกําหนดว่า กราฟิกและข้อมูลกํากับสําหรับข้อมูลมีให้สาธารณะหรือไม่ มันเสนอวิธีแทนที่ข้อมูลบางส่วน<เข้าถึง To]] (# เข้าถึงได้) การตั้งค่า ค่าที่อนุญาตคือ:
- อัตโนมัติ ค่านี้ (หรือไม่มีอยู่)<กราฟ Accessable To> แท็กสําหรับข้อมูลชุด) เพื่อให้เข้าถึงกราฟและข้อมูลกํากับภาพจากชุดข้อมูลเลียนแบบชุดข้อมูล<การตั้งค่า ดังนั้นหากชุดข้อมูลเป็นส่วนบุคคล กราฟและข้อมูลกํากับจะเป็นส่วนบุคคล และถ้าชุดข้อมูลเป็นสาธารณะ กราฟและข้อมูลกํากับจะเป็นสาธารณะ
- สาธารณะ -- การตั้งค่านี้จะทําให้กราฟข้อมูลและข้อมูลกํากับของใครก็ได้ แม้แต่ผู้ใช้ที่ไม่ได้ล็อกอินเข้าไป แม้ว่าชุดข้อมูลจะเป็นข้อมูลส่วนตัวก็ตาม<แท็ก.
<เข้าใช้ได้ สืบค้นเมื่อ '% 1'
- [ ** <เข้าถึงแฟ้ม Via) ** ) (แฟ้มที่อ่านได้) เป็นเครื่องหมายการค้าภายใน<แท็กใน datasets.xml สําหรับ EDDGrid การ แบ่ง แยก . EDDGrid คัดลอก . EDDGrid ดึงข้อมูล . EDDGrid จาก เอลด์ดาป . EDDGrid จาก เอ โต โป . EDDGrid จากแฟ้ม (รวมทั้งคลาสย่อยทั้งหมด) . EDDGrid ด้านข้าง . โปรแกรมคัดลอก DDTable DDTable from Edardp . จาก EDDGrid และ เลือกแฟ้ม (รวมทั้งคลาสย่อยทั้งหมด) ชุดข้อมูล อาจ มี คุณค่า ของ ความ จริง หรือ ความ เท็จ. ยกตัวอย่างเช่น
<accessibleViaFiles>true</accessibleViaFiles>
ถ้าค่านั้นเป็นจริง ERDDAP™ จะทําให้ผู้ใช้สามารถเรียกดูและดาวน์โหลดข้อมูลจากฐานข้อมูลได้ผ่านทาง ERDDAP ' "files" ระบบ . ดู "files" ระบบ เอกสาร เพื่อข้อมูลเพิ่มเติม
ค่าปริยายของ<เข้าถึงแฟ้ม Via) มาจาก<ตัวกรองปริยาย: ใน ตั้งค่า. xml . มันมีค่าปริยายของเท็จ แต่เราขอแนะนําให้เพิ่มแท็กที่ตั้งค่าของคุณ xml ด้วยค่าของจริง
คําแนะนํา-- เราขอแนะนําให้ทําชุดข้อมูลที่เกี่ยวข้องทั้งหมด เข้าถึงผ่านทางระบบแฟ้มโดยการตั้งค่า<ค่าปริยาย AccessableViaFiles) เพื่อเป็นค่าจริงในการตั้งค่า.xml เนื่องจากมีกลุ่มผู้ใช้ซึ่งนี่เป็นวิธีมากกว่าในการรับข้อมูล หนึ่งในเหตุผลอื่น ๆ ที่ "files" ระบบทําให้ผู้ใช้เห็นว่ามีแฟ้มไหนอยู่ และได้เปลี่ยนแปลงล่าสุด ทําให้ผู้ใช้สามารถรักษาสําเนาข้อมูลทั้งหมดของตัวเองได้ง่ายขึ้น หากคุณไม่ต้องการสร้างชุดข้อมูลต่าง ๆ ผ่านทางระบบแฟ้ม ให้ตั้งค่า<เป็นเท็จ ไม่ว่ากรณีใด ใช้<AccessVia Files) สําหรับชุดข้อมูลไม่กี่ชุด ซึ่งยกเว้นนโยบายทั่วไปที่ตั้งขึ้นโดย<ตัวกรองปริยาย: (ตัวอย่างเช่น เมื่อชุดข้อมูลใช้ .nc mI แฟ้มซึ่งใช้ไม่ได้กับผู้ใช้) .
<เข้าใช้ได้ ผ่าน WMS & gt;
- [ ** <เข้าใช้ได้ ผ่าน WMS > ** ) (สัตว์ป่าที่ควบคุมได้) เป็นเครื่องหมายการค้าภายใน<แท็กใน datasets.xml สําหรับทุกคน EDDGrid ชั้นประถมศึกษา มันมีค่าเป็นจํานวนจริง (ค่าปริยาย) หรือไม่จริง ยกตัวอย่างเช่น
<accessibleViaWMS>true</accessibleViaWMS>
ถ้ามูลค่าเป็นเท็จ ERDDAP ' WMS จะไม่สามารถใช้งานแม่ข่ายสําหรับชุดข้อมูลนี้ได้ นี้มักใช้กับชุดข้อมูลที่มีเส้นแวงมากกว่า 180 (ซึ่งทางเทคนิคแล้ว ใช้งานไม่ได้สําหรับ WMS บริการ) และเพื่อให้คุณกําลังนําเสนอความต่อเนื่องของชุดข้อมูลที่มีค่า ลองจิจูดทั้งหมดในช่วง - 180 ถึง 180 ผ่าน EDDGrid ลอน PM 180 . ถ้าค่านั้นเป็นจริง ERDDAP™ จะพยายามสร้างชุดข้อมูลให้ใช้ได้ผ่านทาง ERDDAP ' WMS เซิฟเวอร์ แต่ถ้าชุดข้อมูลนั้นไม่เหมาะสมกับ WMS (เช่น มันไม่มีข้อมูล ลองติจูดหรือละติจูด) แล้วชุดข้อมูลจะไม่ได้ผ่าน ERDDAP ' WMS เซิร์ฟเวอร์ ไม่คํานึงถึงการตั้งค่านี้
<เพิ่ม ตัวแปร ที่ที่ http:
- [<เพิ่ม Wariables ที่ไหน) (# ตัวแปรที่) เป็นเครื่องหมายการค้าภายใน<แท็กสําหรับข้อมูล EDTable ทั้งหมด
การร้องขอข้อมูล EDTable ใด ๆ สามารถรวม & เพิ่มได้ ตัวแปร ที่ไหน (" คุณสมบัติ ชื่อ "" คุณสมบัติ ค่า ") ซึ่งบอกว่า ERDDAP™ เพื่อเพิ่มตัวแปรทั้งหมดในชุดข้อมูล แอตทริบิวต์Name ตามรายการตัวแปรที่ต้องการ ตัวอย่างเช่น หากผู้ใช้เพิ่ม & เพิ่ม ตัวแปร ที่ไหน (" ioos\_category ""วินด์") สําหรับการสอบถาม ERDDAP จะเพิ่มตัวแปรทั้งหมดในชุดข้อมูลที่มี ioos\_category =แอททริบิวต์แบบ Wind ตามรายการของตัวแปรที่ต้องการ (ยกตัวอย่างเช่น ลมพัด ลมพัด) . คุณสมบัติ ชื่อ ถึง คุณสมบัติ ค่า เป็นกรณีอ่อนไหว
ใน datasets.xml สืบค้นเมื่อ:
<addVariablesWhere>*attributeNamesCSV*<addVariablesWhere>
ยกตัวอย่างเช่น
<addVariablesWhere>ioos\\_category,units<addVariablesWhere>
รูปแบบการเข้าถึงข้อมูล (หน้าเว็บ.html) สําหรับชุดข้อมูล จะรวมวิดเจ็ตด้วย (สําหรับแอตทริบิวต์แต่ละตัวName) อยู่ใต้รายการของตัวแปร ซึ่งจะให้ผู้ใช้กําหนดค่าลักษณะเฉพาะ หากผู้ใช้เลือกค่าแอททริบิวต์สําหรับชื่อใดชื่อหนึ่งหรือมากกว่า จะทําการเพิ่มไปยังการร้องขอผ่านทาง &add ตัวแปร ที่ไหน (" คุณสมบัติ ชื่อ "" คุณสมบัติ ค่า ") . ดังนั้น แท็กนี้ใน datasets.xml ให้คุณกําหนดรายการของชื่อแอททริบิวต์ที่จะปรากฏบนรูปแบบการเข้าถึงข้อมูลสําหรับชุดข้อมูลดังกล่าว และทําให้ง่ายต่อผู้ใช้ที่จะเพิ่มข้อมูล &addVarables ซึ่งทําหน้าที่ตามคําขอ เดอะ แอตทริบิวต์ รายชื่อมีความไวต่อคดี
<The UniversityMeters PerSource Unit>
- [ ** <UniversityMeters PerSource Unit) ** ) (ยูนิเซฟ) เป็นเครื่องหมายการค้าภายใน<แท็กในชุดข้อมูล xxml สําหรับ EDTable from SOS ชุดข้อมูล (แค่!) ระบุตัวเลขที่ถูกคูณด้วยระดับความสูงแหล่งหรือค่าความลึกที่จะแปลงเป็นค่าความสูง (ในหน่วยเมตรเหนือระดับน้ําทะเล) . ยกตัวอย่างเช่น
<altitudeMetersPerSourceUnit>-1</altitudeMetersPerSourceUnit>
แท็กนี้จะต้องถูกใช้ หากค่าแกนทางแนวตั้งของแกน ไม่ใช่เมตร, บวก=up มิ ฉะนั้น ก็ เป็น OPOCTE เนื่อง จาก ค่าเริ่มต้นคือ 1 ยกตัวอย่างเช่น
- ถ้าแหล่งมีการวัดแล้วในเมตรเหนือระดับน้ําทะเล ใช้ 1 (ไม่ใช้ป้ายกํากับนี้ เนื่องจาก 1 เป็นค่าปริยาย) .
- ถ้า แหล่ง นี้ วัด เป็น เมตร ใต้ ระดับ น้ํา ทะเล ให้ ใช้ -1.
<altitudeMetersPerSourceUnit>-1</altitudeMetersPerSourceUnit>
- ถ้า มี การ วัด แหล่ง น้ํา ใน ระดับ น้ํา ทะเล สูง กว่า กิโลเมตร ให้ ใช้ 0.01.
<ค่าปริยาย
- [ ** <สืบค้นเมื่อ Data ปริยาย) ** ) (# ค่าปริยาย) เป็นเครื่องหมายการค้าภายใน<แท็กใน datasets.xml นั่นบอกได้ว่า ERDDAP™ ใช้คําร้องขอที่ระบุไว้ (ส่วนของที่อยู่ URL หลังจาก "?") หากแฟ้ม .html ชนิด (รูปแบบการเข้าถึงข้อมูล) ไม่มีการร้องขอ
- คุณ คง ไม่ ต้อง ใช้ สิ่ง นี้.
- คุณต้องกําหนดรหัส XML (ไม่ใช้รหัสเปอร์เซ็นต์) ชุดคําถามปริยาย เนื่องจากมันอยู่ในเอกสาร XML ตัวอย่างเช่น, & กลายเป็น & amp;<กลายเป็น<, > กลายเป็น & gt;
- กรุณาตรวจสอบการทํางานของคุณ มันง่ายที่จะทําผิดพลาด และไม่ได้รับสิ่งที่คุณต้องการ ERDDAP™ จะพยายามกําจัดข้อผิดพลาดของคุณ แต่ไม่ต้องพึ่งพามัน\*ยังไง\*การทําความสะอาดอาจเปลี่ยนได้
- สําหรับชุดข้อมูลแนวทแยงมุม, การใช้ทั่วไปกับอันนี้ คือการกําหนดค่าความลึกหรือมิติความสูงอื่น ๆ (ยกตัวอย่างเช่น \[ 0 \] แทน \[ สุดท้าย \] ) . ในกรณีใด ๆ คุณควรระบุตัวแปรทั้งหมด ใช้ค่ามิติเดียวกันสําหรับทุกตัวแปร และมักใช้ \[ 0 \] . \[ สุดท้าย \] หรือ \[ 0: Last \] สําหรับค่ามิติ ตัว อย่าง เช่น:
<defaultDataQuery>u\\[last\\]\\[0\\]\\[0:last\\]\\[0:last\\],v\\[last\\]\\[0\\]\\[0:last\\]\\[0:last\\]</defaultDataQuery>- สําหรับ tabledap ชุดข้อมูล, หากคุณไม่ได้ระบุเงื่อนไขใดๆ, การร้องขอจะคืนข้อมูลทั้งหมด, ซึ่งอาจจะมีขนาดใหญ่ผิดปกติ, ขึ้นอยู่กับชุดข้อมูล หากคุณไม่อยากระบุเงื่อนไขใด ๆ แทนที่มีช่องว่าง<สืบค้นเมื่อ Data ปริยาย) (ซึ่งไม่เหมือนกับการระบุค่าปริยาย สืบค้นเมื่อ) คุณต้องรายการตัวแปรทั้งหมดที่คุณต้องการให้รวมไว้ใน Datata โดยปริยายก่อน
- สําหรับ tabledap ชุดข้อมูล ซึ่งใช้กันบ่อยที่สุด คือระบุช่วงเวลาต่าง ๆ ของเวลา (สัมพันธ์กับค่ามากที่สุด (เวลา) ตัวอย่างเช่น & เวลา)=max (เวลา) -1 วัน หรือเมื่อเทียบกับตอนนี้ ตัวอย่างเช่น & เวลา) = now- 1 วัน) . จําไว้ว่าการขอตัวแปรข้อมูลไม่เท่ากับ การระบุตัวแปรข้อมูลทั้งหมด, ดังนั้นปกติคุณสามารถกําหนดเงื่อนไขเวลาใหม่ได้ ตัว อย่าง เช่น:
<defaultDataQuery>&time>=max(time)-1day</defaultDataQuery>
หรือ
<defaultDataQuery>&time>=now-1day</defaultDataQuery>
<ค่าปริยาย
- [ ** <สืบค้นเมื่อ Graph: ** ) (การเขียนตัวอักษร) เป็นเครื่องหมายการค้าภายใน<แท็กใน datasets.xml นั่นบอกได้ว่า ERDDAP™ ใช้คําร้องขอที่ระบุไว้ (ส่วนของที่อยู่ URL หลังจาก "?") ถ้าแฟ้ม .graph ชนิด (แบบ แปลน) ไม่มีการร้องขอ
- คุณ คง ไม่ ต้อง ใช้ สิ่ง นี้.
- คุณต้องกําหนดรหัส XML (ไม่ใช้รหัสเปอร์เซ็นต์) ชุดคําถามปริยาย เนื่องจากมันอยู่ในเอกสาร XML ตัวอย่างเช่น, & กลายเป็น & amp;<กลายเป็น<, > กลายเป็น & gt;
- กรุณาตรวจสอบการทํางานของคุณ มันง่ายที่จะทําผิดพลาด และไม่ได้รับสิ่งที่คุณต้องการ ERDDAP™ จะพยายามกําจัดข้อผิดพลาดของคุณ แต่ไม่ต้องพึ่งพามัน\*ยังไง\*การทําความสะอาดอาจเปลี่ยนได้
- สําหรับชุดข้อมูลแนวทแยงมุม, ค่าที่ใช้โดยทั่วไปของอันนี้ คือการกําหนดค่าความลึกหรือมิติความสูงอื่น ๆ (ยกตัวอย่างเช่น \[ 0 \] แทน \[ สุดท้าย \] ) และ/หรือเพื่อระบุตัวแปรเฉพาะจะถูกวาดกราฟ อย่างไรก็ตาม, คุณจะใช้เกือบทุกครั้ง \[ 0 \] . \[ สุดท้าย \] หรือ \[ 0: Last \] สําหรับค่ามิติ ตัว อย่าง เช่น:
(แต่ติดไว้แค่เส้นเดียว)<defaultGraphQuery>temp\\[last\\]\\[0\\]\\[0:last\\]\\[0:last\\]&.draw=surface&.vars=longitude|latitude|temp</defaultGraphQuery>- สําหรับ tabledap ชุดข้อมูล, หากคุณไม่ได้ระบุเงื่อนไขใดๆ, การร้องขอจะวาดกราฟข้อมูลทั้งหมด, ซึ่งอาจใช้เวลานานมาก, ขึ้นอยู่กับข้อมูล
- สําหรับ tabledap ชุดข้อมูล ซึ่งใช้กันบ่อยที่สุด คือระบุช่วงเวลาต่าง ๆ ของเวลา (สัมพันธ์กับค่ามากที่สุด (เวลา) ตัวอย่างเช่น & เวลา)=max (เวลา) -1 วัน หรือเมื่อเทียบกับตอนนี้ ตัวอย่างเช่น & เวลา) = now- 1 วัน) . จําไว้ว่าการขอตัวแปรข้อมูลไม่เท่ากับ การระบุตัวแปรข้อมูลทั้งหมด, ดังนั้นปกติคุณสามารถกําหนดเงื่อนไขเวลาใหม่ได้ ตัว อย่าง เช่น:
<defaultGraphQuery>&time>=max(time)-1day</defaultGraphQuery>
หรือ
<defaultGraphQuery>&time>=now-1day</defaultGraphQuery>
<มิติ Values Inmeory>
-
[ ** <มิติ ค่าในหน่วยความจํา) ** ) (# ความรู้มีค่า) (จริง (ค่าปริยาย) หรือเท็จ) เป็นเครื่องหมายการค้าและแทบจะไม่ใช้แท็กภายใน<แท็กสําหรับรายการใด ๆ EDDGrid ชุดข้อมูลที่บอกว่า ERDDAP™ โดยเก็บค่าแหล่งของมิติ (หรือที่รู้จักกันในชื่อ axisVariable วินาที) .
- ความจริง = ในความทรงจํา (ซึ่งเร็วกว่า แต่ใช้หน่วยความจํามากขึ้น)
- เท็จ =บนดิสก์ (ซึ่งช้าแต่ไม่ใช้หน่วยความจํา)
ยกตัวอย่างเช่น
<dimensionValuesInMemory>false</dimensionValuesInMemory>
คุณควรใช้นี่ด้วยค่าไม่ใช่ค่าปริยายของเท็จ หากค่าของคุณ ERDDAP™ มีชุดข้อมูลมากมายที่กว้างมาก (e.g. ค่าเป็นล้าน, e.g. in EDDGrid แฟ้มข้อมูล Audio) ถึง ERDDAP การใช้หน่วยความจํานั้นสูงเกินไป ดูหน่วยความจํา: ปัจจุบันใช้บรรทัดที่ \[ โดเมนของคุณ \] /erddap/status.html ไปยังจอภาพ ERDDAP™ การใช้หน่วยความจํา
<แฟ้มTableInmeory>
-
[ ** <แฟ้มที่ฝังได้: ** ) (ชื่อแฟ้ม) (จริงหรือเท็จ (ค่าปริยาย) ) เป็นเครื่องหมายการค้าภายใน<แท็กสําหรับรายการใด ๆ EDDGrid จากแฟ้มและ EDTable จากชุดข้อมูลแฟ้มที่บอกว่า ERDDAP™ ที่เก็บแฟ้ม (ซึ่งมีข้อมูลเกี่ยวกับแฟ้มข้อมูลแต่ละแหล่ง) .
- ความจริง = ในความทรงจํา (ซึ่งเร็วกว่า แต่ใช้หน่วยความจํามากขึ้น)
- เท็จ =บนดิสก์ (ซึ่งช้าแต่ไม่ใช้หน่วยความจํา)
ยกตัวอย่างเช่น
<fileTableInMemory>true</fileTableInMemory>
หากคุณตั้งค่านี้ให้เป็นจริงสําหรับชุดข้อมูลใด ๆ ให้เฝ้าสังเกตหน่วยความจํา: ปัจจุบันใช้บรรทัดที่ \[ โดเมนของคุณ \] /erddap/status.html เพื่อให้แน่ใจว่า ERDDAP™ ยังมีความทรงจําที่ฟรีอีกมากมาย
<fgcfile>
- [ ** <แฟ้ม fgc ** ) (แฟ้ม # fgcfile) เป็นเครื่องหมายการค้าภายใน<แท็กใน datasets.xml นั่นบอกได้ว่า ERDDAP™ ใช้แฟ้ม FGDC ที่ทํามาก่อน แทนที่จะใช้ ERDDAP™ ลองสร้างแฟ้มดู วิธีใช้:
<fgdcFile>*fullFileName*</fgdcFile>
เต็ม แฟ้มName สามารถอ้างอิงไปยังแฟ้มภายในระบบ (ที่ไหนสักแห่งในระบบแฟ้มของเซิร์ฟเวอร์) หรือที่อยู่ URL ของแฟ้มระยะไกล ถ้า เต็ม แฟ้มName ไม่พบแฟ้มหรือแฟ้ม ชุดข้อมูลจะไม่มีข้อมูลกํากับภาพแบบ FGDC นี่ยังมีประโยชน์ด้วย หากคุณต้องการระงับข้อมูลกํากับภาพ FGDC สําหรับชุดข้อมูลเฉพาะ หรือคุณสามารถใส่<เท็จ<ในการตั้งค่า.xml เพื่อบอก ERDDAP™ ไม่เสนอข้อมูลกํากับภาพแบบ FGDC สําหรับชุดข้อมูลใดๆ
<ไอโซ19115 แฟ้ม>
- [ ** <ISO19115 File) ** ) (ISO19115 file) เป็นเครื่องหมายการค้าภายใน<แท็กใน datasets.xml นั่นบอกได้ว่า ERDDAP™ ใช้ ISO รุ่นก่อน 19115 แทนการใช้ ERDDAP™ ลองสร้างแฟ้มดู วิธีใช้:
เต็ม แฟ้มName สามารถอ้างอิงไปยังแฟ้มภายในระบบ (ที่ไหนสักแห่งในระบบแฟ้มของเซิร์ฟเวอร์) หรือที่อยู่ URL ของแฟ้มระยะไกล ถ้า เต็ม แฟ้มName \=" หรือไม่พบแฟ้ม ชุดข้อมูลจะไม่มีข้อมูลกํากับภาพ ISO 19115 นี่ยังมีประโยชน์ด้วย ถ้าคุณอยากระงับข้อมูล ISO 19115 สําหรับชุดข้อมูลเฉพาะ หรือคุณสามารถใส่<ไอโซ19115 แอ็คชั่น) เท็จ<ในการตั้งค่า.xml เพื่อบอก ERDDAP™ ไม่เสนอข้อมูล ISO 19115 สําหรับข้อมูลใด ๆ
<iso19115File>*fullFileName*</iso19115File>
<จับคู่ให้ตรงกัน NDigits>
- [ ** <ตรงกับ Axndigits) ** ) (เลขคู่) เป็นเครื่องหมายการค้าภายใน EDDGrid <แท็กสําหรับ EDDGrid ชุดข้อมูลที่เป็นหัวเรื่อง, เช่น, เป็นกลุ่มของแฟ้ม ทุกครั้งที่ชุดข้อมูลถูกโหลดใหม่ ERDDAP™ ตรวจดูว่าค่าแกนของแต่ละองค์ประกอบ ของเครื่องหมายอาร์คโคไซน์เท่ากัน ความแม่นยําของการทดสอบถูกกําหนดโดย ตรงกับ Axndigit ซึ่งระบุจํานวนตัวเลขทั้งหมด ที่ต้องตรงกันเมื่อทดสอบค่าแกนคู่ (ค่าปริยาย) . เมื่อทดสอบค่าแกนลอย, การทดสอบจะทํากับ accessNdigits/2 หลัก ค่า 18 หรือมากกว่าที่บอก EDDGrid เพื่อทําการทดสอบที่แน่นอน ค่า 0 บอก EDDGrid อย่า ทํา การ ทดลอง ใดๆ ซึ่ง ไม่ มี การ แนะนํา เว้นแต่ ที่ พรรณนา ไว้ ข้าง ล่าง นี้
ถึงแม้ว่า EDDGrid อนุญาตให้ส่วนประกอบของโฟลเดอร์ย่อยมี ค่าแกนต่างกันเล็กน้อย โดยจะแสดงค่าแกนเพียงชุดเดียวให้กับผู้ใช้ เซตนี้มาจากส่วนประกอบเดียวกันกับที่ให้ข้อมูลกํากับภาพของแหล่งข้อมูล ยกตัวอย่างเช่น EDDGrid จากชุดข้อมูลแฟ้ม ที่ระบุโดย<ตั้งค่าข้อมูลกํากับภาพจาก > (ค่าปริยาย) .
การใช้ที่เข้าคู่กันของ Axndigits\=0 นั้นเป็นความท้อแท้อย่างมากในกรณีส่วนใหญ่ เพราะมันปิดการตรวจสอบทั้งหมด แม้ แต่ การ ตรวจ สอบ เพียง เล็ก น้อย ก็ เป็น ประโยชน์ เพราะ ทํา ให้ แน่ ใจ ว่า ส่วน ประกอบ เหล่า นั้น เหมาะ ที่ จะ แบ่ง แยก. เราทุกคนคิดว่าส่วนประกอบทั้งหมดเหมาะสม แต่ก็ไม่ได้เป็นอย่างนั้นเสมอไป ดัง นั้น นี่ จึง เป็น การ ทดสอบ ทาง จิต ที่ สําคัญ. แม้ค่าของการจับคู่ Axensndigits1, 2, 3 หรือ 4 จะท้อแท้เพราะค่าแกนที่แตกต่างกัน มักแสดงว่าองค์ประกอบถูกสร้างขึ้น (ถังขยะ?) เป็น อีก วิธี หนึ่ง ที่ ต่าง ออก ไป และ จึง ไม่ เหมาะ ที่ จะ ใช้ เป็น เครื่อง ประดับ.
มีกรณีหนึ่งที่ใช้กับ accessNDigits\=0 ที่มีประโยชน์ และขอแนะนําให้ใช้: ด้วยกลุ่มย่อยของแฟ้มทางไกล เช่น ข้อมูลในถัง S3 ในกรณีนี้ หากชุดข้อมูลใช้แคชจาก Url, แคช SizeGB, ตรงกับ AxisNDigits\=0 และ EDDGrid จากระบบแฟ้มสําหรับ พารามิเตอร์ ผ่าน ชื่อแฟ้ม งั้น EDDGrid ไม่ต้องอ่านทุกไฟล์ เพื่อทําจดหมาย นี่ช่วยให้ชุดข้อมูลที่ถูกสร้างจากข้อมูลในถัง S3 ได้โหลดอย่างรวดเร็ว (แทนที่จะช้าอย่างไร้สาระ EDDGrid ต้องดาวน์โหลดและอ่านแฟ้มทั้งหมด) .
<nheads>
- เริ่มด้วย ERDDAP™ รุ่น 2.00 เมื่อชั้นย่อยของ EDTable จากแฟ้มหรือ EDDGrid อ่านข้อมูลจากแหล่งที่มา สามารถอ่านข้อมูลได้หนึ่งชิ้น (เช่น แฟ้มต้นทางหนึ่งแฟ้ม) ทีละครั้ง (ในเธรดเดียว) (นั่นคือค่าเริ่มต้น) หรือมากกว่า 1 ก้อนของข้อมูล (อี.จี. แฟ้มต้นฉบับ 2+) ทีละครั้ง (ในเธรด 2 เรื่องหรือมากกว่า) ระหว่างประมวลผลคําขอแต่ละข้อ
-
กฎหัวแม่มือ: สําหรับชุดข้อมูลส่วนใหญ่ในระบบส่วนใหญ่ ให้ใช้ nTheads=1, ค่าปริยาย ถ้าคุณมีคอมพิวเตอร์ที่มีประสิทธิภาพ (ศูนย์ CPU จํานวนมาก ความทรงจําจํานวนมาก) ถ้า เช่น นั้น ขอ ให้ คิด ถึง การ กําหนด ขอบ เขต 2, 3, 4 หรือ สูง กว่า นั้น (แต่ไม่มากไปกว่าจํานวนแกน CPU ในคอมพิวเตอร์) สําหรับชุดข้อมูล ที่อาจมีประโยชน์:
- ข้อมูลส่วนใหญ่จากแฟ้มชุดข้อมูลจะมีประโยชน์
- ชุดข้อมูลซึ่งบางสิ่งทําให้เกิดความล้าหลัง ก่อนที่จะสามารถประมวลผลข้อมูลชิ้นเล็ก ๆ ได้จริงๆ จะเป็นประโยชน์ ตัวอย่างเช่น:
- ข้อมูลต่าง ๆ กับ ถูกกดทับภายนอก (อี.จี. .gz ) ไบนารี (อี.จี. .nc ) แฟ้ม เพราะว่า ERDDAP™ ต้องย่อยสลายแฟ้มทั้งหมดก่อนที่จะเริ่มอ่านแฟ้มได้
- ชุดข้อมูลที่จะใช้ แคชSizeGB เพราะว่า ERDDAP™ บ่อยครั้งที่ต้องดาวน์โหลดแฟ้มก่อนที่จะอ่านได้
- ชุดข้อมูลต่าง ๆ กับแฟ้มข้อมูลที่ถูกจัดเก็บในระบบแฟ้มคู่ขนานแบบแบนด์วิธ เนื่องจากสามารถส่งข้อมูลได้เร็วขึ้น เมื่อร้องขอ ตัวอย่างของระบบแฟ้มคู่ขนาน ขนาด JBOD . PNFS . กลอสเตอร์เอฟเอส Amazon S3 และ Google Cload Page
-
คําเตือน: เมื่อใช้ nTHeads> 1, จับตาดูไว้ ERDDAP การใช้หน่วยความจํา, การใช้ด้าย, และการตอบสนองโดยรวม (ดู ERDDAP หน้าสถานะ ) . ดู ความ เห็น เกี่ยว กับ ประเด็น เหล่า นี้ ข้าง ล่าง นี้.
-
สําหรับชุดข้อมูลที่กําหนด, ค่า nheads นี้ สามารถมาจากสถานที่ต่างๆ:
- ถ้า datasets.xml ชิ้นสําหรับชุดข้อมูล<แท็ก (in<แท็กข้อมูล > ไม่ใช่ป้ายกํากับทั่วไป) ด้วยค่า >= 1, ค่าของ nThards นั้นถูกใช้ ดังนั้น คุณสามารถระบุจํานวนอื่น ๆ สําหรับแต่ละชุดข้อมูล
- ไม่อย่างนั้น ถ้า datasets.xml มี<ป้าย (สําหรับ EDTable จากชุดข้อมูลแฟ้ม) หรือ<ป้าย (สําหรับ EDDGrid ชุดข้อมูล) ด้วยค่า >= 1 นอก<ป้ายข้อมูล:
- มิ ฉะนั้น จะ มี การ ใช้ ด้าย 1 เส้น ซึ่ง เป็น ทาง เลือก ที่ ปลอด ภัย เนื่อง จาก ใช้ ความ จํา ใน ปริมาณ ที่ น้อย ที่ สุด.
สําหรับ เดิม ERDDAP™ การติดตั้ง เราใช้ <nTable Theads) 6</ nTable Theads) (มันเป็นเซิร์ฟเวอร์ที่ทรงพลัง) ตอน นี้ คํา ขอ ยาก ๆ ใช้ ได้ ถึง 30% ของ ครั้ง ก่อน.
การใช้งานทรัพยากรของจอภาพ
เมื่อคุณกําลังทดลองกับการตั้งค่า nthbooks ที่แตกต่างกัน (และบางที อาจทําให้การขอตัวอย่างยาก ERDDAP ) คุณสามารถตรวจสอบการใช้ทรัพยากรของคุณ:
- บน Macs, ใช้ตัวค้นหา: โปรแกรม: Ustominute: Office
- บนลินุกซ์ ใช้ด้านบน
- บนวินโดวส์ 10 ใช้ Ctrl + Shift + เอสเอส เปิดตัวจัดการงาน
คําเตือน: ลดความรับผิดชอบ
ในความโดดเดี่ยว ERDDAP™ จะเติมเต็มการร้องขอไปยังชุดข้อมูลที่มีการตั้งค่า nTHreads สูงกว่าถ้า nTheads=1 แต่ ถึง แม้ มี การ ดําเนิน การ ตาม คํา ขอ นั้น แต่ คํา ขอ อื่น ๆ จาก ผู้ ใช้ คน อื่น ๆ ก็ ค่อน ข้าง แน่น และ ได้ รับ การ ตอบ สนอง ช้า ลง. และเมื่อไหร่ ERDDAP™ ตอบสนองต่อการร้องขอ, ทรัพยากรการคํานวณอื่น ๆ (e.g., สิทธิ์ในการใช้งานดิสก์, แบนด์วิธเครือข่าย) อาจ มี ขีด จํากัด โดย เฉพาะ อย่าง ยิ่ง เมื่อ มี การ ปรับ ปรุง ให้ ดี ขึ้น. ดังนั้น ด้วยการตั้งค่า nTheads ที่สูงขึ้น ระบบตอบสนองโดยรวมจะแย่ลง เมื่อมีการประมวลผลการร้องขอหลาย ๆ อย่าง -- นี้อาจจะทําให้ผู้ใช้รําคาญ! เพราะอย่างนี้: อย่าตั้งค่า nTheads ให้มากกว่าจํานวน CPU ในคอมพิวเตอร์ nTHreads=1 เป็นการตั้งค่าที่ยุติธรรมที่สุดเนื่องจากแต่ละการร้องขอ (จากการร้องขอร่วมกัน) จะได้ทรัพยากรการคํานวณเท่าๆ กัน แต่ยิ่งคอมพิวเตอร์มีประสิทธิภาพมากเท่าไร มันก็ยิ่งเป็นปัญหาน้อยลงเท่านั้น
คําเตือน: หน่วยความจําที่สูง ใช้สําหรับ EDDGrid ชุดข้อมูล
การใช้หน่วยความจําขณะประมวลผลการร้องขอ สัดส่วนโดยตรงกับการตั้งค่า nTheads กฎง่ายๆ ของนิ้วโป้งคือว่า คุณต้องตั้ง ERDDAP ตั้งค่าหน่วยความจํา ถึงอย่างน้อย 2GB + (2GB / * nTheads) . การร้องขอข้อมูลบางอย่าง ต้องการความจํามากกว่านั้น ตัวอย่างเช่น, การตั้ง nHeads=3 สําหรับอะไรก็ตาม EDDGrid ชุดข้อมูลหมายความว่า ค่า -Xmx ควรเป็น -xx8000M ถ้าการตั้งค่าหน่วยความจําดังกล่าวมากกว่า 3/4 ความจําทางกายภาพของคอมพิวเตอร์ ให้ลดการตั้งค่า nTheads เพื่อที่คุณจะสามารถลดการตั้งค่าหน่วยความจําได้
การใช้หน่วยความจําในการประมวลผลเธรด การร้องขอข้อมูล DDTable เกือบจะต่ํากว่าทุกครั้ง เพราะแฟ้มปกติจะมีขนาดเล็กกว่ามาก อย่างไรก็ตาม ถ้าชุดข้อมูล ADTable มีขนาดใหญ่ (e.g., >=1 GB) ไฟล์ข้อมูล, แล้วหมายเหตุข้างต้น จะนําไปใช้กับชุดข้อมูลเหล่านั้นเช่นกัน
ไม่ว่าอะไรก็ตามที่การตั้งค่า ntheads, จับตาดูสถิติการใช้งานหน่วยความจําของคุณ ERDDAP หน้าสถานะ . คุณไม่ควรจะเข้าใกล้การทําให้การใช้งานหน่วยความจําสูงสุดใน ERDDAP มิ ฉะนั้น จะ เกิด ความ ผิด พลาด ร้าย แรง และ ความ ล้ม เหลว.
ตั้งค่าตามจังหวะ 1
ถ้าการใช้งานหน่วยความจําในปัจจุบันแม้เพียงเล็กน้อยสูง ERDDAP™ จะตั้งค่า ntheads สําหรับการร้องขอนี้ไปยัง 1 ดังนั้น ERDDAP™ เก็บหน่วยความจําเมื่อหน่วยความจําขาดแคลน
การ กลับ สู่ สภาพ เดิม
จะมีการลดค่าที่ตั้งไว้สําหรับ nTheads: 2 เธรดจะมีวิธีที่ดีกว่า 1 (ถ้าเราไม่สนใจการกระสับกระส่าย) . แต่ 3 จะดีกว่า 2 เท่านั้น และ 4 จะดีกว่า 3 แค่ขอบ.
ใน การ ทดสอบ ครั้ง หนึ่ง เกี่ยว กับ ชุด ข้อมูล ดี ดี ดี ที ขนาด ใหญ่ ซึ่ง ใช้ เวลา ตอบ รับ 1, 2, 3, 4, 5, 6 เส้น เป็น 38, 36, 20, 18, 13, 11 วินาที. (ตอนนี้เราใช้ nTable Theads=6 บนเซิร์ฟเวอร์)
nTheads=2: แม้ว่า บ่อยครั้งจะมีผลประโยชน์ที่สําคัญในการระบุค่า nTHReads=2 แทนที่จะเป็น nTHReads=1 ซึ่งมักจะไม่ทําให้เกิดความแตกต่างมากในเวลานาฬิกาที่จําเป็นในการตอบสนองต่อการร้องขอของผู้ใช้ที่ให้ เหตุผลก็คือ ด้วย nTHReads=1 CPU ที่ทันสมัยที่สุด เวลาเกินกําหนดแบบไม่ตายตัว (เพิ่มเครื่อง) เพื่อเพิ่มความเร็วนาฬิกาของ CPU ชั่วคราว ดังนั้น ด้วย nTHReads=1, แกนหนึ่งมักจะทํางานที่ความเร็วนาฬิกาสูง กว่าแต่ละแกนทั้งสองถ้าคุณใช้ nTHRDs=2. ไม่ ว่า จะ อย่าง ไร เรา ก็ ยัง คง คิด ว่า ดี กว่า ที่ จะ ใช้ nTheads=2 แทน ที่ จะ ใช้ nTHradwards = 1 เนื่อง จาก สภาพ แวด ล้อม ดัง กล่าว จะ บังเกิด ผล ดี กว่า ใน สถานการณ์ ที่ หลาก หลาย. และแน่นอน ถ้าคอมพิวเตอร์ของคุณ มีแกน CPU เพียงพอ การตั้งค่า nTRD สูงกว่านั้น ควรมีผลที่ดีกว่า
ดัง ที่ พิจารณา ไป ข้าง ต้น การ จัด การ อ่าน หนังสือ ให้ มาก ๆ อาจ ทํา ให้ มี การ ตอบ สนอง ตาม คํา ขอ ได้ เร็ว ขึ้น แต่ ความ เสี่ยง ของ การ ลด ลง โดย รวม ERDDAP™ การตอบรับและหน่วยความจําสูง (ตามที่กล่าวไว้ด้านบน) ในขณะที่คําร้องขอเหล่านั้นกําลังถูกดําเนินการ หมายความว่าโดยทั่วไปแล้วมันไม่ใช่ความคิดที่ดี
ตัวประมวลผลหลัก คอรส์
คุณไม่ควรตั้ง nTHReads เป็นจํานวนที่มากกว่าจํานวน CPU หลักใน CPU ของคอมพิวเตอร์ โดยพื้นฐานแล้ว CPU ทันสมัยทั้งหมด มีแกนหลายแกน (e.g., 2, 4, หรือ 8) . คอมพิวเตอร์บางตัวยังมี CPU หลายเครื่อง (e.g., 2 CPU\* 4 แกน/ CPU =แกน CPU 8) . เพื่อหาจํานวน CPU และแกนคอมพิวเตอร์ที่มี:
- บนแมค ใช้ กุญแจตัวเลือก สืบค้นเมื่อ:
- บนลินุกซ์ ใช้แมว / proc/ cpuinfo
- บนวินโดวส์ 10 ใช้ Ctrl + Shift + เอสเอส เปิด ตัวจัดการงาน: ประสิทธิภาพ (ตัวประมวลผลตรรกะแสดงจํานวน CPU ทั้งหมด)
ใช่ โพรเซสเซอร์ส่วนมากบอกว่า พวกเขารองรับ 2 ด้ายต่อแกน (ผ่าน การอ่านแบบไม่ตายตัว ) แต่ 2 เธรดนี้ใช้ทรัพยากรคํานวณร่วมกัน ดังนั้น คุณจะไม่ได้เห็นการตัดผ่าน CPU สองครั้ง ภายใต้ภาระหนัก ยกตัวอย่างเช่น คอมพิวเตอร์ที่มี CPU หนึ่งตัว กับ 4 แกน อาจอ้างว่ารองรับมากกว่า 8 เส้น แต่เราไม่ควรเกิน nTHRDs=4 ERDDAP . จําไว้นะ
- The nThreads วางใน ERDDAP™ คือคําขอต่อครั้ง ERDDAP™ บ่อย ครั้ง จะ จัด การ กับ คํา ขอ หลาย อย่าง พร้อม ๆ กัน.
- ERDDAP™ ทําสิ่งอื่นนอกเหนือจากการร้องขอในโพรเซส เช่น เรียกข้อมูลใหม่
- เมื่อ ERDDAP™ ตอบสนองต่อการร้องขอ, ทรัพยากรการคํานวณอื่น ๆ (e.g., สิทธิ์ในการใช้งานดิสก์, แบนด์วิธเครือข่าย) อาจจะจํากัด ยิ่งคุณตั้งค่า ntheads สูงมากขึ้น เป็นไปได้ที่ทรัพยากรอื่น ๆ เหล่านี้จะถูกขยายออกไปและจะชะลอตัวลง ERDDAP การตอบรับทั่วไป
- ระบบปฏิบัติการทําสิ่งที่ไม่ใช่การทํางาน ERDDAP .
ดังนั้นจะดีที่สุดที่จะไม่ตั้งค่า nTHRDs มากกว่าจํานวนแกนใน CPU ของคอมพิวเตอร์
การ เดิน ทาง ของ คุณ & ขาว (ฟิล์ม MMV)
ผลของการตั้งค่า nTHReads ที่แตกต่างกัน จะแตกต่างกันอย่างมากสําหรับการร้องขอที่แตกต่างกัน ถ้า คุณ อยาก รู้ จริง ๆ ว่า การ ตรวจ สอบ แบบ ไม่ ซ้ํา กัน ก่อ ผล เช่น ไร ให้ ตรวจ สอบ ตาม ความ เป็น จริง.
ทําไมต้องต่อคําขอร้องด้วย
ผมได้ยินเสียงพวกคุณบางคนคิดว่า "ทําไม ntheads ต่อคําขอ? ถ้าผมเขียนโค๊ดนี้ผมจะใช้หนึ่งสายไหมถาวร และคิวเลื่อนสําหรับประสิทธิภาพที่ดีกว่า." ปัญหา ของ การ ใช้ สระ ทํา งาน เดียว และ คิว ส่ง ข้อ ความ ก็ คือ การ ขอ อย่าง หนึ่ง ที่ ยาก จะ ทํา ให้ คิว ท่วมท้น ไป ด้วย งาน ที่ ช้า มาก. นั่นสามารถบล็อกได้ ERDDAP™ ตั้งแต่เริ่มทํางานที่เกี่ยวข้องกับคําขออื่น จนกระทั่งคําขอเริ่มต้น (ที่สุดแล้ว) เสร็จแล้ว ด้วย เหตุ นี้ แม้ แต่ คํา ขอ ง่าย ๆ ภาย หลัง ก็ จะ ตอบ สนอง อย่าง ช้า ๆ. ERDDAP การใช้ nTheads ต่อคําขอ นําไปสู่การใช้ทรัพยากรการคํานวณที่ยุติธรรมยิ่งขึ้น
NTHReads vs. คอมพิวเตอร์หลายเครื่อง
โชคไม่ดี ERDDAP ระบบของ nThards จะไม่มีประสิทธิผลเท่ากับการขนานจริง ผ่านคอมพิวเตอร์ที่ทํางานหลายเครื่อง โดยแต่ละคนทํางานด้านข้อมูล เมื่องานมีความคล้ายคลึงกันจริง ๆ กับคอมพิวเตอร์หลายเครื่อง คอมพิวเตอร์แต่ละเครื่องสามารถใช้ทรัพยากรทั้งหมดของมัน ในส่วนของงาน ด้วย ERDDAP ระบบของ nThards แต่ละเธรดคือการแข่งขันสําหรับเครื่องคอมเครื่องเดียวกันแบนด์วิด, ไดรฟ์ดิสก์, ความจํา เป็นต้น แต่น่าเสียดายที่เราส่วนใหญ่ไม่มีทรัพยากรหรือกองทุนในการตั้งหรือแม้กระทั่งค่าเช่า (บนบริการเว็บของ Amazon (ขนาด AWS) หรือ Google Cload Platriphy (แบบ GCP) ) คอมพิวเตอร์จํานวนมาก แตกต่างจากฐานข้อมูลความสัมพันธ์ ซึ่งอนุญาตให้คืนแถวผลลัพธ์ในรูปแบบใด ๆ ERDDAP™ สัญญาว่าจะส่งผลกลับมาเป็นแถวตามลําดับ เงื่อนไขนี้ทําให้ ERDDAP การจัดระบบที่มีประสิทธิภาพน้อยลง แต่ ERDDAP ntheads มีประโยชน์ในหลายกรณี
อย่างไรก็ตาม มันมีวิธีที่จะทําให้ ERDDAP™ สัดส่วนที่จะจัดการกับจํานวนมากของการร้องขอได้อย่างรวดเร็วโดยการตั้งค่า กริด/ ตัวประกอบ/ ปริมาตร ERDDAP วินาที .
<แผ่นใส
- เริ่มด้วย ERDDAP™ รุ่น 2.12 datasets.xml อาจรวม<ป้ายกํากับ (in)<ซึ่งแทนที่<ค่าของจานสี: (หรือกลับไปใช้ค่า xml ของจดหมายหากป้ายเข้ามา datasets.xml ว่าง) . ให้คุณได้เปลี่ยนรายการของจานสีที่มี ERDDAP™ กําลังวิ่ง นอกจากนี้ยังช่วยให้คุณทําการเปลี่ยนแปลงและมีมันอย่างต่อเนื่องเมื่อคุณติดตั้งรุ่นใหม่ของ ERDDAP . (คําเตือน: แผ่นจานเสียงในรายการใน datasets.xml ต้องเป็นชุดของจานสีในรายการในจดหมาย.xml; ไม่เช่นนั้น ERDDAP™ จะโยนข้อยกเว้นและหยุดการประมวลผล datasets.xml . นี่รับประกันได้ว่า ERDDAP™ การติดตั้งอย่างน้อยสนับสนุนจานสีหลักเดียวกัน (คําเตือน: ERDDAP™ ตรวจสอบว่าแฟ้มจานสีที่ระบุในจดหมายมีอยู่หรือไม่ แต่มันไม่ได้ตรวจสอบแฟ้มจานสีในรายการ datasets.xml . มันเป็นความรับผิดชอบของคุณที่จะแน่ใจว่าไฟล์มีอยู่
เริ่มด้วย ERDDAP™ รุ่น 2. 12 หากคุณทําโครงสร้างย่อย cptfiles ใน ERDDAP™ ไดเร็กทอรีเนื้อหา ERDDAP™ จะคัดลอกแฟ้มทั้งหมด\*.cpt ในไดเรกทอรีนั้นไปยัง \[ แว่นขยาย \] ไดเรกทอรี / webapps/erdap/WEB-INF/cptfiles แต่ละครั้ง ERDDAP™ เริ่มได้ ดังนั้น หากคุณใส่แฟ้ม cpt ที่ตั้งเองในไดเรกทอรีนั้น แฟ้มเหล่านั้นจะถูกใช้โดย ERDDAP™ แม้เมื่อคุณติดตั้งรุ่นใหม่ ERDDAP .
คําเตือน: หากคุณเพิ่มจานสีที่กําหนดเอง ERDDAP™ และคุณมี EDDGrid จาก Eddadap และ/หรือ EDTable from Eddadap ชุดข้อมูลในของคุณ ERDDAP™ ผู้ใช้จะเห็นตัวเลือกจานสีที่กําหนดเองบน ERDDAP™ สร้าง Graphage หน้าเว็บ แต่ถ้าผู้ใช้พยายามใช้งานมัน พวกเขาจะได้กราฟพร้อมกับค่าปริยาย (ปกติจะเป็นสายรุ้ง) จานสี นั่นเป็นเพราะภาพถูกสร้างจากระยะไกล ERDDAP™ ซึ่งไม่มีจานสีที่กําหนดเอง คําตอบเดียวในตอนนี้คือการส่งอีเมลจากระยะไกล ERDDAP™ ผู้ดูแลระบบที่จะเพิ่มจานสีที่กําหนดเองของคุณไปยัง/her ERDDAP หรืออีเมล์คริส John ที่ NoA.gov เพื่อขอให้จานสีถูกเพิ่มเข้าไปในมาตรฐาน ERDDAP™ การกระจายตัว
<On Change>
- [ ** <บน Changle) ** ) (เมื่อมีการเปลี่ยนแปลง) เป็นเครื่องหมายการค้าภายใน<แท็กใน datasets.xml กําหนดการกระทําที่จะทําเมื่อสร้างชุดข้อมูลชุดนี้ (เมื่อ ERDDAP™ เริ่มการทํางานใหม่แล้ว) และเมื่อไหร่ก็ตามที่ข้อมูลนี้เปลี่ยนไป
- ตอนนี้ สําหรับ EDDGrid คลาสย่อย, การเปลี่ยนแปลงข้อมูลกํากับภาพหรือตัวแปรแกน (ตัวอย่างเช่น เวลาใหม่สําหรับข้อมูลใกล้เวลา) ถือเป็นการเปลี่ยนแปลง แต่การโหลดข้อมูลชุดไม่ได้พิจารณาการเปลี่ยนแปลง (ด้วยตัวมันเอง) .
- ปัจจุบัน สําหรับ คลาส ย่อย EDTable การโหลดข้อมูลใด ๆ จะถือว่าเป็นการเปลี่ยนแปลง
- ปัจจุบัน อนุญาต ให้ ทํา ได้ เพียง สอง ประเภท:
- "http://"หรือhttps://"-- ถ้าการกระทําเริ่มต้นด้วยhttp://"หรือhttps://". ERDDAP™ จะส่ง HTTP GET ร้องขอไปยังที่อยู่ URL ที่กําหนด การตอบสนองจะถูกละทิ้ง ยกตัวอย่างเช่น ที่อยู่ URL อาจบอกบริการเว็บอื่นให้ทําอะไรสักอย่าง
- หากที่อยู่ URL มีส่วนของการค้นหา (หลังจาก "?) มันควรจะเป็นอยู่แล้ว เข้ารหัสไว้% . คุณต้องเข้ารหัสอักขระพิเศษในเงื่อนไข (อื่น ๆ นอกเหนือจากเริ่มต้น '&' และหลัก '=' อยู่ในเงื่อนไข) ในรูป %HH, โดย HH เป็น 2 หลักที่เลขฐานสิบหกของตัวละคร โดยทั่วไปแล้ว คุณต้องแปลงตัวอักษรบางตัวในวรรคตอน: %s เป็น %25, & เป็น %26, "เป็น% 22,<ใน% 3C, =ลงใน% 3D, > ใน% 3E, + ใน% 2B, | เป็น % 7C, \[ เป็น % 5B, \] เป็น % 5 มิติ, ช่องว่างเป็น % 20, และแปลงตัวอักษรทั้งหมดด้านบน #127 เป็นรูปแบบ UTF-8 ของพวกเขา จากนั้นเปอร์เซ็นต์การเข้ารหัสแต่ละ byte ของรูป UTF-8 เป็นรูปแบบ% HH (ถามโปรแกรมเมอร์เพื่อขอความช่วยเหลือ) . ตัวอย่างเช่น stationID > = "41004" กลายเป็น stationID % 3 =% 241004% 2 ต้องการการเข้ารหัส Percent เมื่อคุณใช้งาน ERDDAP ผ่านซอฟต์แวร์อื่นที่ไม่ใช่เบราว์เซอร์ เว็บเบราว์เซอร์มักจะใช้รหัสเปอร์เซ็นต์สําหรับคุณ ในบางสถานการณ์ คุณต้องเข้ารหัสตัวอักษรทุกตัว นอกจาก A-Za-z0-9/_-~ ' () ** แต่ยังคงไม่เข้ารหัสเริ่มต้น '&' หรือหลัก '=' ในเงื่อนไข การเขียนโปรแกรมภาษามีเครื่องมือในการทําเช่นนี้ (ตัวอย่างเช่น ดู Java ' java.net.URLEncoder ถึง Java สคริปต์encodeURIComponent()) (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) และยังมี เว็บไซต์ที่มีการเข้ารหัส/ถอดรหัสให้คุณ .
- ตั้งแต่ datasets.xml เป็นแฟ้ม XML นอกจากนี้คุณยังต้องกําหนด &-encode ทั้งหมด '&' ด้วย<'และ'>' ในที่อยู่ URL ที่เรียกว่า '&'<'และ '>'หลังจากเปอร์เซ็นต์การเข้ารหัส
- ตัวอย่าง: สําหรับที่อยู่ URL ที่คุณอาจพิมพ์ไปยังเบราว์เซอร์เป็น:
https://www.company.com/webService?department=R%26D¶m2=value2
คุณควรจะระบุ<แท็กผ่าน (ในบรรทัดเดียว)
<onChange>https://www.company.com/webService?department=R%26D&param2=value2</onChange> - จดหมาย -- ถ้าการกระทําเริ่มต้นด้วย "mailto" ERDDAP™ จะส่งอีเมลไปยังที่อยู่อีเมลภายหลัง ซึ่งระบุว่าชุดข้อมูลได้ถูกปรับปรุง/ เปลี่ยน ตัว อย่าง เช่น:<OnChangle~. mailto: hohn. mith@ Company.com</ ออนแชง ถ้าคุณมีเหตุผลที่ดี ERDDAP™ เพื่อสนับสนุนการกระทําอื่น ๆ ให้ส่งอีเมลมาอธิบายสิ่งที่คุณต้องการ
- "http://"หรือhttps://"-- ถ้าการกระทําเริ่มต้นด้วยhttp://"หรือhttps://". ERDDAP™ จะส่ง HTTP GET ร้องขอไปยังที่อยู่ URL ที่กําหนด การตอบสนองจะถูกละทิ้ง ยกตัวอย่างเช่น ที่อยู่ URL อาจบอกบริการเว็บอื่นให้ทําอะไรสักอย่าง
- แท็กนี้เป็น OPOtical มีป้ายกํากับเหล่านี้ได้มากเท่าที่ต้องการ ใช้ป้ายกํากับต่อไปนี้ในการทําแต่ละการกระทํา
- นี่เหมือนกับ ERDDAP ระบบรับ/ URL ของอีเมล แต่การกระทําเหล่านี้ไม่ได้ถูกเก็บไว้อย่างต่อเนื่อง (I.E., พวกเขาถูกเก็บไว้ในวัตถุ ED) .
- ลบรายการบอกรับ แค่เอา<ติดป้าย การเปลี่ยนแปลงจะแจ้งให้ทราบครั้งต่อไปที่ชุดข้อมูลจะถูกโหลดใหม่
<โหลดรายการทุก ๆNMitchs>
- [ ** <โหลดใหม่ ทุก ๆ สิ่ง ** ) (โหลดทุกนาที) เป็นเครื่องหมายการค้าภายใน<แท็กใน datasets.xml ของประเภทชุดข้อมูลเกือบทั้งหมด ที่ระบุว่าควรโหลดข้อมูลใหม่บ่อยแค่ไหน ยกตัวอย่างเช่น
<reloadEveryNMinutes>60</reloadEveryNMinutes>-
โดยทั่วไป ชุดข้อมูลที่เปลี่ยนไปบ่อย (ตัวอย่างเช่น หาแฟ้มข้อมูลใหม่) ตัว อย่าง เช่น ควร นํา มา ใส่ ซ้ํา บ่อย ๆ ทุก ๆ 60 นาที.
-
ชุดข้อมูลที่เปลี่ยนแปลงบ่อยๆ ควรจะถูกโหลดใหม่บ่อย ๆ ตัวอย่างเช่น ทุก 1440 นาที (วัน) หรือ 10080 นาที (สัปดาห์) .
-
แท็กนี้เป็น OPOICE แต่ขอแนะนําให้ ค่าเริ่มต้นคือ 10080
-
ตัวอย่างก็คือ<เรียกทุก ๆ NMinuts) 1440<โหลดใหม่ ทุก ๆ สิ่ง
-
เมื่อมีการโหลดชุดข้อมูลใหม่ แฟ้มทั้งหมดใน เครื่อง มือ ขนาด ใหญ่ -คาเช/ * datasetID * ไดเรกทอรีถูกลบแล้ว
-
ไม่ว่ามันจะเป็นอะไร ชุดข้อมูลจะไม่ถูกโหลดบ่อยกว่า<โหลด Datatates Mindumuts) (ค่าปริยาย = 15) ตามที่กําหนดไว้ใน ตั้งค่า. xml . ดังนั้นถ้าคุณต้องการชุดข้อมูลที่จะโหลดบ่อย ๆ คุณต้องตั้งค่าทั้งโหลดทั้ง NMinuts และโหลด Datatas มีนมิตส์ให้ค่าน้อย
-
ไม่ต้องตั้งค่าทุก ๆ NMuts ให้เป็นค่าเดียวกันกับการโหลด Datatas Mininuts เพราะเวลาที่ผ่านมาน่าจะเป็น (ตัวอย่างเช่น) 14:58 หรือ 15:02 ดังนั้นชุดข้อมูลจะถูกโหลดใหม่ในประมาณครึ่งของกระสุนหลักเท่านั้น แทนการใช้ขนาดเล็ก (ตัวอย่างเช่น 10) หรือใหญ่กว่า (ยกตัวอย่างเช่น 20) โหลดใหม่ ทุกเม็ดทุกเม็ด
-
โดยไม่คํานึงถึงการโหลดทุก Minuts คุณสามารถบอกด้วยตนเอง ERDDAP™ เพื่อเรียกข้อมูลต่าง ๆ ที่กําหนดโดยเร็วที่สุด แฟ้มธง .
-
สําหรับนักโปรแกรมที่อยากรู้อยากเห็น -- ใน ERDDAP™ การโหลดชุดข้อมูลทั้งหมด ถูกจัดการด้วยเส้นด้ายสองแบบ เธรดหนึ่งเริ่มโหลดเล็กน้อยหากมันพบแฟ้มแฟล็กหรือแฟ้มโหลดหลัก (ซึ่งตรวจสอบชุดข้อมูลทั้งหมด เพื่อดูว่ามันจําเป็นต้องโหลดใหม่หรือไม่) . เธรดอื่น ๆ ทําการโหลดจริงของชุดข้อมูล ในเวลาเดียวกัน เธรดเหล่านี้ทํางานอยู่เบื้องหลัง เพื่อให้แน่ใจว่าชุดข้อมูลทั้งหมด จะเก็บไว้จนถึงวันที่ เธรดที่จริงการโหลด เตรียมรุ่นของชุดข้อมูล แล้วสลับมันไปยังตําแหน่ง (โดยหลักแล้ว การแทนที่รุ่นเก่าแบบอะตอม) . มันเป็นไปได้มากที่ลําดับต่อไปนี้ของเหตุการณ์ที่เกิดขึ้น (มันเป็นสิ่งที่ดี) .
- ERDDAP™ เริ่มโหลดชุดข้อมูลใหม่อีกครั้ง (สร้างรุ่นใหม่) ในฉากหลัง
- ผู้ใช้ 'A' ได้ร้องขอข้อมูล ERDDAP™ ใช้ชุดข้อมูลรุ่นปัจจุบันเพื่อสร้างการตอบสนอง (ดีแล้ว ไม่มีความล่าช้าสําหรับผู้ใช้และรุ่นปัจจุบันของชุดข้อมูลไม่ควรจะน่าเบื่อมาก)
- ERDDAP™ เสร็จสิ้นการสร้างชุดข้อมูลรุ่นใหม่ที่โหลดใหม่ และสลับรุ่นที่ใหม่เข้าไปในการผลิต ความ ต้องการ ใหม่ ๆ ทั้ง หมด หลัง จาก นั้น จะ ได้ รับ การ จัด การ โดย ชุด ข้อมูล ใหม่. เพื่อความสอดคล้อง ความต้องการของผู้ใช้ A ยังคงถูกเติมเต็มด้วยฉบับดั้งเดิม
- ผู้ใช้ 'B' ได้ร้องขอข้อมูลชุดและ ERDDAP™ ใช้ชุดข้อมูลรุ่นใหม่เพื่อทําการตอบรับ
- สุดท้ายการร้องขอของผู้ใช้ A และผู้ใช้ B ก็เสร็จสมบูรณ์ (บางที A เสร็จสิ้นก่อน บางที B อาจเสร็จก่อน) .
-
ฉันได้ยินคนพูดว่า "แค่สองช่อ! ฮ่า! ไม่ได้เรื่องเลย! เขาควรจะตั้งขึ้นเพื่อให้การโหลดชุดข้อมูลใช้หลายเธรดตามที่ต้องการเพื่อให้ทุกอย่างได้รับการทําเร็วขึ้นและมีน้อยหรือไม่มีหลัง." ใช่ และ ไม่ ปัญหา อยู่ ที่ ว่า การ ขน ข้อมูล มาก กว่า หนึ่ง ชุด ใน แต่ ละ ครั้ง ก่อ ให้ เกิด ปัญหา ใหม่ ๆ หลาย อย่าง. พวกเขาทั้งหมดต้องแก้ไขหรือจัดการ ระบบ ปัจจุบัน ทํา งาน ได้ ดี และ สามารถ จัด การ กับ ปัญหา ต่าง ๆ ได้ (ตัว อย่าง เช่น มี ศักยภาพ ที่ จะ หด ตัว ก่อน ที่ จะ สังเกต เห็น ธง) . (ถ้าคุณต้องการความช่วยเหลือ จัดการพวกเขา ดู ส่วนของการได้รับการสนับสนุนเพิ่มเติม .) เรื่องที่เกี่ยวข้อง ปรับปรุง นิ ว รอน . ระบบทํางานภายในเธรดตอบรับ เพื่อให้สามารถและนําไปสู่ ข้อมูลหลายชุดที่กําลังปรับปรุง (ไม่ใช่การโหลดเต็ม) พร้อมกัน
ปรับใช้ vs
ERDDAP ระบบโหลดใหม่ทํางานอัตโนมัติ -- ชุดข้อมูลจะถูกโหลดใหม่ในไม่ช้าหลังจากโหลดใหม่ เวลาอันสั้นหมดลง (I.e. พวกเขากลายเป็น "ตํานาน" แต่ไม่เคยน่าเบื่อ) ไม่ว่าจะเป็นชุดข้อมูลที่ถูกร้องขอจากผู้ใช้หรือไม่ ดังนั้น ERDDAP™ ชุดข้อมูลพร้อมใช้งานเสมอ นี่เป็นในตรงกันข้ามกับวิธีตอบสนอง THEDS ของ: การร้องขอของผู้ใช้คือสิ่งที่บอก THEDDS เพื่อตรวจสอบว่าชุดข้อมูลดังกล่าวยาว (มันอาจจะเก่ามาก) . หากมันยาว THEDES ทําให้ผู้ใช้รอ (บ่อย ครั้ง เพียง ไม่ กี่ นาที) ในขณะที่ชุดข้อมูลจะถูกโหลดใหม่
<ปรับปรุง ทุก ๆ นาที
- [ ** <อัปเดต ALNMilles) ** ) (อัปเดตทุก ๆ ครั้ง) เป็นเครื่องหมายการค้าภายใน<แท็กใน datasets.xml ของประเภทชุดข้อมูลที่จะช่วย ERDDAP™ ทํางานกับชุดข้อมูลที่เปลี่ยนไปบ่อยๆ (บ่อยเหมือนทุกๆวินาที) . ไม่เหมือนกัน ERDDAP ปกติ แอคชั่น<โหลดใหม่ ทุก ๆ nintuts) (โหลดทุกนาที) ระบบสําหรับเรียกข้อมูลแต่ละชุดใหม่อีกครั้ง ระบบเพิ่มเติมระบบนี้จะตอบสนอง (ถูกเรียกโดยการร้องขอของผู้ใช้) และรวดเร็วยิ่งกวา (แค่ปรับปรุงข้อมูลที่ต้องการปรับปรุง) . ยกตัวอย่างเช่น ถ้าคําขอ EDDGrid จากข้อมูล Dap เกิดขึ้นมากกว่าจํานวนมิลลิวินาทีที่ระบุไว้ ตั้งแต่การปรับปรุงล่าสุด ERDDAP™ จะดูว่ามีค่าสําหรับทางซ้ายใด ๆ (อย่างแรก ปกติ "time" ) มิติและถ้าเป็นเช่นนั้นเพียงแค่ดาวน์โหลดค่าใหม่เหล่านั้น ก่อนที่จะจัดการกับการร้องขอของผู้ใช้ ระบบนี้เก่งมากในการเก็บข้อมูลที่เปลี่ยนแปลงอย่างรวดเร็ว up-date กับความต้องการน้อยที่สุดในแหล่งข้อมูล แต่ด้วยค่าใช้จ่ายที่ลดลงเล็กน้อยจากการร้องขอของผู้ใช้
- เพื่อใช้ระบบนี้ เพิ่ม (ตัวอย่างเช่น) .
<updateEveryNMillis>1000</updateEveryNMillis>
- เพื่อใช้ระบบนี้ เพิ่ม (ตัวอย่างเช่น) .
หลังจาก<โหลดทุก ๆ Nminuts) ป้ายข้อมูลใน datasets.xml . จํานวนมิลลิวินาทีที่คุณระบุ สามารถมีขนาดเล็กเท่า 1 (เพื่อให้แน่ใจว่าชุดข้อมูลมีขึ้นตลอดเวลา) . ค่า 0 (ค่าปริยาย) หรือเลขลบปิดระบบ
- เนื่องจากธรรมชาติเพิ่มขึ้น การปรับปรุงควรจะเสร็จสิ้นอย่างรวดเร็ว ดังนั้นผู้ใช้ไม่ควรจะรอนาน
- หากการร้องขอข้อมูลครั้งที่สองมาถึง ก่อนที่การปรับปรุงครั้งก่อนจะเสร็จสิ้น การร้องขอครั้งที่สองจะไม่เป็นตัวจุดชนวนการปรับปรุงอีกครั้ง
- ผ่านเอกสารทั้งหมด เราจะพยายามที่จะใช้คําว่า "โหลด" สําหรับข้อมูลทั่วไปที่บรรจุอยู่เต็ม และ "อัปเดต" สําหรับการปรับปรุงใหม่เหล่านี้บางส่วน
- สําหรับการทดสอบ การวิเคราะห์บางอย่างจะพิมพ์เพื่อบันทึก. txt ถ้า [<logLevil) (ระดับของบล็อก) ใน datasets.xml ถูกกําหนดให้ "ทุกคน"
- ถ้าคุณใช้การปรับปรุงเพิ่มเติม และโดยเฉพาะถ้าทางซ้ายสุด (ก่อน) ตัวอย่างเช่นเวลา แกนมีขนาดใหญ่ คุณอาจต้องการที่จะตั้ง<โหลดรายการทุก ๆ Minuts) ไปยังหมายเลขที่มากขึ้น (1440?) เพื่อให้การปรับปรุงทําเกือบทั้งหมด เพื่อรักษาข้อมูล up-to-date และเต็มโหลดทําในบ่อยครั้ง
- ข้อควรจํา: ระบบปรับปรุงใหม่นี้ การปรับปรุงข้อมูลกํากับภาพ (ยกตัวอย่างเช่น เวลา actual\_range เวลา/ เวลา/ overage / _สิ้นสุด...) แต่ไม่กระตุ้นแชง (ที่อยู่ URL ของอีเมลหรือการสัมผัส) หรือเปลี่ยน RSS ป้อน (บางทีมันอาจจะ...) .
- สําหรับชุดข้อมูลที่จะใช้คลาสย่อยของ EDDGrid จากแฟ้ม ถึง เลือกแฟ้ม .
- (คําเตือน: เมื่อคุณเพิ่มแฟ้มข้อมูลใหม่ไปยังชุดข้อมูล โดยการคัดลอกมันไปยังไดเรกทอรีที่ ERDDAP™ ดูสิ มันอันตราย ERDDAP™ จะแจ้งให้ทราบแฟ้มที่เขียนบางส่วน; ลองอ่านดู แต่ล้มเหลวเพราะแฟ้มยังไม่สมบูรณ์; ประกาศแฟ้มที่ "แย่" แล้วลบแฟ้มออก (ชั่วคราว) จากชุดข้อมูล เพื่อหลีกเลี่ยงเรื่องนี้ พวกเรา โดย ผู้ เขียน ตื่น เถิด! คุณสามารถคัดลอกแฟ้มใหม่ไปยังไดเรกทอรีด้วยชื่อชั่วคราว (ตัวอย่างเช่น 20150226 .nc เทือก) ที่ไม่ตรงกับแฟ้มข้อมูลชุด ชื่อregex (_*\ .nc ) ชื่อแฟ้มโดยใช้ชื่อที่ถูกต้อง (ตัวอย่างเช่น 20150226 .nc ) . ถ้าคุณใช้วิธีนี้ ERDDAP™ จะไม่สนใจแฟ้มชั่วคราว และจะสังเกตเห็นเฉพาะแฟ้มที่มีชื่อที่ถูกต้องเมื่อมันสมบูรณ์และพร้อมใช้งาน
- หากคุณทําการแก้ไขแฟ้มข้อมูลที่มีอยู่ในตําแหน่ง (ตัวอย่างเช่น, เพื่อเพิ่มข้อมูลใหม่) .<update everNMillys) จะทํางานได้ดีถ้าการเปลี่ยนแปลงปรากฏเป็นอะตอม (ในไม่ช้า) และแฟ้มจะเป็นแฟ้มที่ถูกต้องเสมอ ยกตัวอย่างเช่น ห้องสมุด Netcdf-java อนุญาตให้เพิ่มเติมได้ ในมิติที่ไร้ขีดจํากัดของ "คลาสสิก" .nc v3 แฟ้มที่จะทําแบบอะตอม <update everNMillys) จะทํางานได้แย่มากหากแฟ้มใช้งานไม่ได้ในขณะที่มีการเปลี่ยนแปลง
- <update everNMillies) จะทํางานอย่างดีสําหรับชุดข้อมูล ที่แฟ้มหรือไม่กี่แฟ้มมีการเปลี่ยนแปลงในเวลาอันสั้น
- <update everNMillys) จะทํางานไม่ดีสําหรับชุดข้อมูล ที่ซึ่งจํานวนแฟ้มจํานวนมากมีการเปลี่ยนแปลงในเวลาอันสั้น (เว้นแต่การเปลี่ยนแปลงที่ปรากฏในอะตอม) . สําหรับชุดข้อมูลเหล่านี้ มันดีกว่าที่จะไม่ได้ใช้<update everNMillys) และตั้งค่า ธง เพื่อบอกว่า ERDDAP™ เพื่อเรียกข้อมูลใหม่
- <อัปเดต ALNMilles) ไม่ปรับปรุงข้อมูลที่เกี่ยวข้องกับ [% 1 ]< subsetVariables >) (# เปลี่ยนตัวแปรได้) . โดยทั่วไปแล้ว, นี่ไม่ใช่ปัญหา, เพราะ subsetVariables มีข้อมูลเกี่ยวกับสิ่งที่ไม่เปลี่ยนบ่อยๆ (ตัว อย่าง เช่น รายการ ชื่อ สถานี, ละติจูด, และ ลองจิจูด) . ถ้า subsetVariables มีการเปลี่ยนแปลงข้อมูล (ตัวอย่างเช่น เมื่อสถานีใหม่ถูกเพิ่มเข้าไปในชุดข้อมูล) แล้วติดต่อ ที่อยู่ URL ธง สําหรับข้อมูลชุดที่จะบอกว่า ERDDAP™ เพื่อเรียกข้อมูลใหม่ ไม่อย่างนั้น ERDDAP™ จะไม่สังเกตเห็นสับเซตใหม่ ข้อมูลตัวแปรจนกระทั่งครั้งต่อไปที่ชุดข้อมูลจะถูกเรียกใหม่อีกครั้ง (<ใส่กระสุนทุกตัน).
- ข้อเสนอทั่วไปของเราคือ
<reloadEveryNMinutes>1440</reloadEveryNMinutes>
<updateEveryNMillis>10000</updateEveryNMillis>- ซับซ้อน? บนคอมพิวเตอร์ลินุกซ์ ถ้าคุณใช้<อัปเดต ALNMilles) ด้วย EDDGrid จากแฟ้มหรือ IDTable จากคลาสแฟ้ม คุณจะเห็นปัญหาที่ชุดข้อมูลล้มเหลวในการโหลด (บางครั้งหรือต่อเนื่อง) ด้วยข้อความผิดพลาด: "แฟ้มบันทึกการทํางาน: จํากัดผู้ใช้ของโพรเซสที่ป้อนข้อมูลไม่ได้ ไปถึงหรือเปิดแฟ้มที่เปิดอยู่มากเกินไป" สาเหตุอาจเป็นข้อผิดพลาดใน Java ซึ่งทําให้เกิดการก่อความไม่สงบ ไม่ให้ถูกเก็บขยะ ปัญหานี้หลีกเลี่ยงได้ ERDDAP™ v166 และสูงขึ้น ดังนั้นคําตอบที่ดีที่สุดคือการสลับรุ่นล่าสุด ERDDAP .
ถ้ามันไม่ได้แก้ปัญหา (คือว่า, ถ้าคุณมีชุดข้อมูลจํานวนมากใช้<update everNMillies)))) คุณสามารถแก้ไขปัญหานี้ได้โดยโทร:
sudo sysctl fs.inotify.max\\_user\\_watches=65536
sudo sysctl fs.inotify.max\\_user\\_instances=1024
sudo sysctl -p
หรือ ใช้ เลข ที่ สูง กว่า หาก ปัญหา ยัง มี อยู่. ค่าปริยายของนาฬิกาคือ 8192 ค่าปริยายของกรณีคือ 128
- คุณใส่ได้<update Max Vents) 10</ update Max events] ใน datasets.xml (ในการตั้งค่าอื่น ๆ ใกล้ด้านบน) เพื่อเปลี่ยนจํานวนสูงสุดของการเปลี่ยนแปลงของแฟ้ม (ค่าปริยาย=10) ซึ่งจะถูกประมวลผลด้วยระบบของทุกเอ็นมิลลิส จํานวนที่มากกว่าอาจมีประโยชน์กับชุดข้อมูล ซึ่งสําคัญมากที่จะเก็บข้อมูลเหล่านั้นไว้ ดู อัปเดตเอกสาร Max Wrents .
- สําหรับโปรแกรมที่อยากรู้อยากเห็น -- การปรับปรุงเพิ่มขึ้นเหล่านี้ไม่เหมือน ERDDAP เต็มแล้ว โหลดรายการต่าง ๆ ทุกรายการ ระบบ โดยจะเกิดขึ้นภายในเธรดที่ผู้ใช้ร้องขอ ดังนั้น ชุดข้อมูลจํานวนใด ๆ สามารถปรับปรุงได้พร้อมกัน มีรหัส (และล็อค) เพื่อให้แน่ใจว่ามีเพียงเธรดเดียว ที่กําลังทํางานเกี่ยวกับการปรับปรุงสําหรับชุดข้อมูลใด ๆ ที่ให้มาในช่วงเวลาใด ๆ การอนุญาตให้ปรับปรุงหลาย ๆ ครั้งพร้อมกันเป็นเรื่องง่าย การอนุญาตให้โหลดเต็มจํานวนมากพร้อมกันจะยาก
<ResourceConstrest StringEQNE>
- [ ** <แหล่งที่มา CourcesCorrest StringeQNENNE) ** ) (# แหล่งที่มา) เป็นแท็ก OPOICE ภายใน EDTV<แท็กใน datasets.xml กําหนดว่าแหล่งสามารถบังคับตัวแปรสตริงด้วย = และ= ผู้ดําเนินการ
- สําหรับ EDTable from Depzequencence นี้ใช้ได้กับตัวแปรลําดับภายนอกเท่านั้น สันนิษฐานว่าแหล่งไม่สามารถจัดการกับเงื่อนไขใดๆ ในตัวแปรใน
- แท็กนี้เป็น OPOtical ค่าที่ใช้ได้เป็นจริง (ค่าปริยาย) และไม่จริง
- สําหรับ EDTable from Depsquest OPeNDAP เซิร์ฟเวอร์ RDS, ควรจะตั้งค่าให้เป็นจริง (ค่าปริยาย) .
- สําหรับ EDTable from Depsquest Daper เซิร์ฟเวอร์นี้ควรจะตั้งค่า เท็จ
- ตัวอย่างก็คือ
<sourceCanConstrainStringEQNE>true</sourceCanConstrainStringEQNE>
<Sources CourcesCrintStringGTLT>
- [ ** <SourceConstreet StringGTLTT) ** ) (# แหล่งที่มา) เป็นแท็ก OPOICE ภายใน EDTV<ป้ายกํากับสําหรับบันทึกข้อมูล:<.<=, > และ >=ผู้ดําเนินการ
- สําหรับ EDTable from Depzequencence นี้ใช้ได้กับตัวแปรลําดับภายนอกเท่านั้น สันนิษฐานว่าแหล่งไม่สามารถจัดการกับเงื่อนไขใดๆ ในตัวแปรใน
- ค่าที่ใช้ได้เป็นจริง (ค่าปริยาย) และไม่จริง
- แท็กนี้เป็น OPOtical ค่าปริยายเป็นจริง
- สําหรับ EDTable from Depsquest OPeNDAP เซิร์ฟเวอร์ RDS, ควรจะตั้งค่าให้เป็นจริง (ค่าปริยาย) .
- สําหรับ EDTable from Depsquest Daper เซิร์ฟเวอร์นี้ควรจะตั้งค่า เท็จ
- ตัวอย่างก็คือ
<sourceCanConstrainStringGTLT>true</sourceCanConstrainStringGTLT>
<แหล่งที่มา CourcesCrintString Regex>
- [ ** <SourceConstreet String Regex). ** ) (# แหล่งที่มา) เป็นแท็ก OPOICE ภายใน EDTV<แท็กข้อมูล) ที่ระบุหากแหล่งสามารถบังคับตัวแปรสตริงด้วยเงื่อนไขปกติ และหากเป็นเช่นนั้น ตัวดําเนินการคืออะไร
- ค่าที่ใช้ได้คือ "=
" (คือ DAP มาตรฐาน) "=" (หลาย คน สนับสนุน อย่าง ผิด ๆ DAP เซิร์ฟเวอร์) หรือ "" (ระบุว่าแหล่งที่มาไม่สนับสนุนการแสดงออกปกติ) . - แท็กนี้เป็น OPOtical ค่าปริยายคือ ""
- สําหรับ EDTable from Depsquest OPeNDAP เซิร์ฟเวอร์ DDS ควรตั้งค่าเป็น "" (ค่าปริยาย) .
- สําหรับ EDTable from Depsquest Daper เซิร์ฟเวอร์นี้ควรจะตั้งค่าเป็น "" (ค่าปริยาย) .
- ตัวอย่างก็คือ
- ค่าที่ใช้ได้คือ "=
<sourceCanConstrainStringRegex>=~</sourceCanConstrainStringRegex>
<SourceDodistinct>
- [ ** <Source DoDistinct) ** ) (โภชนาการ) เป็นป้ายประกอบภายใน EDTA จาก Datatase<แท็กสําหรับบันทึกข้อมูล: () ข้อจํากัดในกลไกผู้ใช้
- แท็กนี้เป็น OPOtical ค่าที่ใช้ได้ไม่ใช่ ( ERDDAP™ จัดการต่าง ๆ โดยค่าปริยาย) , บางส่วน (แหล่งที่มาจัดการที่แตกต่างกันและ ERDDAP™ จัดการมันอีกครั้ง) และใช่ (แหล่งที่มาจัดการที่แตกต่างกัน) .
- ถ้าคุณใช้ไม่ ERDDAP™ ความจํากําลังจะหมด เมื่อจัดการอย่างรอบคอบ ใช้ ใช่
- ถ้าคุณกําลังใช้ใช่ และระบบจัดการฐานข้อมูลของแหล่งนั้น แตกต่างกันมาก ใช้ไม่ได้
- บางส่วนให้ส่วนที่แย่ที่สุดกับทั้งคู่ มันเชื่องช้า เพราะว่า การจัดการฐานข้อมูล แตกต่างนั้นช้า และหน่วยความจําอาจหมด ERDDAP .
- ฐานข้อมูลตีความว่าไซแนปคือคําขอสําหรับผลลัพธ์ที่พิเศษ ERDDAP™ ตีความว่ามันเป็นคําร้องขอ สําหรับลําดับลําดับของผลลัพธ์ ถ้าคุณตั้งเจ้านี่เป็นอนุพันธ์ย่อยหรือใช่, ERDDAP™ ยังบอกฐานข้อมูลให้เรียงลําดับผลลัพธ์โดยอัตโนมัติ
- ความแตกต่างเล็ก ๆ น้อย ๆ ในผลลัพธ์ : ไม่มี | บางส่วน ERDDAP™ จะเรียงลําดับ "" ในจุดเริ่มต้นของผลลัพธ์ (ก่อนสตริงที่ไม่ใช่ "") . หากใช่ ฐานข้อมูลอาจจะ (Postgrest จะ) เรียงลําดับ "" ในตอนจบของผลลัพธ์ (หลังจากสตริงที่ไม่ใช่ "") . ผมเดาได้ว่านี่จะมีผลต่อ การเรียงลําดับของคําสั้น ๆ กับคําที่ยาวขึ้น ยกตัวอย่างเช่น ERDDAP™ จะเรียงลําดับ "Sign" ก่อน "simps".
- ตัวอย่างก็คือ
<sourceCanDoDistinct>yes</sourceCanDoDistinct>
<Resource Worder by>
- [ ** <แหล่ง Can Order by). ** ) (# แหล่งข่าวเรียงรายการโดย) เป็นป้ายประกอบภายใน EDTA จาก Datatase<แท็กสําหรับบันทึกข้อมูล: orderBy (...) ข้อจํากัดในกลไกผู้ใช้
- แท็กนี้เป็น OPOtical ค่าที่ใช้ได้ไม่ใช่ ( ERDDAP™ จัดการ orderBy (...) 2; ค่าปริยาย) , บางส่วน (แหล่ง ที่ มา orderBy ถึง ERDDAP™ จัดการมันอีกครั้ง) และใช่ (แหล่ง ที่ มา orderBy (...) ) .
- ถ้าคุณใช้ไม่ ERDDAP™ หน่วยความจํากําลังจะหมดเมื่อจัดการ orderBy (...) ใช้ได้
- หากคุณกําลังใช้งานใช่และคุณสมบัติของฐานข้อมูลต้นฉบับ orderBy (...) ช้าไป ใช้ไม่
- บางส่วนให้ส่วนที่แย่ที่สุดกับทั้งคู่ มันช้า เพราะการจัดการฐานข้อมูล orderBy (...) มีความเร็วช้า และหน่วยความจําอาจหมด ERDDAP .
- ความแตกต่างเล็ก ๆ น้อย ๆ ในผลลัพธ์ : ไม่มี | บางส่วน ERDDAP™ จะเรียงลําดับ "" ในจุดเริ่มต้นของผลลัพธ์ (ก่อนสตริงที่ไม่ใช่ "") . หากใช่ ฐานข้อมูลอาจจะ (Postgrest จะ) เรียงลําดับ "" ในตอนจบของผลลัพธ์ (หลังจากสตริงที่ไม่ใช่ "") . ทั้ง นี้ อาจ มี ผล กระทบ ต่อ การ เรียง คํา สั้น ๆ กับ คํา ที่ ยาว กว่า ซึ่ง เริ่ม ด้วย คํา สั้น ๆ. ยกตัวอย่างเช่น ERDDAP™ จะเรียงตัว "Sign" ก่อนคําว่า "simission" แต่ผมไม่แน่ใจว่าฐานข้อมูลจะเรียงมันอย่างไร
- ตัวอย่างก็คือ
<sourceCanOrderBy>yes</sourceCanOrderBy>
<แหล่งที่มา
- [ ** <SourceNeds Expanded FP\_EQ> ** ) (แหล่งข่าวต้องการชี้แจง) เป็นแท็ก OPOICE ภายใน EDTV<ชุดข้อมูล: (จริง (ค่าปริยาย) หรือเท็จ) ถ้าแหล่งข่าวต้องการความช่วยเหลือ<ตัวเลข ตัวแปร:=<PoointValue) (และ!=, >=,<=). ยกตัวอย่างเช่น
<sourceNeedsExpandedFP\\_EQ>false</sourceNeedsExpandedFP\\_EQ>- สําหรับข้อมูลต่าง ๆ, จํานวนลําดับที่เกี่ยวข้องกับ=,!=,<=, หรือ >=อาจไม่ได้ทํางานตามที่ต้องการกับตัวเลขจุดลอย ตัว อย่าง เช่น การ ค้น หา ลองจิจูด = 220.2 อาจ ล้ม หาก ค่า ที่ เก็บ ไว้ เป็น 220.20000000000.001.
- ปัญหานี้เกิดขึ้นเพราะเลขจุดลอย ไม่ปรากฏอยู่ในคอมพิวเตอร์ .
- ถ้า sourcesnedsExpandedfP\_EQ ถูกกําหนดให้เป็นค่าจริง (ค่าปริยาย) . ERDDAP™ เพิ่มความหน่วงที่ส่งไปยังแหล่งข้อมูล เพื่อหลีกเลี่ยงปัญหานี้ มันปลอดภัยและปลอดภัยเสมอ ที่จะปล่อยให้ชุดนี้เป็นจริง
< sourceUrl & gt;
- [ ** < sourceUrl > ** ) (# ผู้สนับสนุน) เป็นข้อมูลทั่วไปภายในข้อมูล< addAttributes > ป้ายกํากับที่ใช้กําหนดที่อยู่ URL ที่เป็นแหล่งข้อมูลของข้อมูล
- ตัวอย่างก็คือ
(แต่ติดไว้แค่เส้นเดียว)<sourceUrl>https://oceanwatch.pfeg.noaa.gov/thredds/dodsC/satellite/VH/chla/1day</sourceUrl>- ใน ERDDAP™ ชุดข้อมูลทั้งหมดจะมี " sourceUrl "ในคุณสมบัติโดยรวมที่แสดงกับผู้ใช้
- สําหรับประเภทข้อมูลส่วนใหญ่ แท็กนี้คือ RITIE. ดูรายละเอียดของชุดข้อมูลที่จะหาว่า นี่คือ RectIFE หรือเปล่า
- สําหรับชุดข้อมูลบางส่วนแยก< sourceUrl ไม่อนุญาตให้ใช้ป้าย > แทนที่คุณจะให้ sourceUrl " คุณสมบัติทั่วไป สืบค้นเมื่อ: addAttributes <. หากไม่มีที่อยู่ URL ต้นทางจริง (ตัวอย่างเช่น ถ้าข้อมูลถูกเก็บไว้ในแฟ้มภายในระบบ) อุปสงค์นี้มักจะมีค่าเป็นหลัก<at name=" name"> (แฟ้มภายในระบบ) <(at).
- สําหรับชุดข้อมูลส่วนใหญ่ นี่เป็นฐานของที่อยู่ URL ที่ใช้ในการร้องขอข้อมูล ยกตัวอย่างเช่น DAP เซิร์ฟเวอร์ นี่เป็นที่อยู่ URL ที่สามารถเพิ่ม .dods, das, ids หรือ .html ได้
- ตั้งแต่ datasets.xml เป็นแฟ้ม XML คุณยังต้องเข้ารหัส '&' ด้วย<'และ'>' ในที่อยู่ URL ที่เรียกว่า '&'<'และ'>'.
- สําหรับประเภทข้อมูลส่วนใหญ่ ERDDAP™ เพิ่มต้นฉบับ sourceUrl ("InterSourceUrl" ในรหัสแหล่ง) ถึง คุณสมบัติของทั้งระบบ (โดยกลายเป็น "AugustSourceUrl" ในรหัสแหล่ง) . เมื่อแหล่งข้อมูลเป็นไฟล์ท้องถิ่น ERDDAP™ เพิ่ม sourceUrl =" (แฟ้มภายในระบบ) "เพื่อคุณสมบัติระดับโลก เพื่อป้องกันความปลอดภัย เมื่อแหล่งข้อมูลเป็นฐานข้อมูล ERDDAP™ เพิ่ม sourceUrl =" (ฐานข้อมูลต้นทาง) "เพื่อคุณสมบัติระดับโลก เพื่อป้องกันความปลอดภัย ถ้าชุดข้อมูลบางตัวของคุณใช้ที่ไม่ใช่สื่อ sourceUrl ' (ปกติเพราะคอมพิวเตอร์ของพวกเขาอยู่ใน DMZ ของคุณหรือใน LAN ท้องถิ่น) คุณใช้ได้<แปลง Tublic Source Url>] (# Convent to August Resourcessurl) ป้ายกํากับที่จะกําหนดวิธีแปลงค่าภายใน sourceUrl ไปยังสาธารณะชน sourceUrl เอส.
- A sourceUrl อาจเริ่มต้นด้วย http:// . https:// (พ.ศ. https การเชื่อมต่ออ่านและตรวจสอบใบรับรองดิจิตอลของแหล่งที่มา เพื่อให้แน่ใจว่าแหล่งที่มาเป็นที่พวกเขากล่าวว่าพวกเขาเป็นใคร ในกรณีหายาก การตรวจสอบนี้อาจล้มเหลวด้วยข้อผิดพลาด "jawx.net.sl.SSLProcol ExpressE: แจ้งเตือนการจับมือ: uncognized\ ชื่อ". นี่อาจจะเนื่องจากชื่อโดเมนบนใบรับรองที่ไม่ตรงกับชื่อโดเมนที่คุณใช้อยู่ คุณอ่านและอ่านรายละเอียด sourceUrl ใบรับรอง 's in เว็บเบราว์เซอร์ของคุณ, โดดเด่น, รายการของ "ชื่อ DNS" ในส่วน "ชื่อย่อย"
ในบางกรณี sourceUrl คุณอาจจะใช้นามแฝงของชื่อโดเมนบนใบรับรอง ยกตัวอย่างเช่น https://podaac-opendap.jpl.nasa.gov/opendap/allData/ccmp/L3.5a/monthly/flk/จะโยนข้อผิดพลาดนี้ แต่ https://opendap.jpl.nasa.gov/opendap/allData/ccmp/L3.5a/monthly/flk/ซึ่งใช้ชื่อโดเมนในใบรับรองไม่ได้ ดังนั้นคําตอบในกรณีเหล่านี้ คือการค้นหาและใช้ชื่อโดเมนบนใบรับรอง ถ้าคุณหามันในใบรับรองไม่ได้ ติดต่อผู้จัดทําข้อมูล
ในกรณีอื่น ๆ ชื่อโดเมนบนใบรับรอง อาจเป็นชื่อกลุ่มของชื่อ หากนี่เกิดขึ้น หรือปัญหานี้ไม่สามารถแก้ไขได้ โปรดส่งอีเมลหาคริส จอห์นที่โนอาโกฟเพื่อรายงานปัญหา
<addAttributes>
- [ ** < addAttributes > ** ) (เพิ่มรายการแจกจ่าย) แท็ก OPOTEAL สําหรับแต่ละชุดข้อมูล และแต่ละตัวแปรที่ให้ ERDDAP ผู้ดูแลระบบควบคุมคุณสมบัติของข้อมูลกํากับภาพที่เกี่ยวข้องกับชุดข้อมูลและตัวแปรต่าง ๆ
- ERDDAP™ รวมคุณสมบัติต่าง ๆ จากแหล่งข้อมูล ("ผู้จําหน่ายทรัพยากร") และ " addAttributes "ซึ่งคุณนิยามไว้ datasets.xml (ซึ่งมีลําดับความสําคัญ) เพื่อให้เป็น "ทรัพย์สิน" ซึ่งคือสิ่งที่ ERDDAP™ ผู้ใช้เห็น ดังนั้นคุณสามารถใช้ addAttributes เพื่อกําหนดค่าของสื่อต้นฉบับ, เพิ่มคุณสมบัติใหม่, หรือลบคุณสมบัติต่าง ๆ
- เดอะ< addAttributes ตั้งค่าป้าย ** <at: ** คําบรรยายภาพ ซึ่งใช้ระบุลักษณะเฉพาะตัว
- แต่ละแอททริบิวต์ประกอบด้วยชื่อและค่า (ซึ่งมีชนิดของข้อมูลเฉพาะ ตัวอย่างเช่น สอง) .
- อาจ มี คุณลักษณะ อย่าง เดียว เท่า นั้น ที่ มี ชื่อ ตาม. ถ้ามีมากกว่านั้น อันสุดท้ายก็มีความสําคัญ
- ค่านี้อาจเป็นค่าเดี่ยว หรือรายการของค่าต่าง ๆ ที่แยกด้วยช่องว่าง
- ไวยากรณ์
- ลําดับ<ATT) เรือดําน้ําภายใน addAttributes ไม่สําคัญ
- เดอะ<ATT) รูปแบบย่อยคือ
<att name="*name*" \\[type="*type*"\\] >*value*</att>- ชื่อปลายทางของคุณลักษณะทั้งหมด ต้องขึ้นต้นด้วยตัวอักษร (A-Z, a-z) และต้องบรรจุเฉพาะตัวอักษร A-Z, a-z, 0-9 หรือ '/'
- ถ้า<ATT) เรือดําน้ําไม่มีค่าหรือค่าของว่าง ที่แอททริบิวต์จะถูกลบออกจากคุณลักษณะรวม ยกตัวอย่างเช่น<ชื่อ AT= "rows" <=> จะลบแถวจากคุณสมบัติรวม ยกตัวอย่างเช่น<AT name="พิกัด"> Null</at> จะลบพิกัดจากคุณลักษณะรวม
คุณสมบัติ ชนิด
- [ค่านิยมสําหรับประเภท OPional<Subtags (เพิ่มรายการแจกจ่าย) แสดงชนิดของข้อมูลสําหรับค่า ชนิดของปริยายคือสตริง ตัวอย่างของคุณลักษณะสตริงคือ
<att name="creator\\_name">NASA/GSFC OBPG</att>- ชนิดที่ใช้ได้สําหรับค่าเดี่ยว (จํานวนเต็มแบบ 8 บิต) สั้น (จํานวนเต็ม 16 บิต) Int (จํานวนเต็มที่ลงนาม 32 บิต) ยาว (จํานวนเต็มที่ลงนาม 64 บิต) ลอย (จุดลอย 32 บิต) สองเท่า (จุดลอย 64 บิต) (เพลง) ยกตัวอย่างเช่น
<att name="scale\\_factor" type="float">0.1</att>
- ชนิดที่ใช้ได้สําหรับค่าเดี่ยว (จํานวนเต็มแบบ 8 บิต) สั้น (จํานวนเต็ม 16 บิต) Int (จํานวนเต็มที่ลงนาม 32 บิต) ยาว (จํานวนเต็มที่ลงนาม 64 บิต) ลอย (จุดลอย 32 บิต) สองเท่า (จุดลอย 64 บิต) (เพลง) ยกตัวอย่างเช่น
ดูบันทึกเกี่ยวกับ ชนิดของข้อมูลอักขระ . ดูบันทึกเกี่ยวกับ ประเภทข้อมูลยาว .
- ชนิดที่ถูกต้องสําหรับรายการค่าต่าง ๆ ในช่องว่างที่แยกไว้แล้ว (หรือค่าเดี่ยว) เป็นไบเตลิสต์, ชอร์ต, อีเทอร์สคอทลิสต์, ชาร์ลิสต์, อินทลิส, คลองลิสท์, ฟลอริส, สองครั้ง รายชื่อ ยกตัวอย่างเช่น
<att name="actual\\_range" type="doubleList">10.34 23.91</att>
OctoberShortist ให้คุณได้ระบุรายการของกางเกงขาสั้นที่ยังไม่ได้พิมพ์ แต่จะถูกแปลงเป็นรายการของอักขระยูนิโค้ดที่สอดคล้องกัน (เช่น "6567 69") จะถูกเปลี่ยนเป็น "A CE" หากคุณระบุรหัสอักขระ ให้ทําการเข้ารหัสอักขระพิเศษ (เช่น, ช่องว่าง, เครื่องหมายคําพูดคู่, ด้านหลัง)<#32 หรือ > #127) อย่างที่คุณเข้ารหัสไว้ในส่วนของข้อมูลแฟ้ม NCSV (e.g., "", "\" หรือ """, "\\"," \n "\-220ac") . ไม่มีสายใย เก็บค่าสตริงเป็นสายหลายสาย ยกตัวอย่างเช่น
<att name="history">2011-08-05T08:55:02Z ATAM - made CF-1.6 compliant.
2012-04-08T08:34:58Z ATAM - Changed 'height' from double to float.</att>
แอททริบิวต์ทั่วไป
-
[ ** แอททริบิวต์ ทั่ว โลก / ทั่ว โลก< addAttributes > ** ) (แจกจ่ายทั่วโลก) -- < addAttributes > เป็นป้าย OPOICE ภายใน<แท็กข้อมูล: แท็กที่จะใช้เปลี่ยนแอตทริบิวต์ที่จะใช้กับชุดข้อมูลทั้งหมด
- ** ใช้ค่าทั่วไป< addAttributes > เพื่อเปลี่ยนคุณสมบัติทั่วไปของระบบข้อมูล ** ERDDAP™ รวมแอตทริบิวต์ทั่วไปจากแหล่งข้อมูล** ผู้ส่งที่มา และทั่วโลก addAttributes ซึ่งคุณนิยามไว้ datasets.xml (ซึ่งมีลําดับความสําคัญ) เพื่อทําให้ทั่วโลก รวมผู้จําหน่าย ** ซึ่งเป็นสิ่งที่ ERDDAP™ ผู้ใช้เห็น ดังนั้นคุณสามารถใช้ addAttributes เพื่อกําหนดค่าของสื่อต้นฉบับ, เพิ่มคุณสมบัติใหม่, หรือลบคุณสมบัติต่าง ๆ
- ดู [] ** < addAttributes > ข้อมูล (เพิ่มรายการแจกจ่าย) ซึ่งใช้กับทั้งโลกและตัวแปร < addAttributes > ** .
- ขนาด FGDC ถึง ISO 19115-2/19139 ข้อมูลกํากับภาพ -- ปกติ ERDDAP™ จะสร้าง ISO 19115-2/19139 และ FGDC โดยอัตโนมัติ (FGDC-STD-01-1998) แฟ้มข้อมูลกํากับภาพ XML สําหรับข้อมูลแต่ละชุด โดยใช้ข้อมูลจากข้อมูลกํากับภาพ ดังนั้น ข้อมูลกํากับที่ดีนําไปสู่สิ่งที่ดี ERDDAP ISO รุ่น 19115 และ FGDC ข้อมูลกํากับภาพ. โปรดพิจารณาใช้เวลาและความพยายามอย่างมากเพื่อปรับปรุงข้อมูลกํากับของคุณ (ซึ่งเป็นสิ่งที่ควรทํา) . ข้อมูลกํากับภาพส่วนใหญ่ที่ใช้สร้าง ISO 19115 และข้อมูลกํากับภาพ FGDC มาจาก มาตรฐานข้อมูลกํากับภาพแบบ ACD และเป็นที่จดจําด้านล่าง
- คุณลักษณะ มาก มาย ทั่ว โลก เป็น คุณลักษณะ พิเศษ ใน เรื่อง นี้ ERDDAP™ ค้นหาและใช้มันในหลากหลายวิธี ยกตัวอย่างเช่น การเชื่อมโยงไปยัง infoUrl จะรวมอยู่ในหน้าเว็บด้วยรายการของชุดข้อมูล และสถานที่อื่น ๆ เพื่อให้ผู้ใช้สามารถค้นหาเพิ่มเติมเกี่ยวกับชุดข้อมูล
- เมื่อผู้ใช้เลือกสับเซตของข้อมูล, แอททริบิวต์ทั่วไปที่เกี่ยวข้องกับ ลองจิจูด, ละติจูด, ระดับความสูง (ความลึก) และช่วงเวลา (ตัวอย่างเช่น ทางตอนใต้สุด - ไ_ม่มีอะไร, ทางตอนเหนือสุด / Nothing,เวลา/ overage\_ start,เวลา/เวลา/การปกปิด/สิ้นสุด) จะสร้างหรือปรับปรุงโดยอัตโนมัติ
- ตัวอย่างง่ายๆทั่วโลก< addAttributes > คือ:
<addAttributes>
<att name="Conventions">COARDS, CF-1.6, ACDD-1.3</att>
<att name="infoUrl">https://coastwatch.pfeg.noaa.gov/infog/PH\\_ssta\\_las.html</att>
<att name="institution">NOAA CoastWatch, West Coast Node</att>
<att name="title">SST, Pathfinder Ver 5.0, Day and Night, Global</att>
<att name="cwhdf\\_version" />
</addAttributes>
แอตทริบิวต์ cwdf / กลับหน้า สาเหตุของแอตทริบิวต์ cwodf /_ กลับหน้า (ถ้ามี) ที่จะถูกลบออกจากรอบสุดท้าย รวมของคุณสมบัติ
- การ จัด เตรียม ข้อมูล นี้ ช่วย ได้ ERDDAP™ ทํางานที่ดีขึ้น และช่วยผู้ใช้ ให้เข้าใจชุดข้อมูล ข้อมูลดี ๆ ทําให้ข้อมูลใช้ได้ ข้อมูลกํากับภาพไม่เพียงพอ ทําให้ชุดข้อมูลไร้ประโยชน์ กรุณาใช้เวลาทําผลงานที่ดีกับคุณสมบัติของข้อมูลกํากับภาพ
คุณสมบัติพิเศษสากลใน ERDDAP™
การยอมรับ
- การยอมรับ ถึง ยอมรับ (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็น วิธี ที่ ได้ รับ การ ตอบ รับ (โดยเฉพาะการเงิน) สําหรับโครงการที่สร้างข้อมูลนี้ขึ้นมา ยกตัวอย่างเช่น
<att name="acknowledgment">AVISO</att>
หมายเหตุว่า ADD 1.0 และ 1.1 ใช้คําสะกด "ความรู้" (ซึ่งเป็นการสะกดตามปกติใน ค.ศ.) แต่ ADD 1.3 เปลี่ยนนี่เป็น "ความรู้" (ซึ่งเป็นการสะกดคําทั่วไปในสหราชอาณาจักร) . ความเข้าใจของผมก็คือ การเปลี่ยนแปลงหลัก ๆ นั้นเป็นอุบัติเหตุ และแน่นอนว่าพวกเขาไม่ยอมรับ ยุ่งเหยิงอะไรอย่างนี้! ปัจจุบันมีไฟล์ข้อมูลเป็นล้าน ๆ ทั่วโลก ที่มี "ความรู้" และล้านที่มี "ความรู้" นี้เน้นความโง่เขลาของ "ปกติ" เปลี่ยนเป็นมาตรฐาน และเน้นความต้องการความมั่นคงในมาตรฐาน เพราะ ACDD 1.3 (ซึ่งเป็นรุ่นของ ACD ที่ ERDDAP™ สนับสนุน) พูดว่า "ความรู้" นั่นคือสิ่งที่ ERDDAP™ (สร้างชุด Datatas ที่โดดเด่น Xml) สนับสนุน
cdm/ alatition\_ proxy
- cdm/ alatition\_ proxy เป็นเพียงสําหรับชุดข้อมูล EDTable ที่ไม่มีความสูงหรือตัวแปรความลึก แต่มีตัวแปรที่เป็นพร็อกซีสําหรับความสูงหรือความลึก (ตัวอย่างเช่น ความดัน, ซิกม่า, ตัวเลขขวด) คุณอาจจะใช้คุณลักษณะนี้เพื่อระบุตัวแปร ยกตัวอย่างเช่น
<att name="cdm\\_altitude\\_proxy">pressure</att>
ถ้า cdm\_data\_ชนิด คือโพรไฟล์ หรือ grajctoryProfile และไม่มีตัวแปรระดับความสูงหรือความลึก cdm\ altural\_ proxy restrution หากมีการนิยาม cdm/aliti proxy ERDDAP™ จะทําการเพิ่มข้อมูลกํากับภาพต่อไปนี้ไปยังตัวแปร: /_ ประสาน Axis Profile=Hight และแกน=Z
cdm\_data\_ชนิด
- cdm\_data\_ชนิด (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นคุณสมบัติระดับโลกที่บ่งบอกถึง Unidata โมเดลข้อมูลทั่วไป ประเภทข้อมูลสําหรับชุดข้อมูล ยกตัวอย่างเช่น
<att name="cdm\\_data\\_type">Point</att>
CDM ยังคงพัฒนาและอาจจะเปลี่ยนแปลงอีกครั้ง ERDDAP™ ผนวกเข้ากับรายละเอียดที่เกี่ยวข้อง แว่นขยาย (แบบ DSG) บทของ 1.6 ของ CF คลังภาพ (ก่อน หน้า นี้ เรียก ว่า การ ประชุม ภาค CF Point Observation) .
- ทั้งชุดข้อมูลของโลก ผู้ส่งที่มา หรือทั่วโลก< addAttributes > ต้องรวมแอตทริบิวต์ cdm/ data\_ type ประเภทของข้อมูล (เช่น EDTable จาก โอบีส) จะตั้งค่านี้โดยอัตโนมัติ
- สําหรับ EDDGrid ชุดข้อมูล, ค่า cdm\_datata / ชนิดตัวเลือกคือตาราง (ค่าปริยายและชนิดที่ใช้บ่อยที่สุดสําหรับ EDDGrid ชุดข้อมูล) 2561. สืบค้นเมื่อ 7 พฤษภาคม พ.ศ. ตอนนี้ EDDGrid ไม่ต้องการให้ระบุข้อมูลกํากับภาพใด ๆ ที่เกี่ยวข้อง และไม่ได้ตรวจสอบว่าข้อมูลนั้นตรงกับ cdm\_data\ type นั่นอาจจะเปลี่ยนไปในอนาคตอันใกล้
- DDTable ใช้ cdm\_datata\ type ในแบบรัดกุม ต่อไปนี้คือ DSG ของ CF แทน ซีดีเอ็ม ซึ่งในบางเหตุผลยังไม่ได้ปรับปรุงให้สอดคล้องกับ DSG ถ้าข้อมูลกํากับไม่เป็นไปตาม ERDDAP ไดเรกทอรี cdm\_data\ type ของความต้องการ (ดูด้านล่าง) ชุดข้อมูลจะโหลดล้มเหลว และจะสร้าง ข้อความผิดพลาด . (นั่นเป็นสิ่งที่ดี ในความรู้สึกที่ว่าข้อความผิดพลาด จะบอกคุณว่าอะไรผิด) และถ้าข้อมูลของชุดข้อมูลไม่ตรงกับการตั้งค่าข้อมูลกํากับภาพ (เช่น หากมีค่าละติจูดมากกว่าหนึ่งค่า สําหรับสถานีที่กําหนดในข้อมูลเวลา) การร้องขอข้อมูลบางอย่างจะส่งข้อมูลที่ไม่ถูกต้องกลับมา ดังนั้นต้องแน่ใจว่าทุกอย่างถูกต้อง
สําหรับชุดข้อมูลเหล่านี้ทั้งหมด ในการประชุมและ Metadata\_Conventions คุณสมบัติระดับโลก โปรดอ้างอิงถึง CF-1.6 (ไม่ใช่ CF-1.0, 1.1, 1.1, 1.4, หรือ 1.5) เนื่องจาก CF-1.6 เป็นเวอร์ชันแรก ที่รวมการเปลี่ยนแปลงที่เกี่ยวข้องกับ เรขาคณิต Sampling (แบบ DSG) การ ประชุม ภาค.
- ** ERDDAP™ มีความสัมพันธ์ที่ไม่ปกติกับ CF DSG**
- ERDDAP™ สามารถสร้างชุดข้อมูล DSG ที่ใช้ได้จากชุดข้อมูลแหล่งที่มา ซึ่งมีแฟ้ม DSG ที่ถูกต้องอยู่แล้ว (วินาที) หรือจากชุดข้อมูลแหล่งที่มา ที่ไม่ได้ตั้งค่าสําหรับ DSG แต่สามารถทํา ดังนั้นผ่านทางการเปลี่ยนแปลงข้อมูลกํากับ (บางส่วน ERDDAP - กําหนดวิธีทั่วไปเพื่อระบุการตั้งค่า DSG) .
- ERDDAP™ ทําการทดสอบความถูกต้องมากมาย เมื่อมันโหลดข้อมูล หากชุดข้อมูลที่มี cdm /_ data\_ประเภท (หรือ featureType ) แอตทริบิวต์โหลดเรียบร้อยแล้ว ERDDAP™ งั้น ERDDAP™ กําลังบอกว่า ชุดข้อมูลตรงกับความต้องการ DSG (ไม่อย่างนั้น ERDDAP™ จะโยนข้อยกเว้นอธิบายปัญหาแรกที่มันพบ) . คําเตือน: ชุดข้อมูลที่ถูกโหลดสําเร็จแล้ว ดูจะตรงกับความต้องการ DSG (มันมีส่วนผสมที่ถูกต้องของคุณลักษณะ) แต่อาจจะยังตั้งค่าไม่ถูกต้อง นําไปสู่ผลลัพธ์ที่ผิดใน .nc CF และ .nc แฟ้มการตอบสนองของ CFMA (ซอฟต์แวร์นั้นฉลาดในบางแง่ และไร้ปัญญาในตัวอื่นๆ)
- เมื่อคุณดูที่ข้อมูลกํากับภาพของชุดข้อมูลใน ERDDAP™ ข้อมูล DSG ดูเหมือนจะอยู่ใน ERDDAP รูปแบบภายใน (ตารางข้อมูลขนาดยักษ์) . มันไม่อยู่ในรูปแบบ DSG (เช่น ขนาดและข้อมูลกํากับไม่ถูกต้อง) แต่ข้อมูลที่จําเป็นในการปฏิบัติต่อชุดข้อมูลเป็น DSG ชุดข้อมูลอยู่ในข้อมูลกํากับภาพ (ตัวอย่างเช่น, cdm\_data\ type=เวลา series และ cdm\_timesies\_vables= ACsvListOffitation Retrieved Varables ในข้อมูลกํากับภาพทั่วไป และ cf/role=เวลา/_id สําหรับตัวแปรบางตัว) .
- หากผู้ใช้ร้องขอสับเซตของชุดข้อมูลใน .nc CF (เป็น .nc แฟ้มในรูปแบบแฟ้ม DSG แบบต่อเนื่อง) หรือ .nc แฟ้ม CFMA (คือ .nc แฟ้มในรูปแบบแฟ้ม Rray ในรูปแบบมัลติดิสก์ของ DSG) แฟ้มดังกล่าวจะเป็นแฟ้ม CFDSG ที่ถูกต้อง คําเตือน: แต่หากชุดข้อมูลถูกตั้งค่าอย่างไม่ถูกต้อง (เพื่อให้สัญญาโดยข้อมูลไม่จริง) แฟ้มการตอบสนองจะใช้ได้ในทางเทคนิคแต่จะไม่ถูกต้องในทางใดทางหนึ่ง
ชนิดของ DDTable cdm_data
- สําหรับชุดข้อมูล EDTable, cdm\_data\ type (และความต้องการที่เกี่ยวข้อง ERDDAP ) คือ
จุด
- จุด -- สําหรับการวัดที่เกิดขึ้นในเวลาและสถานที่ที่ไม่เกี่ยวข้อง
- เช่นเดียวกับ cdm/datata\ types อื่น ๆ นอกจากอื่น, ชุดข้อมูลชี้ต้องมี ลองจิจูด, ละติจูด, และตัวแปรเวลา
โพรไฟล์
-
โพรไฟล์ -- เป็นชุดของการวัดทั้งหมดที่เกิดขึ้นในครั้งเดียว ที่ตําแหน่งละติจูดหนึ่ง แต่ที่ความลึกมากกว่าหนึ่ง (หรือระดับความสูง) . ชุดข้อมูลอาจเป็นชุดของโพรไฟล์เหล่านี้ ตัวอย่างเช่น 7 โพรไฟล์ จากสถานที่ต่างๆ cdm นี้\_data\ ประเภท ไม่ได้หมายความว่ามีการเชื่อมต่อที่สมเหตุสมผลระหว่างโพรไฟล์ใด ๆ
-
หนึ่งในตัวแปร (ตัวอย่างเช่น โพรไฟล์ / ตัวเลข) จําเป็นต้องมีคุณสมบัติของตัวแปร cf/role= express / _id เพื่อระบุตัวแปรเฉพาะที่ระบุตัวโพรไฟล์ได้
<att name="cf\\_role">profile\\_id</att>
หากไม่มีตัวแปรอื่น ๆ ที่เหมาะสม ให้พิจารณาใช้ตัวแปรเวลา
cdm\_ตําแหน่ง\_ตัวแปร
- ชุดข้อมูลต้องรวมการแจกจ่ายทั่วไป cdm\_ตําแหน่ง\_ตัวแปร โดยที่ค่าเป็นรายการแยกจุลภาคของตัวแปรที่มีข้อมูลเกี่ยวกับแต่ละโพรไฟล์ สําหรับโปรไฟล์ที่กําหนด ค่าของตัวแปรเหล่านี้ต้องคงที่ ยกตัวอย่างเช่น
<att name="cdm\\_profile\\_variables">profile\\_number,time,latitude,longitude</att>
รายการนี้ต้องรวมค่า cf/role= ตัวแปร\_ ตัวแปร และตัวแปรอื่น ๆ ทั้งหมด ที่มีข้อมูลเกี่ยวกับโพรไฟล์ และเวลา เส้นรุ้ง และ เส้นแวงด้วย รายชื่อจะไม่รวมระดับความสูง ความลึก หรือตัวแปรการสังเกตใด ๆ
\[ หมายเหตุ: cdm\_data\ type= profile ไม่ควรใช้ ในการฝึก, ชุดข้อมูลที่ให้มา มักจะเป็นแฟ้มเวลา (โปรไฟล์ในตําแหน่งคงที่) หรือเอกสาร Tragery profile (โพรไฟล์ตามวิถีโคจร) และ ควร ระบุ ตัว อย่าง เหมาะ สม ว่า เป็น เช่น นั้น. \]
บันทึกเวลา
- บันทึกเวลา เป็นลําดับของการวัด (เช่น อุณหภูมิน้ําทะเล) ถูกถ่ายที่หนึ่ง, คงที่, ละติจูด, ลองติจูด, ความลึก (หรือระดับความสูง) สถานที่. (คิดซะว่ามันคือ "สถานี") ชุดข้อมูลอาจเป็นชุดเวลาเหล่านี้ ตัวอย่างเช่น ลําดับจากแต่ละสถานที่ 3 ตําแหน่ง
- หนึ่งในตัวแปร (ตัวอย่างเช่น สถานี/ หมายเลข) ต้องมีคุณสมบัติของตัวแปร cf/role=timeseriary\_id เพื่อระบุตัวแปรเฉพาะที่แสดงตัวของสถานี
<att name="cf\\_role">timeseries\\_id</att>
cdm\ เวลา_เวลา/_ตัวแปร
- ชุดข้อมูลต้องรวมการแจกจ่ายทั่วไป cdm\ เวลา_เวลา/_ตัวแปร โดยค่าเป็นรายการแยกจุลภาคของตัวแปรที่มีข้อมูลเกี่ยวกับแต่ละสถานี สําหรับสถานีที่กําหนด ค่าของตัวแปรเหล่านี้ต้องคงที่ ยกตัวอย่างเช่น
<att name="cdm\\_timeseries\\_variables">station\\_id,station\\_type,latitude,longitude</att>
รายการต้องรวม cf/role=timeserition\ ตัวแปร_id และตัวแปรอื่น ๆ ทั้งหมดที่มีข้อมูลเกี่ยวกับสถานี ซึ่งมักจะรวมละติจูดและ ลองจิจูดด้วย (และระดับความสูงหรือความลึก ถ้าในปัจจุบัน) . รายชื่อจะไม่รวมเวลา หรือตัวแปรการสังเกตใดๆ
- สําหรับเป๋าฮื้อบางชนิด ข้อมูลชุดหนึ่งอาจมี ตัวแปรละติจูดและลองติจูด 2 ชุด
- ค่าละติจูดและเส้นแวงหนึ่งคู่ที่มีค่าคงที่ (I.E. ตําแหน่งของ Mooring) . ใน ERDDAP™ ให้ตัวแปรเหล่านี้ destinationName s ของละติจูดและลองติจูด รวมถึงตัวแปรเหล่านี้ในรายการของ cdm/_timesory\_sivables
- กําหนดค่าละติจูดและลองติจูด ที่เกี่ยวข้องกับแต่ละข้อสังเกต ใน ERDDAP™ ให้ตัวแปรเหล่านี้แตกต่างกัน destinationName วินาที (E.g., แม่นยําและแม่นยํา ลอน) และไม่ต้องรวมตัวแปรเหล่านี้ในรายการของ cdm\_timesory\_sivables เหตุผลก็คือ จากมุมมองทางทฤษฎี สําหรับข้อมูลเวลา DSG, เส้นรุ้งและเส้นแวง (และระดับความสูงหรือความลึก ถ้าในปัจจุบัน) ตําแหน่งของสถานีต้องคงที่
เอกสารเวลาProfile
- เอกสารเวลาProfile -- สําหรับลําดับของโปรไฟล์ ที่ถูกถ่ายขึ้นที่ 1 ที่ตั้งละติจูด ลองติจูด แต่ละโพรไฟล์เป็นชุดของการวัดที่หลายความสูงหรือความลึก ชุดข้อมูลอาจเป็นชุดชุดของ timeSeries profiles เช่น ลําดับของโพรไฟล์ที่ถ่ายในแต่ละสถานที่ 12 ตําแหน่ง
- หนึ่งในตัวแปร (ตัวอย่างเช่น สถานี/ หมายเลข) ต้องมีคุณสมบัติของตัวแปร cf/role=timeseriary\_id เพื่อระบุตัวแปรเฉพาะที่แสดงตัวของสถานี
<att name="cf\\_role">timeseries\\_id</att>
- หนึ่งในตัวแปร (ตัวอย่างเช่น โพรไฟล์ / ตัวเลข) จําเป็นต้องมีคุณสมบัติของตัวแปร cf/role= express / _id เพื่อระบุตัวแปรเฉพาะที่ระบุตัวโพรไฟล์ได้
(โพรไฟล์\_หมายเลขที่กําหนดให้จะมีลักษณะเฉพาะสําหรับหน่วยเวลาที่กําหนด / _ID) หากไม่มีตัวแปรอื่น ๆ ที่เหมาะสม ให้พิจารณาใช้ตัวแปรเวลา
<att name="cf\\_role">profile\\_id</att> - ชุดข้อมูลต้องรวม attribution cdm\ timesry\_ diviews โดยค่าคือรายการของตัวแปรที่มีข้อมูลเกี่ยวกับแต่ละสถานี สําหรับสถานีที่กําหนด ค่าของตัวแปรเหล่านี้ต้องคงที่ ยกตัวอย่างเช่น
<att name="cdm\\_timeseries\\_variables">station\\_id,station\\_type,latitude,longitude</att>
รายการต้องรวม cf/role=timeserition\ ตัวแปร_id และตัวแปรอื่น ๆ ทั้งหมดที่มีข้อมูลเกี่ยวกับสถานี ซึ่งเกือบรวมถึงละติจูดและ ลองจิจูด รายชื่อจะไม่รวมเวลา, ระดับความสูง, ความลึก, หรือตัวแปรสังเกตใด ๆ
- ชุดข้อมูลที่ต้องการรวม attribution cdm\ _ swarables โดยค่าเป็นรายการของตัวแปรที่มีข้อมูลเกี่ยวกับแต่ละโพรไฟล์ สําหรับโปรไฟล์ที่กําหนด ค่าของตัวแปรเหล่านี้ต้องคงที่ ยกตัวอย่างเช่น
<att name="cdm\\_profile\\_variables">profile\\_number,time</att>
รายการต้องรวม cf/role= ตัวแปร\_ ตัวแปรอื่น ๆ และตัวแปรอื่น ๆ ทั้งหมดด้วยข้อมูลเกี่ยวกับโพรไฟล์ ซึ่งเกือบรวมถึงเวลาด้วย รายชื่อจะไม่รวมละติจูด, ลองติจูด, ระดับความสูง, ความลึก, หรือตัวแปรสังเกตใด ๆ
ราชกิจจานุเบกษา
- ราชกิจจานุเบกษา เป็นลําดับของการวัดที่เกิดขึ้นตามวิถี (พาธผ่านช่องว่างและเวลา) (e.g., ทะเล/ น้ํา\ โครงสร้างที่ถ่ายโดยเรือขณะมันเคลื่อนผ่านน้ํา) . ชุดข้อมูลอาจเป็นชุดของ stragictories เหล่านี้ ตัวอย่างเช่น ลําดับจากแต่ละ 4 เรือที่แตกต่างกัน
- หนึ่งในตัวแปร (ตัวอย่างเช่น เรือ / หมายเลข) จําเป็นต้องมีคุณสมบัติ cf//role=stregricy\_id เพื่อระบุตัวแปรเฉพาะที่ระบุการเคลื่อนที่
<att name="cf\\_role">trajectory\\_id</att>
cdm\_ไดเรกทอรี\_ตัวแปร
- ชุดข้อมูลต้องรวมการแจกจ่ายทั่วไป cdm\_ไดเรกทอรี\_ตัวแปร โดยค่าที่เป็นรายการที่แยกเครื่องหมายจุลภาคของตัวแปร ที่มีข้อมูลเกี่ยวกับแต่ละวิถี สําหรับวิถีกําหนด ค่าของตัวแปรเหล่านี้ต้องคงที่ ยกตัวอย่างเช่น
<att name="cdm\\_trajectory\\_variables">ship\\_id,ship\\_type,ship\\_owner</att>
รายการต้องรวมค่า cf/role=ratricy\_id ตัวแปร และตัวแปรอื่น ๆ ที่มีข้อมูลเกี่ยวกับวิถีโคจรด้วย รายการ เหล่า นี้ จะ ไม่ รวม ทั้ง เวลา, เส้น ละติจูด, ลองจิจูด, หรือ ตัวแปร ที่ สังเกต เห็น ใด ๆ.
Profile
- Profile นี่คือลําดับของการวิเคราะห์ ที่ถูกดําเนินการในวิถีโคจร ชุดข้อมูลอาจเป็นชุดชุดของ precessy profiles เหล่านี้ ตัวอย่างเช่น ลําดับของโพรไฟล์ที่ถ่ายโดย 14 เรือที่แตกต่างกัน
- หนึ่งในตัวแปร (ตัวอย่างเช่น เรือ / หมายเลข) จําเป็นต้องมีคุณสมบัติของตัวแปร cf/role=stregricy\_id เพื่อระบุตัวแปรเฉพาะที่ระบุลักษณะการเคลื่อนที่
<att name="cf\\_role">trajectory\\_id</att> - หนึ่งในตัวแปร (ตัวอย่างเช่น โพรไฟล์ / ตัวเลข) จําเป็นต้องมีคุณสมบัติของตัวแปร cf/role= express / _id เพื่อระบุตัวแปรเฉพาะที่ระบุตัวโพรไฟล์ได้
(โพรไฟล์\ ID ที่กําหนด ต้องมีเอกลักษณ์เฉพาะสําหรับวิถีโคจรที่กําหนด\_ ID) หากไม่มีตัวแปรอื่น ๆ ที่เหมาะสม ให้พิจารณาใช้ตัวแปรเวลา
<att name="cf\\_role">profile\\_id</att> - ชุดข้อมูลต้องรวม attribution cdm\restricy\ diversables โดยค่าเป็นรายการของตัวแปรที่มีข้อมูลเกี่ยวกับแต่ละวิถี สําหรับวิถีกําหนด ค่าของตัวแปรเหล่านี้ต้องคงที่ ยกตัวอย่างเช่น
<att name="cdm\\_trajectory\\_variables">ship\\_id,ship\\_type,ship\\_owner</att>
รายการต้องรวมค่า cf/role=ratricy\_id ตัวแปร และตัวแปรอื่น ๆ ที่มีข้อมูลเกี่ยวกับวิถีโคจรด้วย รายชื่อจะไม่รวม ตัวแปรที่เกี่ยวกับโพรไฟล์ เวลาละติจูด ลองติจูด หรือตัวแปรสังเกตใดๆทั้งสิ้น
- ชุดข้อมูลที่ต้องการรวม attribution cdm\ _ swarables โดยค่าเป็นรายการของตัวแปรที่มีข้อมูลเกี่ยวกับแต่ละโพรไฟล์ สําหรับโปรไฟล์ที่กําหนด ค่าของตัวแปรเหล่านี้ต้องคงที่ ยกตัวอย่างเช่น
<att name="cdm\\_profile\\_variables">profile\\_number,time,latitude,longitude</att>
รายการนี้ต้องรวมค่า cf/role= ตัวแปร\_ ตัวแปรอื่น ๆ และตัวแปรอื่น ๆ ทั้งหมดด้วยข้อมูลเกี่ยวกับโพรไฟล์ ซึ่งมักจะรวมถึงเวลา, เส้นรุ้งและเส้นแวงด้วย รายชื่อจะไม่รวมระดับความสูง ความลึก หรือตัวแปรการสังเกตใด ๆ
อื่นๆ
- อื่นๆ ไม่มีความต้องการ ใช้มันหากชุดข้อมูลไม่พอดี กับตัวเลือกอื่น ๆ ที่โดดเด่น ถ้าชุดข้อมูลไม่ได้รวมละติจูด ลองติจูดและตัวแปรเวลา
บันทึกย่อที่เกี่ยวข้อง
- ข้อมูล EDTable ทั้งหมดที่มี cdm\ datata\ type_ อย่างอื่นที่ไม่ใช่ "อื่น" จะต้องมี ลองจิจูด, ละติจูด, และตัวแปรเวลา
- ชุดข้อมูลที่มีโพรไฟล์ต้องตัวแปรความสูง, ตัวแปรความลึก, หรือ cdm/ alatition\_ proxy ตัวแปร
- หากคุณไม่สามารถทําชุดข้อมูลให้สอดคล้องกับความต้องการทั้งหมด สําหรับ cdm\_datata/ type, ใช้ "Point" (ซึ่งมีความต้องการน้อย) หรือ "อย่างอื่น" (ซึ่งไม่มีความต้องการ) แทน
- ข้อมูลนี้ถูกใช้โดย ERDDAP™ ในหลาย ๆ วิธี ตัวอย่างเช่น แต่ส่วนใหญ่แล้วสําหรับการทํา .nc แฟ้ม CF ( .nc แฟ้มซึ่งทําต่อด้วย Ranguage Array translation ที่สัมพันธ์กับชุดข้อมูล cdm\_data\ type) ถึง .nc แฟ้ม CFMA ( .nc แฟ้มซึ่งทําต่อด้วยอาร์เรย์แบบหลายมิติ ที่สัมพันธ์กับชุดข้อมูล cdm\_data\ type) ตามนิยามใน แว่นขยาย (แบบ DSG) บทของ CF การประชุมกํากับ ซึ่งก่อนหน้านี้มีชื่อว่า "การประชุม CF Point Observation"
- ร้อยละ: สําหรับชุดข้อมูลเหล่านี้, การตั้งค่าที่ถูกต้องสําหรับ subsetVariables โดยปกติจะเป็นการรวมกันของตัวแปรทั้งหมดที่แสดงในรายการในคุณสมบัติ cdm /... /_ ตัวแปร ตัวอย่างเช่น สําหรับ TimeSeriesProfile ใช้ cdm\_ timesies\_ diviews บวก cdm/_pact/ divables
contributor\_name
- ** contributor\_name ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นวิธีตอบรับที่จะจําแนกบุคคล, องค์กร, หรือโครงการที่มีส่วนในข้อมูลชุดนี้ (ยกตัวอย่างเช่น ผู้สร้างข้อมูลต้นฉบับ ก่อนที่จะถูกประมวลผลใหม่ โดยผู้สร้างชุดข้อมูลชุดนี้) . ยกตัวอย่างเช่น
<att name="contributor\\_name">NOAA OceanWatch - Central Pacific</att>
ถ้าคําว่า "contribus" ไม่ใช้กับชุดข้อมูลจริง ก็ยกเลิกคุณสมบัติดังกล่าวไป เทียบกับ creator\_name บางครั้งมันมุ่งเน้นไปที่แหล่งเงินทุนมากกว่า
contributor\_role
- ** contributor\_role ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็น วิธี ที่ ได้ รับ การ สนับสนุน ให้ ระบุ บทบาท ของ contributor\_name . ยกตัวอย่างเช่น
<att name="contributor\\_role">Source of Level 2b data</att>
ถ้าคําว่า "contribus" ไม่ใช้กับชุดข้อมูลจริง ก็ยกเลิกคุณสมบัติดังกล่าวไป
การ ประชุม ภาค
- การ ประชุม ภาค (จาก CF มาตรฐานข้อมูลกํากับภาพ) มี การ ตอบ รับ อย่าง เหมาะ สม. (ใน อนาคต อาจ จะ มี การ เปลี่ยน แปลง.) ค่านี้เป็นรายการมาตรฐานข้อมูลกํากับภาพที่แยกเป็นเครื่องหมายจุลภาค ซึ่งชุดข้อมูลกํากับนี้จะมีต่อ ตัว อย่าง เช่น:
<att name="Conventions">COARDS, CF-1.6, ACDD-1.3</att>
การ ประชุม ใหญ่ ที่ มี การ ใช้ คํา ศัพท์ ทั่ว ไป ERDDAP™ คือ:
- COARDS การ ประชุม ภาค เป็นตัวแทนของซีเอฟ
- สภาพ อากาศ และ การ คาด การณ์ ล่วง หน้า (CF) การ ประชุม ภาค เป็นที่มาของคุณลักษณะที่แนะนําและจําเป็นหลายอย่าง ERDDAP . CF รุ่นปัจจุบันระบุว่าเป็น "CF-1.6"
- เดอะ NetCDF อนุ สัญญา เรื่อง การ ค้น พบ ข้อมูล (หมายเลข ACD) เป็นที่มาของคุณลักษณะที่แนะนําและจําเป็นหลายอย่าง ERDDAP . ACD รุ่นดั้งเดิม (ผลงานชิ้นเอกของ อีธาน เดวิส) ระบุว่า Unidata Directory รุ่น v1. 0 ปัจจุบัน (เริ่มตั้งแต่ 2015) 1. 3 รุ่นของ ACDD ถูกระบุว่าเป็น ACD-1.3 . ถ้าชุดข้อมูลของคุณถูกใช้ Unidata Datetet Directy v1.0 เราแนะนําให้คุณ สลับชุดข้อมูลที่จะใช้ ACD-1.3 .
หากชุดข้อมูลของคุณติดตามมาตรฐานข้อมูลกํากับภาพเพิ่มเติม โปรดเพิ่มชื่อเข้าไปในรายการ CSV ในแอตทริบิวชัน
coverage\_content\_type
- ** coverage\_content\_type ** (จาก ISO 19115 มาตรฐานข้อมูลกํากับภาพ) เป็นวิธีวิเคราะห์ชนิดของข้อมูล (ใน EDDGrid ชุดข้อมูล) . ยกตัวอย่างเช่น
<att name="coverage\\_content\\_type">modelResult</att>
ค่าที่ได้รับอนุญาตอย่างเดียวคือ การเพิ่มข้อมูล, อิมเมจ, รุ่น, ร่าง การวัด (ค่าปริยายเมื่อสร้างข้อมูลกํากับภาพ ISO 19115) โครงสร้างคุณภาพ การอ้างอิง และการจําแนก (อย่าใช้แท็กนี้กับชุดข้อมูล EDTable)
creator\_name
- ** creator\_name ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็น วิธี ที่ ได้ รับ การ สนับสนุน ให้ ระบุ ตัว บุคคล, องค์การ, หรือ โครงการ (ถ้าไม่เฉพาะบุคคลหรือองค์กร) ความรับผิดชอบสูงสุดต่อการสร้าง (หรือการประมวลผลล่าสุด) ของข้อมูลนี้ ยกตัวอย่างเช่น
<att name="creator\\_name">NOAA NMFS SWFSC ERD</att>
ถ้าข้อมูลถูกประมวลใหม่ (ยกตัวอย่างเช่น ข้อมูลดาวเทียมจากระดับ 2 ถึงระดับ 3 หรือ 4) ตามปกติแล้ว โพรเซสเตอร์จะถูกจัดรายการเป็นผู้สร้างและผู้สร้างเดิมจะถูกจัดรายการผ่านทาง contributor\_name . เทียบกับ โครงการ ยืดหยุ่น ได้ ดี กว่า เพราะ อาจ ระบุ ตัว บุคคล, องค์การ, หรือ โครงการ.
creator\_email
- ** creator\_email ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นวิธี REMMMENTIME เพื่อระบุที่อยู่อีเมล (องศา) นั่นเป็นวิธีที่จะติดต่อกับผู้สร้าง ยกตัวอย่างเช่น
<att name="creator\\_email">erd.data@noaa.gov</att>
creator\_url
- ** creator\_url ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นวิธี REMMMEND เพื่อระบุที่อยู่ URL ขององค์กรที่สร้างชุดข้อมูล หรือที่อยู่ URL ที่มีข้อมูลของผู้สร้างเกี่ยวกับข้อมูลชุดนี้ (แต่นั่นคือจุดประสงค์ของ infoUrl ) . ยกตัวอย่างเช่น
<att name="creator\\_url">https://www.pfeg.noaa.gov</att>
date\_created
- ** date\_created ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นวิธี recommed เพื่อระบุวันที่ที่ข้อมูลถูกสร้างขึ้นครั้งแรก (ยกตัวอย่างเช่น ประมวลผลในรูปแบบนี้) ISO 8601 รูปแบบ. ยกตัวอย่างเช่น
<att name="date\\_created">2010-01-30</att>
หากมีข้อมูลถูกเพิ่มเป็นระยะ ๆ เข้ากับชุดข้อมูล นี่คือวันที่แรกที่ข้อมูลเดิมถูกสร้างขึ้น
date\_modified
- ** date\_modified ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นวิธี recommed เพื่อระบุวันที่ที่ถูกแก้ไขล่าสุด (ตัวอย่างเช่น เมื่อมีข้อผิดพลาดถูกแก้ไข หรือเมื่อข้อมูลล่าสุดถูกเพิ่ม) ISO 8601 รูปแบบ. ยกตัวอย่างเช่น
<att name="date\\_modified">2012-03-15</att>
date\_issued
- ** date\_issued ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นวิธี REMMMENE ที่ระบุวันที่ซึ่งข้อมูลได้ถูกทําขึ้นครั้งแรกให้กับคนอื่น ๆ ในรูปแบบ ISO 8601 ตัวอย่างเช่น 2012-03-15. ยกตัวอย่างเช่น
<att name="date\\_issued">2010-07-30</att>
ตัวอย่างเช่น ชุดข้อมูลอาจมี date\_created 2010-01-30 แต่ได้รับการเปิดให้บริการเฉพาะสาธารณชน 2010-07-30. date\_issued มีการใช้ทั่วไปน้อยกว่า date\_created ถึง date\_modified . ถ้า date\_issued การตัดทิ้ง, สันนิษฐานว่าเหมือนกับ date\_created .
ทั่ว โลก drawLandMask
- ** drawLandMask ** -- นี่คือคุณลักษณะสากลที่ใช้โดย ERDDAP™ (และไม่มีมาตรฐานกํากับ) ซึ่งกําหนดค่าปริยายสําหรับตัวเลือก "การวาดแผ่น" บนชุดข้อมูล สร้างกราฟ ( * datasetID * ลายเซ็น) และสําหรับพารามิเตอร์ต่าง ๆ ในที่อยู่ URL ที่ร้องขอแผนที่ข้อมูล ยกตัวอย่างเช่น
<att name="drawLandMask">over</att>
ดู drawLandMask ภาพรวม .
featureType
- ** featureType ** (จาก CF มาตรฐานข้อมูลกํากับภาพ) คือความไม่สงบและ/หรือการตอบโต้ ถ้าชุดข้อมูล cdm\_data\_ชนิด เหมาะสมดี ERDDAP™ จะใช้มันอัตโนมัติในการสร้าง featureType อุปนิสัย ดังนั้น คุณไม่จําเป็นต้องบวกมัน
อย่างไรก็ตาม ถ้าคุณกําลังใช้ แฟ้ม DDTable จาก NCF เพื่อสร้างชุดข้อมูลต่าง ๆ จากแฟ้มที่ทําตาม CF แว่นขยาย (แบบ DSG) มาตรฐาน ไฟล์ทั้งหมด featureType นิยามได้ถูกต้อง ดังนั้น ERDDAP™ สามารถอ่านแฟ้มได้อย่างถูกต้อง นั่นคือส่วนของความต้องการแบบ CF DSG สําหรับชนิดของแฟ้ม
ประวัติ
- ประวัติ (จาก CF ถึง หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นคุณสมบัติหลายสายหลายสายที่มีบรรทัดสําหรับขั้นตอน การประมวลผลที่ข้อมูลได้ผ่าน ยกตัวอย่างเช่น
<att name="history">2011-08-05T08:55:02Z CMOR: Rewrote data to comply with CF standards.
2012-04-08T08:34:58Z CMOR: Converted 'height' type from 'd' to 'f'.</att>
- อุดมคติแต่ละบรรทัดมี ISO 8601:2004 (E) ปรับวันที่และเวลาของภาพ (ตัวอย่างเช่น 2011-08-0508:55:02Z) ตาม ด้วย คํา พรรณนา เกี่ยว กับ ขั้น ตอน การ ดําเนิน งาน.
- ERDDAP™ สร้างสรรค์สิ่งนี้ ถ้ามันยังไม่มีอยู่
- ถ้ามันมีอยู่จริง ERDDAP™ จะทําการเพิ่มข้อมูลใหม่ไปยังข้อมูลที่มีอยู่
- ประวัติศาสตร์เป็นสิ่งสําคัญ เพราะมันช่วยให้ลูกค้าสามารถติดตาม แหล่งที่มาดั้งเดิมของข้อมูล
infoUrl
- ** infoUrl ** เป็นแอททริบิวต์ทั่วไปที่มีตําแหน่ง URL ของหน้าเว็บที่มีข้อมูลเพิ่มเติมเกี่ยวกับข้อมูลชุดนี้ (ปกติที่เว็บไซต์ของโรงพยาบาล) . ยกตัวอย่างเช่น
<att name="infoUrl">http://www.globec.org/</att>
- ทั้งชุดข้อมูลของโลก ผู้ส่งที่มา หรือทั่วโลก< addAttributes > จําเป็น ต้อง รวม เอา คุณลักษณะ นี้ เข้า ไว้ ด้วย.
- infoUrl สําคัญมาก เพราะมันช่วยให้ลูกค้าได้ค้นพบข้อมูล จากแหล่งกําเนิดดั้งเดิมมากขึ้น
- ERDDAP™ แสดงที่อยู่เชื่อมโยงไปยัง infoUrl ในรูปแบบการเข้าถึงข้อมูลของชุดข้อมูล ( * datasetID * . html) สร้างหน้ากราฟ ( * datasetID * ลายเซ็น) และหน้าเว็บอื่น ๆ
- หากที่อยู่ URL มีส่วนของการค้นหา (หลังจาก "?) มันควรจะเป็นอยู่แล้ว เข้ารหัสไว้% . คุณต้องเข้ารหัสอักขระพิเศษในเงื่อนไข (อื่น ๆ นอกเหนือจากเริ่มต้น '&' และหลัก '=' ถ้ามี) ในรูป %HH, โดย HH เป็น 2 หลักที่เลขฐานสิบหกของตัวละคร โดยทั่วไปแล้ว คุณต้องแปลงตัวอักษรบางตัวในวรรคตอน: %s เป็น %25, & เป็น %26, "เป็น% 22,<ใน% 3C, =ลงใน% 3D, > ใน% 3E, + ใน% 2B, | เป็น % 7C, \[ เป็น % 5B, \] เป็น % 5 มิติ, ช่องว่างเป็น % 20, และแปลงตัวอักษรทั้งหมดด้านบน #127 เป็นรูปแบบ UTF-8 ของพวกเขา จากนั้นเปอร์เซ็นต์การเข้ารหัสแต่ละ byte ของรูป UTF-8 เป็นรูปแบบ% HH (ถามโปรแกรมเมอร์เพื่อขอความช่วยเหลือ) .
ตัวอย่างเช่น stationID > = "41004"
กลายเป็น stationID % 3 =% 241004% 2
ต้องการการเข้ารหัส Percent เมื่อคุณใช้งาน ERDDAP ผ่านซอฟต์แวร์อื่นที่ไม่ใช่เบราว์เซอร์ เว็บเบราว์เซอร์มักจะใช้รหัสเปอร์เซ็นต์สําหรับคุณ
ในบางสถานการณ์ คุณต้องเข้ารหัสตัวอักษรทุกตัว นอกจาก A-Za-z0-9/_-~ ' () ** แต่ยังคงไม่เข้ารหัสเริ่มต้น '&' หรือหลัก '=' .
การเขียนโปรแกรมภาษามีเครื่องมือในการทําเช่นนี้ (ตัวอย่างเช่น ดู Java ' java.net.URLEncoder
ถึง Java สคริปต์encodeURIComponent()) (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/encodeURIComponent) และยังมี เว็บไซต์ที่มีการเข้ารหัส/ถอดรหัสให้คุณ . - ตั้งแต่ datasets.xml เป็นแฟ้ม XML นอกจากนี้คุณยังต้องกําหนด &-encode ทั้งหมด '&' ด้วย<'และ'>' ในที่อยู่ URL ที่เรียกว่า '&'<'และ '>'หลังจากเปอร์เซ็นต์การเข้ารหัส
- infoUrl มีเอกลักษณ์เฉพาะ ERDDAP . มันไม่ได้มาจากมาตรฐานข้อมูล
สถาบัน
- สถาบัน (จาก CF ถึง หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นคุณสมบัติระดับโลกที่มีชื่อย่อของสถาบัน ซึ่งเป็นที่มาของข้อมูลนี้ (ปกติจะเป็นชื่อย่อ)<20 ตัวอักษร). ยกตัวอย่างเช่น
<att name="institution">NASA GSFC</att>
- ทั้งชุดข้อมูลของโลก ผู้ส่งที่มา หรือทั่วโลก< addAttributes > จําเป็น ต้อง รวม เอา คุณลักษณะ นี้ เข้า ไว้ ด้วย.
- ERDDAP™ แสดงสถาบัน เมื่อไรก็ตามที่มันแสดงชุดข้อมูล ถ้าชื่อของสถาบันนี้ยาวกว่า 20 ตัวอักษร จะเห็นเพียง 20 ตัวอักษรแรกในรายการชุดข้อมูล (แต่ทั้งสถาบันสามารถมองเห็นได้โดยการวางเคอร์เซอร์เมาส์มากกว่าด้านประชิด "?" ไอคอน) .
- ถ้าคุณเพิ่มสถาบันเข้าไปในรายการ< categoryAttributes > ใน ERDDAP ' ตั้งค่า. xml แฟ้ม, ผู้ใช้สามารถหาชุดข้อมูลจากสถาบันเดียวกันได้ง่าย ERDDAP "ค้นหาข้อมูลตามหมวดหมู่" ในโฮมเพจ
คําค้น:
- คําค้น: (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นรายการคําและวลีสั้นที่รวมเครื่องหมายจุลภาค (ยกตัวอย่างเช่น แบบ GCMD คํา ศัพท์ วิทยาศาสตร์ ) ที่อธิบายชุดข้อมูลโดยทั่วไป และไม่สมมุติความรู้อื่น ๆ ของชุดข้อมูล (ยกตัวอย่างเช่น สําหรับข้อมูลทางทะเล รวมถึงมหาสมุทรด้วย) . ยกตัวอย่างเช่น
<att name="keywords">ano, circulation, coastwatch, currents, derived, Earth Science > Oceans > Ocean Circulation > Ocean Currents, eastward, eastward\\_sea\\_water\\_velocity, experimental, hf radio, meridional, noaa, northward, northward\\_sea\\_water\\_velocity, nuevo, ocean, oceans, radio, radio-derived, scan, sea, seawater, velocity, water, zonal</att>
ตั้งแต่ datasets.xml เป็นเอกสาร XML, อักขระต่าง ๆ<และ > ในคุณลักษณะเช่นคําสําคัญ (E.g., the > อักขระในกุญแจวิทยาศาสตร์ GCMD) ต้องเข้ารหัสเป็น & amp;<& gt; ตามด้วย เมื่อมีการโหลดชุดข้อมูล ERDDAP .
- "Arth Science >". ถูกเพิ่มไปยังจุดเริ่มต้นของกุญแจ GCMD ใด ๆ ที่ขาดมันไป
- คําสําคัญต่าง ๆ ของ GCMD ถูกแปลงเป็นตัวอักษรเรื่อง (เช่น อักษรตัวแรกเป็นอักษรตัวใหญ่) .
- คําค้นจะถูกจัดเรียงเป็นลําดับ และตัวอักษรใหม่ใด ๆ จะถูกลบออกไป
keywords\_vocabulary
- ** keywords\_vocabulary ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) คุณสมบัติของการตอบกลับ: หากคุณกําลังทําตามคําแนะนําสําหรับคํา/วลีในแอตทริบิวต์ของคุณ (ตัว อย่าง เช่น คํา ศัพท์ ทาง วิทยาศาสตร์ ของ จี ซี เอ็ม ดี (GCMD)) ใส่ชื่อของเส้นนําทางที่นี่ ยกตัวอย่างเช่น
<att name="keywords\\_vocabulary">GCMD Science Keywords</att>
สัญญาอนุญาตสิทธิ์
- สัญญาอนุญาตสิทธิ์ (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นคุณสมบัติระดับโลกที่มีใบอนุญาตและ/หรือข้อห้ามการใช้งาน ยกตัวอย่างเช่น
<att name="license">\\[standard\\]</att>
- ถ้า \[ มาตรฐาน \] "เกิดขึ้นในค่าคุณลักษณะ, มันจะแทนที่ด้วยมาตรฐาน ERDDAP™ ใบอนุญาตจาก<ป้ายมาตรฐาน) ERDDAP ' \[ แว่นขยาย \] แฟ้ม / webapps/ erdep/WEB-INF/คลาสต่างๆ/gov/noa/pfel/erdep/util/xmlfile
Metadata\_Conventions
- ** Metadata\_Conventions ** มาจากยุคโบราณ ACD 1. 0 (ซึ่งระบุใน Metadata\_Conventions ว่า Unidata Datetset Directory v1. 0") มาตรฐานข้อมูล ค่าของแอททริบิวต์เป็นรายการของการประชุมข้อมูลกํากับที่ถูกใช้โดยชุดข้อมูลนี้ ถ้าชุดข้อมูลใช้ ACD 1.0 แอตทริบิวต์นี้จะถูกรีคอมมิวสิกชั่น
<att name="Metadata\\_Conventions">COARDS, CF-1.6, Unidata Dataset Discovery v1.0</att>
แต่ ERDDAP™ ตอนนี้แนะนํา ACD-1.3 ถ้าคุณมี เปลี่ยนชุดข้อมูลที่จะใช้ ACD-1.3 ใช้ Metadata\_Conventions (ไม่ต่อเนื่อง)<การประชุม) (# ความร่วมมือ) แทน
processing\_level
- ** processing\_level ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นคําบรรยายข้อความของกระบวนการประมวลผล (ยกตัวอย่างเช่น nasa โลกสังเกตข้อมูลระบบและข้อมูลระบบ การประมวลผลระดับ ตัวอย่างเช่น ระดับ 3) หรือระดับการควบคุมคุณภาพ (ยกตัวอย่างเช่น คุณภาพวิทยาศาสตร์) ของข้อมูล ยกตัวอย่างเช่น
<att name="processing\\_level">3</att>
โครงการ
- โครงการ (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นคุณสมบัติเชิงปฏิบัติที่จะระบุโครงการ ที่ชุดข้อมูลเป็นส่วนหนึ่งของ ยกตัวอย่างเช่น
<att name="project">GTSPP</att>
ถ้าชุดข้อมูลไม่ได้เป็นส่วนหนึ่งของโครงการ อย่าใช้คุณลักษณะนี้ เทียบกับ creator\_name นี่เน้นไปที่โครงการ (ไม่ ใช่ บุคคล หรือ องค์การ ซึ่ง อาจ มี ส่วน เกี่ยว ข้อง ใน หลาย โครงการ) .
publisher\_name
- ** publisher\_name ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็น วิธี ที่ ได้ รับ การ สนับสนุน ให้ ระบุ ตัว บุคคล, องค์การ, หรือ โครงการ ซึ่ง กําลัง จัด พิมพ์ ข้อมูล ชุด นี้. ยกตัวอย่างเช่น
<att name="publisher\\_name">JPL</att>
ตัวอย่างเช่น คุณเป็นผู้เผยแพร่ ถ้ามีคนอื่นหรือกลุ่ม สร้าง ชุดข้อมูลและคุณเพียงแค่กลับมาตอบสนองมันผ่าน ERDDAP . ถ้า "ผู้ตีพิมพ์" ไม่ใช้กับชุดข้อมูลจริง ก็ยกเลิกคุณสมบัตินี้ เทียบกับ creator\_name สํานักพิมพ์อาจจะไม่ได้แก้ไขหรือประมวลข้อมูลในนัยสําคัญ ผู้จัดทําเพียงแค่ทําให้ข้อมูลดังกล่าวใช้ได้ ในสถานที่ใหม่
publisher\_email
- ** publisher\_email ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นวิธี REMMMENTIME เพื่อระบุที่อยู่อีเมล (ปรับให้เป็นระเบียบสมบูรณ์แล้ว ตัวอย่างเช่น จอห์น _ชื่อผู้เขียน@ great.org) นั่น เป็น วิธี ติด ต่อ กับ ผู้ ประกาศ. ยกตัวอย่างเช่น
<att name="publisher\\_email">john\\_smith@great.org</att>
ถ้า "ผู้ตีพิมพ์" ไม่ใช้กับชุดข้อมูลจริง ก็ยกเลิกคุณสมบัตินี้
publisher\_url
- ** publisher\_url ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นวิธี REMMEMEND เพื่อระบุที่อยู่ URL ขององค์กรที่เผยแพร่ข้อมูล ชุดข้อมูล หรือที่อยู่ URL ที่มีข้อมูลของสํานักพิมพ์เกี่ยวกับข้อมูลชุดนี้ (แต่นั่นคือจุดประสงค์ของ infoUrl ) . ยกตัวอย่างเช่น
<att name="publisher\\_url">https://podaac.jpl.nasa.gov</att>
ถ้า "ผู้ตีพิมพ์" ไม่ใช้กับชุดข้อมูลจริง ก็ยกเลิกคุณสมบัตินี้
real\_time
- ** real\_time ** เป็นคุณสมบัติของสตริงทั่วโลก (ไม่จากมาตรฐานใด ๆ) แสดงว่านี่คือข้อมูลเวลาจริง ยกตัวอย่างเช่น
<att name="real\\_time">true</att>
ถ้านี่เป็นเท็จ (ค่าปริยาย) . ERDDAP™ จะทําการบันทึกการตอบสนองไปยังการร้องขอประเภทแฟ้มที่แฟ้มทั้งหมดจะต้องถูกสร้างขึ้นก่อน ERDDAP™ สามารถเริ่มส่งการตอบสนองไปยังผู้ใช้และใช้อีกครั้งได้ถึงประมาณ 15 นาที (อี.จี. .nc .png) . ถ้านี่เป็นจริง ERDDAP™ จะไม่จัดเก็บแฟ้มที่ตอบรับ และจะคืนแฟ้มที่ถูกสร้างใหม่เสมอ
sourceUrl คุณสมบัติ
- ** sourceUrl ** เป็นคุณสมบัติทั่วไปของที่อยู่ URL ของแหล่งข้อมูลของข้อมูล ยกตัวอย่างเช่น
<att name="sourceUrl">https://opendap.co-ops.nos.noaa.gov/ioos-dif-sos/SOS</att>
(แต่ติดไว้แค่เส้นเดียว)
- ERDDAP™ โดยปกติแล้วมักสร้างคุณลักษณะระดับโลกขึ้นมาโดยอัตโนมัติ ข้อยกเว้นสองข้อคือ EDTable from Hyrax แฟ้มและ EDTable from Threds Files
- หากแหล่งเป็นแฟ้มภายในระบบ และแฟ้มถูกสร้างโดยองค์กรของคุณ ให้ใช้
<att name="sourceUrl">(local files)</att>
- หากแหล่งเป็นฐานข้อมูลท้องถิ่น และข้อมูลถูกสร้างโดยองค์กรของคุณ ให้ใช้
<att name="sourceUrl">(local database)</att>
- sourceUrl สําคัญมาก เพราะมันช่วยให้ลูกค้า ตามรอยข้อมูลต้นฉบับได้
- sourceUrl มีเอกลักษณ์เฉพาะ ERDDAP . มันไม่ได้มาจากมาตรฐานข้อมูล
standard\_name\_vocabulary
- ** standard\_name\_vocabulary ** (จาก หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นแอททริบิวต์ recommed เพื่อระบุชื่อของคําศัพท์ที่ถูกควบคุมจากตัวแปรใด standard\_name โดนจับแล้ว ยกตัวอย่างเช่น
<att name="standard\\_name\\_vocabulary">CF Standard Name Table v77</att>
สําหรับรุ่น 77 ของ ตารางชื่อมาตรฐาน CF .
subsetVariables
- ** subsetVariables ** (สําหรับชุดข้อมูล EDTable) เป็นแอททริบิวต์ทั่วไปที่ให้คุณได้ระบุรายการของจุลภาค< dataVariable >) (เปลี่ยนตัวแปรได้) destinationName s เพื่อระบุตัวแปรที่มีจํานวนค่าจํากัด (อีกวิธีหนึ่ง: ตัวแปรแต่ละค่า มีตัวซ้ํามากมาย) . ยกตัวอย่างเช่น
<att name="subsetVariables">station\\_id, longitude, latitude</att>
หากคุณลักษณะนี้ปรากฏ ชุดข้อมูลจะมี * datasetID * .ubet หน้าเว็บ (และเชื่อมโยงไปยังมันในทุกรายการข้อมูล) ซึ่งทําให้ผู้ใช้เลือกสับเซตต่างๆ ได้ได้อย่างรวดเร็วและง่าย
- ทุกครั้งที่โหลดชุดข้อมูล ERDDAP ของและร้านค้าในดิสก์โต๊ะที่มีทั้งหมดที่แตกต่างกัน () ผลรวมของสับเซต ค่าตัวแปร ERDDAP™ อ่านได้ subsetVariables ตารางและดําเนินการอย่างรวดเร็วมาก (โดยเฉพาะอย่างยิ่งเมื่อเทียบกับการอ่านแฟ้มข้อมูลจํานวนมาก หรือรับข้อมูลจากฐานข้อมูล หรือบริการภายนอกอื่น ๆ) .
- นั่นทําให้ ERDDAP™ ทํา 3 อย่าง
- มันอนุญาตให้ ERDDAP™ ใส่รายการของค่าที่เป็นไปได้ในรายการหย่อนลง ในรูปแบบการเข้าถึงข้อมูล, สร้างกราฟหน้าเว็บ, และ . ubset หน้าเว็บ
- มันอนุญาตให้ ERDDAP™ เพื่อนําเสนอ .ubet หน้าเว็บสําหรับชุดข้อมูล หน้านั้นน่าสนใจเพราะมันหาการจัดหมู่ ที่ใช้ได้ของตัวแปรเหล่านั้น, ซึ่งสําหรับชุดข้อมูล และตัวแปรบางตัวนั้นยาก (เกือบเป็นไปไม่ได้) . จากนั้น ผู้ใช้ทุกคนขอแยกส่วน () สับเซต ข้อมูลตัวแปรจะเร็วมาก
- ถ้ามีการร้องขอของผู้ใช้ ที่อ้างถึงเพียงสับเซตของตัวแปรเหล่านั้น ERDDAP™ สามารถอ่านได้อย่างรวดเร็ว subsetVariables โต๊ะและตอบสนองคําขอ ที่สามารถประหยัดเวลาและความพยายามจํานวนมาก ERDDAP .
- ลําดับ destinationName คุณกําหนดค่า s ใช้กําหนดลําดับเรียงลําดับของธาตุ * datasetID * . ubetet หน้าเว็บ, ดังนั้นคุณมักจะระบุตัวแปรที่สําคัญที่สุดก่อน, แล้วสิ่งสําคัญน้อยที่สุด ตัวอย่างเช่น สําหรับชุดข้อมูล ที่มีข้อมูลเวลา สําหรับหลายสถานี คุณอาจจะใช้ ตัวอย่างเช่น
<att name="subsetVariables">station\\_id, longitude, latitude</att>
เพื่อให้ค่าต่างๆ ถูกเรียงลําดับตามสถานี/หมายเลข
- แน่นอน, มันเป็นตัวเลือกของคุณที่จะรวมตัวแปร subsetVariables รายการ แต่การใช้งานที่แนะนําคือ
โดยทั่วไป, รวมตัวแปรที่คุณต้องการ ERDDAP™ เพื่อแสดงรายการตัวเลือกแบบหย่อนลงบนรูปแบบการเข้าถึงข้อมูล (. html) & ขาว (ลายเซ็น) เว็บเพจ
โดยทั่วไปแล้ว, จงรวมตัวแปรด้วยข้อมูลเกี่ยวกับคุณสมบัติของข้อมูล (สถานี, โปรไฟล์, และ/หรือสถานที่ต่าง ๆ ที่โดดเด่นจาก cdm\ เวลา_เวลา/_ตัวแปร . cdm\_ตําแหน่ง\_ตัวแปร . cdm\_ไดเรกทอรี\_ตัวแปร ) . มันมีค่าต่างกันไม่กี่อย่างสําหรับตัวแปรเหล่านี้ ดังนั้นพวกมันจึงทํางานได้ดีกับรายชื่อที่ลดลง
อย่ารวมตัวแปรข้อมูลใด ๆ ที่เกี่ยวข้องกับการสังเกตรายบุคคล (e.g., เวลา, อุณหภูมิ, ความไวแสง, ความเร็วปัจจุบัน) ใน subsetVariables รายชื่อ มีค่าตัวแปรเหล่านี้อยู่มากมาย ดังนั้นรายการที่ลดลงจะช้าในการโหลด และยากที่จะทํางานกับ (หรือไม่ทํางาน) .
- ถ้าจํานวนการจัดหมู่ตัวแปรเหล่านี้ แตกต่างกันมากกว่าประมาณ 1,000,000, คุณควรพิจารณาจํากัด subsetVariables ที่คุณกําหนดเพื่อลดจํานวนของการจัดหมู่ที่แตกต่างกันเป็นต่ํากว่า 1,000,000; ไม่อย่างนั้น, จํานวน * datasetID * . ubetet หน้าเว็บอาจจะถูกสร้างขึ้นอย่างช้าๆ ในกรณีสุดขั้ว ชุดข้อมูลอาจจะโหลดไม่ได้ ERDDAP™ เพราะการสร้างรายการของการจัดหมู่ที่แตกต่างกัน ใช้หน่วยความจํามากเกินไป ถ้าเป็นเช่นนั้น คุณต้องเอาตัวแปรออกไป subsetVariables รายชื่อ
- ถ้าจํานวนตัวแปรสับเซตใดๆ แตกต่างกันมากกว่า 20,000 ค่า, คุณควรพิจารณาไม่รวมตัวแปรในรายการ subsetVariables มิ ฉะนั้น ก็ ต้อง ใช้ เวลา นาน กว่า จะ ส่ง * datasetID * แทนที่ * datasetID * ลายเซ็น และ * datasetID * เว็บไซต์. html. นอก จาก นั้น ใน แมก ก็ ยาก มาก ที่ จะ ทํา การ คัด เลือก จาก รายการ ที่ ลด ลง ซึ่ง มี มาก กว่า 500 รายการ เนื่อง จาก ไม่ มี แถบ ม้วน หนังสือ. ประนีประนอมคือ: ลบตัวแปรออกจากรายการ เมื่อผู้ใช้ไม่ถูกเลือกจากรายการที่หย่อนลง
- คุณควรทดสอบข้อมูลแต่ละชุด เพื่อดูว่า subsetVariables การตั้งค่าไม่เป็นไร ถ้าเซิร์ฟเวอร์ต้นทางช้า และใช้เวลานานเกินไป (หรือล้มเหลว) ในการดาวน์โหลดข้อมูล จะทําการลดจํานวนตัวแปรที่ระบุหรือลบ subsetVariables คุณสมบัติระดับโลก
- ชุดย่อย ตัวแปรมีประโยชน์มาก ดังนั้นหากชุดข้อมูลของคุณเหมาะสม กรุณาสร้าง subsetVariables อุปนิสัย
- จาก SOS เพิ่มอัตโนมัติ
<att name="subsetVariables">station\\_id, longitude, latitude</att>
เมื่อชุดข้อมูลถูกสร้างขึ้น
- คําเตือนที่เป็นไปได้: หากผู้ใช้ใช้งาน * datasetID * .ubet หน้าเว็บเลือกค่าที่มีการขนส่งกลับ หรืออักขระบรรทัดใหม่ * datasetID * การแทนที่ล้มเหลว ERDDAP™ ไม่สามารถทํางานรอบปัญหานี้เพราะบางรายละเอียด HTML ไม่ ว่า จะ เป็น กรณี ใด ก็ ตาม เป็น แนว คิด ที่ ดี เสมอ ไป ที่ จะ ขจัด การ กลับ มา ของ รถ และ ตัว อักษร ใหม่ จาก ข้อมูล. เพื่อช่วยให้คุณแก้ไขปัญหา ถ้า EDTable subsetVariables วิธีการบันทึกข้อมูล ERDDAP ตรวจพบข้อมูลที่จะก่อให้เกิดปัญหา มันจะส่งอีเมลเตือนด้วยรายการของค่าที่อนุญาตไปยังอีเมล ทุกอย่าง ในการกําหนดที่อยู่อีเมลในการตั้งค่า.xml โดย วิธี นี้ คุณ จึง รู้ ว่า ต้อง แก้ไข อะไร.
- ตารางสับเซตที่มีมาก่อน ปกติเมื่อ ERDDAP™ โหลดชุดข้อมูล, มันต้องการแยก () ตารางข้อมูลตัวแปรจากแหล่งข้อมูล เพียงผ่านการร้องขอข้อมูลปกติ ในบางกรณี ข้อมูลนี้ยังไม่มีอยู่ในแหล่งข้อมูล หรือการดึงข้อมูลจากแหล่งข้อมูล อาจจะยากบนเซิร์ฟเวอร์ต้นทาง ถ้า เช่น นั้น คุณ สามารถ จัด ให้ มี ตาราง ที่ มี ข้อมูล ใน .json หรือแฟ้ม .csv ที่มีชื่อ แว่นขยาย / โดเมน/ serdap/ ซับเซต/ * datasetID * .json (หรือ .csv) . ถ้าวันนี้ ERDDAP™ จะอ่านมันเมื่อโหลดข้อมูลชุดและใช้มันเป็นแหล่งของข้อมูลสับเซต
- หากมีข้อผิดพลาดขณะอ่านค่านั้น แฟ้มข้อมูลจะถูกโหลดล้มเหลว
- มันต้องมีชื่อคอลัมน์เดียวกันเป๊ะ (ยกตัวอย่างเช่น กรณีเดียวกัน) เป็น< subsetVariables > แต่คอลัมน์ที่อาจจะอยู่ในลําดับใด ๆ
- มันอาจจะมีคอลัมน์พิเศษ (พวกมันจะถูกเอาออกไป และแถวที่ซ้ําซ้อนใหม่ๆ จะถูกลบออกไป) .
- ค่าที่ขาดหายไป ควรเป็นค่าที่ขาดหายไป (ไม่ใช่เลขปลอมเช่น -99) .
- .json แฟ้มอาจจะยากที่จะสร้าง แต่จัดการกับอักขระยูนิโค้ดได้ดี .json แฟ้มที่สร้างได้ง่าย ถ้าคุณสร้างมันด้วย ERDDAP .
- .csv แฟ้มที่ทํางานกับง่าย แต่เหมาะกับ ISO 8859-1 ตัวอักษรเท่านั้น แฟ้ม .csv ต้องมีชื่อคอลัมน์ แถวแรกและข้อมูลในแถวหลัง
- สําหรับชุดข้อมูลขนาดใหญ่ หรือเมื่อไหร่< subsetVariables > ถูกปรับแต่งมาให้ไม่ถูกต้อง ตารางของค่าต่าง ๆ อาจมีขนาดใหญ่พอที่จะทําให้เกิดข้อผิดพลาดมากเกินไป หรือผิดพลาดมากเกินไป คําตอบคือการเอาตัวแปรออกจากรายการ< subsetVariables > ซึ่งมีค่าจํานวนมากหรือเอาตัวแปรที่จําเป็นจนกระทั่งขนาดของตารางที่สมเหตุสมผล โดยไม่คํานึงถึงข้อผิดพลาด, ส่วนของ ERDDAP™ ที่ใช้ subsetVariables ระบบไม่ทํางานดี (เช่น หน้าเว็บโหลดช้ามาก) เมื่อมีแถวมากเกินไป (เช่น มากกว่าหนึ่งล้าน) ในโต๊ะนั่น
- subsetVariables ไม่มีอะไรเกี่ยวข้องกับการกําหนดว่าผู้ใช้ตัวแปรใดสามารถใช้ได้ในเงื่อนไข เช่น ผู้ใช้จะร้องขอสับเซตของข้อมูลได้อย่างไร ERDDAP™ ให้เงื่อนไขหมายถึงตัวแปรใดๆ เสมอ
หน่วยเวลา
เวลาและเวลา คอลัมน์ควรมี ISO 8601: 2004 (E) ปรับวันที่และเวลาของภาพ ข้อความ (ตัวอย่างเช่น 1985-01-31T15:31:00Z) .
สรุป
- สรุป (จาก CF ถึง หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นคุณสมบัติที่ครอบคลุมทั่วโลก ที่มีคําบรรยายยาวของชุดข้อมูล (ปกติจะเป็น<500 ตัวอักษร). ยกตัวอย่างเช่น
<att name="summary">VIIRSN Level-3 Standard Mapped Image, Global, 4km, Chlorophyll a, Daily. The Visible and Infrared Imager/Radiometer Suite (VIIRS) is a multi-disciplinary instrument that flies on the National Polar-orbiting Operational Environmental Satellite System (NPOESS) series of spacecraft, including the NPOESS Preparatory Project (NPP).</att>
- ทั้งชุดข้อมูลของโลก ผู้ส่งที่มา หรือทั่วโลก< addAttributes > จําเป็น ต้อง รวม เอา คุณลักษณะ นี้ เข้า ไว้ ด้วย.
- การ สรุป เป็น เรื่อง สําคัญ มาก เพราะ ทํา ให้ ลูก ค้า สามารถ อ่าน คํา อธิบาย เกี่ยว กับ ชุด ข้อมูล ที่ มี ข้อมูล มาก กว่า ชื่อ เรื่อง และ จึง เข้าใจ ได้ อย่าง รวด เร็ว ว่า ชุด ข้อมูล นั้น คือ อะไร.
- ข้อ แนะ: โปรด เขียน คํา สรุป เพื่อ จะ ใช้ ได้ กับ การ อธิบาย ข้อมูล แก่ คน ที่ คุณ พบ โดย บังเอิญ ที่ ถนน หรือ กับ เพื่อน ร่วม งาน. อย่าลืมรวม ห้า W และหนึ่ง H ใครสร้างชุดข้อมูล มี การ รวบ รวม ข้อมูล อะไร? เก็บข้อมูลเมื่อไหร่ มันเก็บที่ไหน? ทําไมมันถึงถูกเก็บ? เก็บได้ยังไง
- ERDDAP™ แสดงส่วนสรุปของฐานข้อมูล ( * datasetID * . html) สร้างหน้ากราฟ ( * datasetID * ลายเซ็น) และหน้าเว็บอื่น ๆ ERDDAP™ ใช้ คํา สรุป เมื่อ สร้าง เอกสาร เอฟ จี ดี ซี และ ISO 19115.
testOutOfDate
- ** testOutOfDate ** (ตัวเลือก ERDDAP - ระบุลักษณะข้อมูลกํากับภาพระดับโลก ไม่ใช่จากมาตรฐานใด ๆ) กําหนด, ในแบบย่อ, เมื่อข้อมูลสําหรับชุดข้อมูลระยะใกล้ ถูกพิจารณาออกจากวันที่กําหนดเป็น now- ปิดการใช้งาน ยกตัวอย่างเช่น now- 2 วันสําหรับข้อมูลที่มักจะปรากฏ 24-48 ชั่วโมงหลังจากค่าเวลา สําหรับข้อมูลการพยากรณ์ ใช้เดี๋ยวนี้ + ปิดการใช้งาน ยกตัวอย่างเช่น ปัจจุบันได้ +6 วัน สําหรับข้อมูลการพยากรณ์ ว่าจะเป็น 8 วันในอนาคต (ดู now- ปิดการใช้งาน รายละเอียดไวยากรณ์ .) หากค่าเวลาสูงสุดสําหรับชุดข้อมูลมีมากขึ้นกว่าเวลาที่ระบุ ชุดข้อมูลจะถูกพิจารณาขึ้นถึงวันที่ หากค่าเวลาสูงสุดเก่าแก่กว่าเวลาที่กําหนด ชุดข้อมูลจะถูกพิจารณาขึ้นต้นถึงวันที่ สําหรับข้อมูลนอกเวลา อาจมีปัญหากับแหล่งข้อมูล ERDDAP™ ไม่สามารถเข้าใช้งานข้อมูลจากจุดเวลาล่าสุดได้
เดอะ testOutOfDate ค่าที่ถูกแสดงเป็นคอลัมน์ใน allDatasets ชุดข้อมูล ในของคุณ ERDDAP . มันถูกใช้ในการคํานวณดัชนีของ OutDate ซึ่งเป็นอีกคอลัมน์ใน allDatasets ชุดข้อมูล หากดัชนีเป็น<1 ชุดข้อมูลถูกพิจารณาว่าทันสมัยขึ้น หากดัชนีเป็น<=1 ชุดข้อมูลถูกพิจารณาออกจากวันที่ หากดัชนีเป็น<=2 ชุดข้อมูลถือว่าเป็นวันนอกเวลามาก
เดอะ testOutOfDate ค่ายังถูกใช้โดย ERDDAP™ สร้างhttps://yourDomain/erddap/outOfDateDatasets.htmlหน้าเว็บ ( ตัวอย่าง ) ซึ่งแสดงชุดข้อมูลที่มี< testOutOfDate > ป้ายกํากับ, ชุดข้อมูลจัดอันดับโดยวิธีการที่ออกจากวันที่เป็น หากคุณเปลี่ยนประเภทแฟ้ม (จาก .html ถึง.csv .jsonlCSV . .nc . .tsv ....) คุณสามารถหาข้อมูลได้ในรูปแบบแฟ้มที่แตกต่างกัน
ถ้าเป็นไปได้ สร้าง DatatasXml เพิ่ม testOutOfDate คําพูดของโลก addAttributes ของชุดข้อมูล ค่านี้เป็นคําแนะนําที่อิงจากข้อมูลที่มีให้สร้าง DatatatetsXml ถ้าค่ามันไม่เหมาะสม ก็เปลี่ยนมันซะ
"นอกวัน" ที่นี่แตกต่างจาก<โหลดใหม่ ทุก ๆ nintuts) (โหลดทุกนาที) ซึ่งจัดการกับวิธีการอัพ-to-date ERDDAP ความรู้ของชุดข้อมูล เดอะ< testOutOfDate > ระบบสมมุติว่า ERDDAP ความรู้ชุดข้อมูล เพิ่มขึ้นจนถึงวันที่ คําถาม< testOutOfDate > การจัดการคือ: ดูเหมือนจะมีอะไรผิดปกติกับแหล่งข้อมูลหรือไม่ ซึ่งทําให้ข้อมูลล่าสุดไม่สามารถเข้าถึงได้โดย ERDDAP ?
ชื่อ
- ชื่อ (จาก CF ถึง หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นคุณสมบัติระดับโลกที่อธิบายสั้นๆของชุดข้อมูล<=95 ตัวอักษร). ยกตัวอย่างเช่น
<att name="title">VIIRSN Level-3 Mapped, Global, 4km, Chlorophyll a, Daily</att>
- ทั้งชุดข้อมูลของโลก ผู้ส่งที่มา หรือทั่วโลก< addAttributes > จําเป็น ต้อง รวม เอา คุณลักษณะ นี้ เข้า ไว้ ด้วย.
- ชื่อเรื่องสําคัญเพราะทุกรายการของชุดข้อมูลนําเสนอโดย ERDDAP (นอกจากผลการค้นหา) รายการชุดข้อมูลตามลําดับตัวอักษร โดยชื่อ ดังนั้นหากคุณต้องการระบุลําดับของชุดข้อมูล, หรือมีชุดข้อมูลรวมกัน, คุณต้องสร้างหัวเรื่องด้วยความคิดนั้น รายการ ข้อมูล มาก มาย (ตัวอย่างเช่น ในการตอบสนองต่อการค้นหาหมวดหมู่) แสดงสับเซตของรายการเต็ม และลําดับอื่น ๆ ดัง นั้น ชื่อ ของ ข้อมูล แต่ ละ ชุด ควร ตั้ง อยู่ ตาม ลําพัง.
- ถ้าชื่อเรื่องมีคําว่า "ปิดตาย" (อักษรตัวใหญ่ทั้งหมด) แล้วชุดข้อมูลจะได้รับ อันดับต่ําในการค้นหา
< axisVariable & gt;
- [ ** < axisVariable > ** ) (ตัวแปรแกน) ใช้อธิบายมิติ (ยังเรียกว่า "แกน") .
สําหรับ EDDGrid ชุดข้อมูล หนึ่งหรือมากกว่า axisVariable แท็กมีการผลิตและทั้งหมด dataVariable วินาที แบ่งปัน/ใช้ตัวแปรแกนทั้งหมด ( ทําไม? แล้วถ้าไม่ล่ะ )
มันต้องมีตัวแปรแกนในแต่ละมิติ ของตัวแปรข้อมูล ตัวแปร Axis ต้องระบุตามลําดับที่ตัวแปรข้อมูลใช้ ข้อมูลกํากับไม่สามารถใช้ได้< axisVariable > ป้ายกํากับ.) ตัวอย่างที่ตัดออกคือ
<axisVariable>
<sourceName\>MT</sourceName>
<destinationName\>time</destinationName>
<addAttributes>
<att name="units">days since 1902-01-01T12:00:00Z</att>
</addAttributes>
</axisVariable>
< axisVariable > รองรับเรือดําน้ําต่อไปนี้:
< sourceName \>
- [< sourceName –> (ชื่อแหล่ง) ชื่อแหล่งข้อมูลของตัวแปร นี่คือชื่อที่ ERDDAP™ จะใช้เมื่อร้องขอข้อมูลจากแหล่งข้อมูล นี่คือชื่อที่ ERDDAP™ จะค้นหาเมื่อข้อมูลถูกส่งคืนจากแหล่งข้อมูล นี่เป็นคดีที่อ่อนไหว นี่คือ ripped
< destinationName \>
- [< destinationName –> (ชื่อที่ใช้แทน) เป็นชื่อของตัวแปรที่จะแสดงและใช้โดย ERDDAP™ ผู้ใช้
- นี่คือ OPOTEAL ถ้าขาดคนไป sourceName ใช้แล้ว
- มันมีประโยชน์เพราะมันช่วยให้คุณเปลี่ยนความคลุมเครือหรือคี่ได้ sourceName .
- destinationName เป็นกรณีอ่อนไหว
- destinationName ต้องเริ่มด้วยตัวอักษร (A-Z, a-z) และตามด้วยตัวอักษร 0 ตัวหรือมากกว่า (A-Z, a-z, 0-9, และ_) . ('-' ได้รับอนุญาตก่อน ERDDAP™ รุ่น 1.10) ข้อจํากัดนี้จะช่วยให้ชื่อตัวแปรแกนเท่ากันได้ ERDDAP™ ในแฟ้มตอบรับ และในโปรแกรมทั้งหมด ที่ไฟล์เหล่านั้นจะถูกใช้ รวมถึงการเขียนโปรแกรมภาษา (เช่น Python . Matlab และ Java สคริปต์) ซึ่งมีข้อจํากัดคล้ายกันในชื่อตัวแปร
- ใน EDDGrid ชุดข้อมูล, ลองจิจูด, ละติจูด, ระดับความสูง, ความลึก, และเวลา ตัวแปรแกนนั้นพิเศษ
axisVariable <addAttributes>
- [< addAttributes >) (ลบทั้งเธรด) นิยาม ชุด คุณลักษณะ ต่าง ๆ ( ชื่อ = ค่า ) ซึ่งถูกเพิ่มเข้าไปในคุณสมบัติของแหล่งที่มาสําหรับตัวแปร ที่จะทําให้คุณสมบัติรวมสําหรับตัวแปร ถ้าตัวแปร ผู้ส่งที่มา หรือ< addAttributes > รวม scale\_factor &/ หรือ add\_offset คุณสมบัติ, ค่าของพวกเขาจะถูกใช้ในการแตกข้อมูลออกจากแหล่งข้อมูล ก่อนที่จะจัดจําหน่ายไปยังไคลเอนต์ (ผล ค่า =แหล่ง ค่า / * scale\_factor + add\_offset ) . ตัวแปรที่ถูกถอดออกจากกล่อง จะอยู่ในประเภทเดียวกันของข้อมูล (ยกตัวอย่างเช่น ลอย) คือ scale\_factor ถึง add\_offset ค่า
< dataVariable & gt;
- [ ** < dataVariable > ** ) (เปลี่ยนตัวแปรได้) และแท้จริงอัลกุรอานนั้น คือพระดํารัสที่จําแนก (ระหว่างความจริงกลับความเท็จ) (สําหรับชุดข้อมูลเกือบทั้งหมด) แท็กภายใน<ป้ายกํากับที่จะใช้อธิบายตัวแปรข้อมูล ต้อง มี 1 ตัว หรือ มาก กว่า นั้น. ตัวอย่างที่ตัดออกคือ
<dataVariable>
<sourceName\>waterTemperature</sourceName>
<destinationName\>sea\_water\_temperature</destinationName>
<dataType>float</dataType>
<addAttributes>
<att name="ioos\_category">Temperature</att>
<att name="long\_name">Sea Water Temperature</att>
<att name="standard\_name">sea\_water\_temperature</att>
<att name="units">degree\_C</att>
</addAttributes>
</dataVariable>
< dataVariable > รองรับเรือดําน้ําต่อไปนี้:
< sourceName & gt;
- [< sourceName >) (ชื่อแหล่ง) ชื่อแหล่งข้อมูลของตัวแปร นี่คือชื่อที่ ERDDAP™ จะใช้เมื่อร้องขอข้อมูลจากแหล่งข้อมูล นี่คือชื่อที่ ERDDAP™ จะค้นหาเมื่อข้อมูลถูกส่งคืนจากแหล่งข้อมูล นี่เป็นคดีที่อ่อนไหว นี่คือ ripped
กลุ่ม
CF เพิ่มการสนับสนุนกลุ่มด้วย CF v1.8 เริ่มต้นในปี ค.ศ. NetCDF เครื่องมือรองรับการวางตัวแปรเป็นกลุ่ม .nc แฟ้ม ในการปฏิบัตินี้เพียงหมายความว่าตัวแปรมีชื่อยาวที่ระบุกลุ่ม (วินาที) และชื่อตัวแปร เช่น กลุ่ม 1a/กลุ่ม 2c/วาร์ (help) ERDDAP™ รองรับกลุ่มโดยการแปลงค่า "/" ในตัวแปร< sourceName > ไปยัง "/_" ในตัวแปร< destinationName > ตัวอย่างเช่น กลุ่ม 1a/กลุ่ม 2c\_arName (เวลาคุณเห็นว่า, คุณควรสังเกตว่ากลุ่มนั้น ไม่ต่างไปจากการใช้ไวยากรณ์) เมื่อตัวแปรอยู่ในรายการ ERDDAP™ ตัวแปรทั้งหมดในกลุ่ม จะปรากฏร่วมกันเลียนแบบกลุ่มหลัก \[ ถ้า ERDDAP™ สร้างชุด Datatates อย่างโดดเด่น Xml, ไม่สามารถทํางานได้ดีพอ ๆ กับแฟ้มต้นทางที่มีกลุ่มข่าว, กรุณาส่งอีเมลไปยังคริส จอห์นที่โนอา โกฟ \]
DDTable from Februarys can use some excoded-sign sourceName s เพื่อกําหนดตัวแปรข้อมูลใหม่ เช่น เพื่อส่งเสริมให้คุณลักษณะระดับโลกเป็นตัวแปรข้อมูล ดู เอกสารนี้ .
HDF โครงสร้าง
เริ่มด้วย ERDDAP™ v2.12 EDDGrid แฟ้มจาก Nc และ EDDGrid แฟ้มจาก Nc ไม่สามารถอ่านข้อมูลจาก "รูปแบบ" ในได้ .nc 4 และ .hdf 4 แฟ้ม เพื่อระบุตัวแปรที่มาจากโครงสร้าง< sourceName > ต้องใช้รูปแบบ: การจัดเต็มName | สมาชิกName ตัวอย่างเช่นกลุ่ม 1/MyStrucht | เม็มเบอร์
แหล่งค่าความกว้างคงที่Name
ในชุดข้อมูล EDTable, ถ้าคุณอยากสร้างตัวแปร (หญิงสาวผิวพรรณขาวผ่อง) ที่ไม่ได้อยู่ในชุดข้อมูลแหล่งที่มา ใช้:
<sourceName>=*fixedValue*</sourceName>
เครื่องหมายเริ่มต้นเท่ากับ ERDDAP™ ที่คงที่ ค่าจะเป็นไปตามนั้น
- สําหรับตัวแปรตัวเลข ค่าคงที่ต้องเป็นค่าจํากัดเดียว หรือ ค่า NN (การไม่แยแส, เช่น, –=NNN) .
- สําหรับตัวแปรสตริง ค่าคงที่ต้องเป็นซิงเกิล ข้อความแบบ Jon- Style (มีอักขระพิเศษหนีออกมาด้วย\ ตัวอักษร) , e.g., –=. ของฉัน\ "พิเศษ\" ข้อความ".
- สําหรับตัวแปรเวลา "seconds since 1970-01-01T00:00:00Z" และใช้ หน่วย = วินาที ตั้งแต่ 1970-01-01.00 น.
ป้ายกํากับอื่น ๆ สําหรับ< dataVariable > ทํางานราวกับว่านี่เป็นตัวแปรปกติ ยกตัวอย่างเช่น การสร้างตัวแปรที่เรียกว่าความสูง ด้วยค่าคงที่ของ 0.0 (ลอย) ใช้:
<sourceName>=0</sourceName>
<destinationName\>altitude</destinationName>
<dataType>float</dataType>
สําหรับสถานการณ์ผิดปกติ, คุณสามารถระบุ actual\_range เพิ่มแอททริบิวต์, ซึ่งจะแทนที่ค่าที่คาดหวังของปลายทางMin และปลายทาง Max (ซึ่งจะเหมือนกับ ค่า) .
แหล่งของสคริปต์Name
เริ่มด้วย ERDDAP™ v2.10, ใน เลือกแฟ้ม . เพิ่มข้อมูล หรือ แก้ไขโครงการหลัก... ชุดข้อมูล,< sourceName > สามารถ นิพจน์ (สมการที่แทนค่าได้ ค่าเดียว) ใช้รูปแบบ
<sourceName>=*expression*</sourceName>
หรือสคริปต์ (ชุดข้อความที่จะคืนค่าเป็นค่าเดียว) ใช้รูปแบบ
<sourceName>=*script*</sourceName>
ERDDAP™ ขึ้นอยู่กับ โครงการ Apache Java นิพจน์ภาษา (JEXL) (ใบอนุญาต: อาปาเช ) เพื่อประเมินนิพจน์และประมวลผลสคริปต์ การคํานวณสําหรับตัวแปรใหม่ที่กําหนด จะทําภายในแถวเดียวของผลลัพธ์ หลายครั้งสําหรับทุกแถว นิพจน์และสคริปต์ที่ใช้ Java - และ Java ไวยากรณ์เหมือนสคริปต์และสามารถใช้ใด ๆ ของ ผู้ดําเนินการและวิธีการต่าง ๆ ที่ถูกสร้างขึ้นใน JEXL . สคริปต์สามารถใช้วิธีการต่าง ๆ ได้ (ฟังก์ชัน) จากคลาสนี้:
- ปฏิทิน 2 ที่จะใช้ห่อกระดาษสําหรับบางตัวแบบคงที่, เวลา และวิธีการเกี่ยวกับปฏิทินในคอม.โคโรต.util.Calendar2 ( สัญญาอนุญาตสิทธิ์ ) . ยกตัวอย่างเช่น ปฏิทิน2. parase topoch sesetcords ( เวลาต้นทาง, วันที่ รูปแบบเวลา ) จะวิเคราะห์แหล่ง ข้อความเวลาผ่านข้อความเวลาและคืน "seconds since 1970-01-01T00:00:00Z" (ยุค) สองเท่า
- คณิตศาสตร์ ซึ่งเป็นห่อสําหรับเกือบทั้งหมด ของวิธีการคงที่คณิตศาสตร์ที่เกี่ยวข้องกับ จาวา แลง คณิตศาสตร์ . ตัวอย่างเช่น คณิตศาสตร์.atan2 ( y, x ) รับค่าพิกัดสี่เหลี่ยม (y, x) และกลับมาใช้ค่าพิกัดขั้ว (เพิ่มคู่คู่ด้วย \[ r, ทีต้า \] ) .
- คณิตศาสตร์ 2 ซึ่งเป็นห่อสําหรับเกือบทั้งหมด ของวิธีการคงที่คณิตศาสตร์ที่เกี่ยวข้องกับ com.coort.util คณิตศาสตร์ 2 ( สัญญาอนุญาตสิทธิ์ ) . ยกตัวอย่างเช่น คณิตศาสตร์2 รอบ ( d, เส้นทแยง ) จะปัด d เป็นจํานวนหลักที่ระบุไว้ทางด้านขวาของทศนิยม
- สายซึ่งช่วยให้คุณเข้าถึงวิธีการทั้งหมดคงที่สตริงที่เกี่ยวข้องใน จาวา แลง ข้อความ . วัตถุสตริงใน ERDDAP™ นิพจน์และสคริปต์สามารถใช้ค่าใด ๆ ที่สัมพันธ์กัน Java วิธีที่อธิบายในจาวา แลง เอกสาร ยกตัวอย่างเช่น สตริง คุณค่าของ (_) จะแปลงค่าคู่ d เป็นข้อความ (แม้ว่าคุณสามารถใช้ ""+d) .
- สตริง2 ซึ่งเป็นห่อสําหรับส่วนใหญ่ของ คงที่, สาย และวิธีการเกี่ยวกับอาร์เรย์ใน com.coort.util.String2 ( สัญญาอนุญาตสิทธิ์ ) . ยกตัวอย่างเช่น สาย2 .z ลวดลาย ( ตัวเลข, ตัวเลข ) จะบวก 0 ทางซ้ายของเส้นจํานวน เพื่อให้จํานวนหลักทั้งหมดเป็น ndigits (e.g., สตริง2 .z ลวดลาย ("6", 2) จะกลับมา "06") .
- แถว ซึ่งมีวิธีการไม่ผิดปกติในการเข้าถึงข้อมูล จากคอลัมน์ต่างๆ ในแถวปัจจุบันของตารางข้อมูล ตัวอย่างเช่น แถว.โคลัมน์สตอริ่ง ("ปี") อ่านค่าจากคอลัมน์ "ปี" เป็นสตริงในขณะที่แถว. โคลัมน์ อินท ("ปี") อ่านค่าจากคอลัมน์ "ปี" เป็นจํานวนเต็ม
ด้วยเหตุผลความปลอดภัย การแสดงออกและบทไม่สามารถใช้คลาสอื่นได้ นอกจาก 6 คนนั้น ERDDAP™ ใช้การจํากัดนี้โดยการสร้างรายการดําปริยาย (แบล็คลิสต์ทุกคลาส) และในบัญชีสีขาว (ซึ่งทําให้ชั้นเรียน 6 วิชา ดังที่กล่าวไว้ก่อนหน้านี้) . หากคุณต้องการวิธีอื่น และ/หรือคลาสอื่น ๆ เพื่อทํางาน โปรดส่งอีเมลไปยังคริส จอห์นที่โนอา โกฟ
ความเปรียบต่าง
สําหรับ EDTable from Februarys language sets มีจํานวนน้อยมากๆ (อาจจะไม่สามารถสังเกตเห็นได้) ชะลอการขอข้อมูลจากตัวแปรเหล่านี้ สําหรับ EDTable from Datatatabase มีโทษปรับความเร็วสูงสําหรับการร้องขอที่รวมถึงข้อจํากัดในตัวแปรเหล่านี้ (เช่น).<40) เนื่องจากข้อจํากัดไม่สามารถส่งต่อไปยังฐานข้อมูลได้ ดังนั้นฐานข้อมูลต้องคืนข้อมูลให้ข้อมูลมากขึ้น ERDDAP™ (ซึ่งใช้เวลามาก) ดังนั้น ERDDAP™ สามารถสร้างตัวแปรใหม่ และใช้เงื่อนไข เพื่อหลีกเลี่ยงกรณีที่เลวร้ายที่สุด (ไม่มีข้อจํากัดใดๆ ที่จะถูกส่งต่อไปยังฐานข้อมูล) . ERDDAP™ ใส่ข้อความผิดพลาดเพื่อให้ฐานข้อมูลไม่ต้อง คืนเนื้อหาทั้งหมดของตาราง (ถ้าคุณอยากข้ามนี่, ให้เพิ่มเงื่อนไขไปยังคอลัมน์ที่ไม่ใช่บรรทัด ซึ่งจะเป็นจริงเสมอ, เช่น, & เวลา<3000-01-01.) ด้วยเหตุผลนี้ ด้วย EDTable from Datatabase มันอาจจะดีกว่าถ้าจะสร้างคอลัมน์ที่ตั้งอยู่ในฐานข้อมูล sourceName =สคริปต์ใน ERDDAP .
การ มอง ใน แง่ ดี (หรือสคริปต์) ใช้แล้ว:
ในการตอบรับคําขอของผู้ใช้สําหรับข้อมูลแท็บมอง ERDDAP™ ได้ข้อมูลจากชุดไฟล์ต้นฉบับ แฟ้มแต่ละแหล่งจะสร้างตารางดิบ (ตรงจากแหล่งที่มา) ข้อมูล ERDDAP™ แล้วจะให้ผ่านตารางข้อมูลดิบ, แถวต่อแถว, แล้วหาค่าพจน์หรือสคริปต์ทุกครั้ง, เพื่อสร้างคอลัมน์ใหม่ sourceName .
สร้าง DatatasXml
หมายเหตุการสร้าง Datatas Xml ไม่สนใจเลย เมื่อจําเป็นในการสร้างตัวแปรด้วย< sourceName >= เงื่อนไข </ sourceName > คุณต้องสร้างตัวแปร datasets.xml ด้วยมือ
ตัวอย่างนิพจน์:
นี่เป็นตัวอย่างที่สมบูรณ์ของตัวแปรข้อมูล ที่ใช้การแสดงออกในการสร้างคอลัมน์ใหม่ของข้อมูล เราคาดหวังว่าตัวอย่างเหล่านี้ (ขอสาบานต่อมะลาอิกะฮ. ผู้จัดสรรการงาน) จะครอบคลุมประมาณ 95% ของการใช้นิพจน์ทั้งหมด sourceName เอส.
จับคู่ "วันที่" และ "time" คอลัมน์ต่าง ๆ ไปยังคอลัมน์เวลารวม:
<dataVariable>
<sourceName>=Calendar2.parseToEpochSeconds(row.columnString("date") + "T" +
row.columnString("time") + "Z", "yyyy-MM-dd'T'HH:mm:ss'Z'")</sourceName>
<destinationName>time</destinationName>
<dataType>double</dataType>
<addAttributes>
<att name="units">seconds since 1970-01-01</att>
</addAttributes>
</dataVariable>
นั่น sourceName การแสดงออกทําให้ "time" คอลัมน์โดยการปรับค่าของสตริงจากวันที่ ( yyyy-MM-dd ) ถึง "time" (HH: MM:s) คอลัมน์ในแต่ละแถวของแฟ้มต้นฉบับ และด้วยการแปลงสตริงเป็น "seconds since 1970-01-01" (ยุค) สองเท่า
หรือ และแน่นอน คุณจะต้องปรับแต่งข้อความรูปแบบของเวลา เพื่อจัดการกับรูปแบบเฉพาะของข้อมูลแต่ละชุด เอกสารเวลา .
ในทางเทคนิคแล้ว คุณไม่จําเป็นต้องใช้ ปฏิทิน2. parase topoch sesetcords () ในการแปลงวันที่รวม+เวลารวมเป็นลําดับชั้น ๆ คุณสามารถเพียงแค่ผ่านวันที่ + เวลาสตริง ERDDAP™ และระบุรูปแบบ (เช่น) yyyy-MM-dd 'T'HⓂ️ s'Z') ผ่านคุณสมบัติของหน่วย แต่มีข้อได้เปรียบที่สําคัญในการแปลงเป็นรุ่น Septembers -- โดยเฉพาะ, EDTable from Files สามารถติดตามค่าต่าง ๆ ของเวลาได้อย่างง่ายดาย ในแต่ละแฟ้มและดังนั้นจึงตัดสินใจได้อย่างรวดเร็วว่า จะค้นหาในแฟ้มที่ให้ เมื่อตอบสนองต่อการร้องขอที่มีข้อจํากัดเวลา
ปัญหาที่เกี่ยวข้องคือ จําเป็นที่จะสร้างคอลัมน์วัน+เวลารวม จากแหล่งที่มีปี เดือน วัน ชั่วโมง นาที คําตอบนั้นคล้ายกันมาก, แต่คุณมักต้องใช้สนามหลายไร่, ตัวอย่างเช่น, เดือน (1 - 12) & วันที่ (1 - 31) มี 2 หลักเสมอ. นี่เป็นตัวอย่างของปี เดือน วันที่
<sourceName>=Calendar2.parseToEpochSeconds(row.columnString("year") +
String2.zeroPad(row.columnString("month"), 2) +
String2.zeroPad(row.columnString("date"), 2), "yyyyMMdd")</sourceName>
ปัญหาที่เกี่ยวข้องคือ ความจําเป็นที่จะสร้างแนวละติจูด หรือแนวเส้นแวง โดยการรวมข้อมูลในตารางแหล่ง ยกตัวอย่างเช่น
<sourceName>=row.columnInt("deg") + row.columnInt("min")/60.0 +
row.columnInt("sec")/3660.0</sourceName>
แปลงคอลัมน์ที่ชื่อ "ลอน" โดยมีค่า ลองจิจูดจาก 0 - 360 ออกมาเป็นคอลัมน์ชื่อ "ลองจิจูด" โดยมีค่าจาก - 1801– 180?
<dataVariable>
<sourceName>=Math2.anglePM180(row.columnDouble("lon"))</sourceName>
<destinationName>longitude</destinationName>
<dataType>double</dataType>
<addAttributes>
<att name="units">degrees\\_east</att>
</addAttributes>
</dataVariable>
นั่น sourceName นิพจน์ทําให้คอลัมน์ "ความยาว" ใหม่ โดยการแปลงค่าคู่จากคอลัมน์ "ลอน" ในแต่ละแถวของแฟ้มต้นฉบับ (สมมุติว่ามีค่า 0 - 360 ค่า) และเปลี่ยนให้เป็น -80 เป็น 180 สองเท่า
ถ้าคุณอยากแปลงค่า ลองจิจูดของ - 1801 - 180x เป็น 0 - 360x, ใช้
<sourceName>=Math2.angle0360(row.columnDouble("lon"))</sourceName>
การ ระบุ เส้น ลองจิจูด สอง เส้น: ถ้าชุดข้อมูลมีตัวแปร ลองจิจูด 2 ตัว, เราแนะนําให้ใช้ destinationName =ความยาวรอบ - 1801 - 180 ตัวแปร destinationName =ลอง 360 (และชื่อยาว=\"ยาว 0-360") สําหรับตัวแปร 0 - 3600,000 นี่สําคัญมาก เพราะในบางครั้งผู้ใช้จะใช้การค้นหาขั้นสูง เพื่อค้นหาข้อมูลภายในรัศมีที่ระบุ การ ค้น หา ดัง กล่าว จะ ใช้ ได้ ผล ดี กว่า ถ้า ลอง ลองจิจูด มี ค่า ของ ข้อมูล ทุก อย่าง เสมอ ต้น เสมอ ปลาย - 1802 บาท. นอกจากนี้ ข้อมูล ชุดข้อมูลต่าง ๆ\_lon_min, ภูมิศาสตร์ _lon_max, Eastest/Easting and Eastest Authority\ คุณสมบัติระดับโลกจะถูกตั้งค่าในรูปแบบที่สอดคล้องกัน (ด้วยค่าลองติจูด - 180 ถึง 180?) .
แปลงคอลัมน์ชื่อ "TempF" ด้วยค่าอุณหภูมิในหน่วยองศา\_ F เป็นคอลัมน์ที่ชื่อ "TempC" ที่มีอุณหภูมิเป็นองศา/_ ซี:
<dataVariable>
<sourceName>=(row.columnFloat("tempF")-32)\\*5/9</sourceName>
<destinationName>tempC</destinationName>
<dataType>float</dataType>
<addAttributes>
<att name="units">degrees\\_C</att>
</addAttributes>
</dataVariable>
นั่น sourceName นิพจน์ทําให้คอลัมน์ "TempC" ใหม่ โดยการแปลงดีกรีลอย\ _ ค่า F จากคอลัมน์ "TempF" บนแต่ละแถวของแฟ้มต้นฉบับ เข้าสู่ระดับสีลอย / _ ค่า C
โปรดสังเกตว่าชุดข้อมูลของคุณ สามารถใช้ได้ทั้งชั่วคราวเดิม ตัวแปร F และค่าชั่วคราวตัวใหม่ C ตัวแปรโดยมีตัวแปรอีกตัว
<sourceName>tempF</sourceName>
แปลงลม "สปีด" และ "ทิศทาง" เป็นคอลัมน์สองคอลัมน์ที่มีองค์ประกอบ u,v
- เพื่อสร้างตัวแปร u, ใช้
<sourceName>=row.columnFloat("speed") \\* Math.cos(row.columnFloat("direction"))</sourceName>
- เพื่อสร้างตัวแปร v, ใช้
<sourceName>=row.columnFloat("speed") \\* Math.sin(row.columnFloat("direction"))</sourceName>
หรือ, จาก u,v:
- เพื่อให้ตัวแปรความเร็วใช้
<sourceName>=Math.atan2(row.columnDouble("v"), row.columnDouble("u"))\\[0\\]</sourceName>
- เพื่อกําหนดตัวแปร, ใช้
<sourceName>=Math.toDegrees(Math.atan2(row.columnDouble("v"), row.columnDouble("u"))\\[1\\])</sourceName>
ตัวอย่างสคริปต์:
นี่เป็นตัวอย่างของการใช้สคริปต์ ไม่ใช่แค่การแสดงออก sourceName . เราคาดหวังว่าบทนั้น ตรงข้ามกับการแสดงออก จะไม่ต้องการบ่อยๆ ในกรณีนี้ เป้าหมายคือการคืนคุณค่าที่ไม่ใช่ NNN (-99) สําหรับค่าอุณหภูมินอกช่วงเฉพาะ หมายเหตุว่าสคริปต์เป็นส่วนหนึ่งของหลัง "="
<dataVariable>
<sourceName>=var tc=row.columnFloat("tempC"); return tc>35 || tc<-5? -99.0f : tc\\*9/5+32;</sourceName>
<destinationName>tempF</destinationName>
<dataType>float</dataType>
<addAttributes>
<att name="units">degrees\\_F</att>
</addAttributes>
</dataVariable>
แฟล็กแข็ง
หากคุณเปลี่ยนนิพจน์หรือสคริปต์ที่ถูกนิยามไว้ sourceName คุณต้องตั้ง แฟล็กแข็ง สําหรับชุดข้อมูล ERDDAP™ ลบข้อมูลทั้งหมดที่มีแคชสําหรับชุดข้อมูล และอ่านข้อมูลใหม่ทุกแฟ้ม (ใช้นิพจน์หรือสคริปต์ตัวใหม่) ครั้งต่อไป มันจะโหลดข้อมูล อีกทางเลือกหนึ่ง คุณสามารถใช้ ถอดรหัส ซึ่งเทียบเท่าการตั้งธงแข็ง
ร้อยละ
นี่มันไม่ค่อยเกี่ยวข้องเท่าไหร่ เพราะการแสดงออกและบทเขียน datasets.xml ซึ่งเป็นเอกสาร XML คุณต้องเข้ารหัสเปอร์เซ็นต์ใด ๆ<, > และอักขระในนิพจน์และสคริปต์เป็น<สืบค้นเมื่อ & gt; และ & amp;
ปัญหา ธรรมดา
ปัญหาทั่วไปก็คือ คุณสร้างตัวแปรขึ้นมา sourceName = เงื่อนไข แต่จํานวนคอลัมน์ของข้อมูลที่ได้นั้น มีค่าหายไป ทางเลือก, บางแถวของคอลัมน์ใหม่ มีค่าหายไป และคุณคิดว่ามันไม่ควร ปัญหาหลักก็คือ มีบางอย่างผิดปกติกับการแสดงออก ERDDAP กําลังแปลงข้อผิดพลาดนี้ให้เป็นค่าที่หายไป เพื่อแก้ไขปัญหา
- ดูที่การแสดงออกเพื่อดูว่าปัญหาคืออะไร
- ดูใน ปูมบันทึก. txt แสดงข้อความผิดพลาดแรกระหว่างการสร้างคอลัมน์ใหม่
สาเหตุ ทั่ว ไป คือ:
- คุณทําคดีผิด การแสดงออกและสคริปต์เป็นกรณีอ่อนไหว
- คุณยกเลิกชื่อชั้นเรียน ตัวอย่างเช่น คุณต้องใช้คณิตศาสตร์ () ไม่ใช่แค่ abs () .
- คุณไม่ได้ทําการแปลงประเภท ตัวอย่างเช่น, หากชนิดของค่าพารามิเตอร์เป็นค่าสตริง และคุณมี ค่าสองเท่า, คุณต้องแปลงค่าเป็นสองเท่าเป็นข้อความ "+d"
- ชื่อคอลัมน์ในนิพจน์ไม่ตรงกับชื่อคอลัมน์ในแฟ้ม (หรือชื่ออาจแตกต่างกันในบางแฟ้ม) .
- มีข้อผิดพลาดในไวยากรณ์ในนิพจน์ (เช่น หายไปหรือพิเศษ) ).
ถ้าคุณติด หรือต้องการความช่วยเหลือ โปรดรวมรายละเอียด ดูด้วย ส่วนของการได้รับการสนับสนุนเพิ่มเติม .
< destinationName & gt;
- [< destinationName >) (ชื่อที่ใช้แทน) -- ชื่อของตัวแปรที่จะแสดงและใช้โดย ERDDAP™ ผู้ใช้
- นี่คือ OPOTEAL ถ้าขาดคนไป sourceName ใช้แล้ว
- มันมีประโยชน์เพราะมันช่วยให้คุณเปลี่ยนความคลุมเครือหรือคี่ได้ sourceName .
- destinationName เป็นกรณีอ่อนไหว
- destinationName ต้องเริ่มด้วยตัวอักษร (A-Z, a-z) และตามด้วยตัวอักษร 0 ตัวหรือมากกว่า (A-Z, a-z, 0-9, และ_) . ('-' ได้รับอนุญาตก่อน ERDDAP™ รุ่น 1.10) ข้อห้ามนี้จะช่วยให้ชื่อตัวแปรข้อมูลเหมือนกันได้ ERDDAP™ ในแฟ้มตอบรับ และในโปรแกรมทั้งหมด ที่ไฟล์เหล่านั้นจะถูกใช้ รวมถึงการเขียนโปรแกรมภาษา (เช่น Python . Matlab และ Java สคริปต์) ซึ่งมีข้อจํากัดคล้ายกันในชื่อตัวแปร
- ในชุดข้อมูล EDTable ลองจิจูด, ละติจูด, ระดับความสูง (ความลึก) และเวลา ตัวแปรข้อมูลพิเศษ
<ข้อมูล ประเภท
- [<ข้อมูล (# ดาต้าชนิด) -- กําหนดชนิดของข้อมูลที่มาจากแหล่งที่มา (ตัว อย่าง เช่น ใน บาง กรณี เมื่อ อ่าน ข้อมูล จาก แฟ้ม ASCII มัน จะ ระบุ วิธี เก็บ ข้อมูล ที่ มา จาก แหล่ง ข้อมูล.)
- โดย ผู้ เขียน ตื่น เถิด! ประเภทชุดข้อมูลที่ต้องการแบบนี้ dataVariable S คือ: EDDGrid fromXxx files, EDTable fromXxx files, EDTable fromM WFS EDTable from Nos, EDTABL จาก SOS . ประเภทข้อมูลอื่น ๆ ไม่สนใจป้ายนี้ เพราะพวกเขาได้ข้อมูลจากแหล่งที่มา
- ค่าที่ใช้ได้เป็นมาตรฐานใด ๆ ERDDAP™ ชนิดของข้อมูล บวก บูเลียน (ดูด้านล่าง) . ชื่ออุปทานของข้อมูล คือ แยกแยะกรณี
ข้อมูล
- "บูลีน" เป็นกรณีพิเศษ
- ภายใน ERDDAP™ ไม่สนับสนุนคนประเภทบูเลอัน เพราะพวกบูเลียนไม่สามารถเก็บค่าได้ และประเภทแฟ้มส่วนใหญ่ ไม่สนับสนุนพวกบูเลแกน แล้วก็ DAP ไม่สนับสนุนดอกบูเลนส์ จึงไม่มีวิธีการทั่วไปในการค้นหาตัวแปรบูเลอัน
- ระบุ "บูเลอัน" สําหรับข้อมูล พิมพ์ datasets.xml จะทําให้ค่าบูเลอันถูกจัดเก็บและแทนที่ด้วยค่า: 0 = เท็จ, 1 = true, 127= missing\_value .
- ผู้ใช้สามารถกําหนดเงื่อนไขต่าง ๆ ได้ โดยใช้ค่าตัวเลข (ยกตัวอย่างเช่น "ชีวิต=1") .
- ERDDAP™ ผู้ดูแลระบบบางครั้งต้องใช้ข้อมูล "bolean" พิมพ์ datasets.xml เพื่อบอกว่า ERDDAP™ วิธีโต้ตอบกับแหล่งข้อมูล (e.g., เพื่ออ่านค่าบูเลอันจากฐานข้อมูลความสัมพันธ์ และแปลงมันเป็น 0, 1, หรือ 127) .
- หากคุณต้องการเปลี่ยนตัวแปรข้อมูลจากแฟ้มต้นฉบับ (ยกตัวอย่างเช่น สั้น) ไปยังข้อมูลอื่น ๆ พิมพ์ชุดข้อมูล (ตัวอย่างเช่น Int) อย่าใช้<กําหนดสิ่งที่คุณต้องการ (มันใช้ได้กับชุดข้อมูลบางอย่าง แต่ไม่ใช่ชุดอื่น) แทน:
- ใช้<แฟ้มภาพต่าง ๆ: เพื่อกําหนดสิ่งที่อยู่ในแฟ้ม (ยกตัวอย่างเช่น สั้น) .
- ใน< addAttributes > สําหรับตัวแปร, เพิ่ม scale\_factor แอททริบิวต์ด้วยข้อมูลใหม่ ชนิด (ตัวอย่างเช่น Int) และตัวอย่างเช่น มูลค่า 1
<att name="scale\\_factor" type="int">1</att>
dataVariable <addAttributes>
- [< addAttributes >) (ลบทั้งเธรด) -- กําหนดชุดของคุณลักษณะ ( ชื่อ = ค่า ) ซึ่งถูกเพิ่มเข้าไปในคุณสมบัติของแหล่งที่มาสําหรับตัวแปร ที่จะทําให้คุณสมบัติรวมสําหรับตัวแปร นี่คือ OPOTEAL ถ้าตัวแปร ผู้ส่งที่มา หรือ< addAttributes > รวม scale\_factor &/ หรือ add\_offset คุณสมบัติ, ค่าของพวกเขาจะถูกใช้ในการแยกข้อมูลจากแหล่ง ก่อนที่จะแจกจ่ายไปยังไคลเอนต์ ตัวแปรที่ถูกถอดออกจากกล่อง จะอยู่ในประเภทเดียวกันของข้อมูล (ยกตัวอย่างเช่น ลอย) คือ scale\_factor ถึง add\_offset ค่า
ตัวแปร<addAttributes>
-
[ ** ตัวแปรของแอททริบิวต์ / ตัวแปร< addAttributes > ** ) (ลบทั้งเธรด) --< addAttributes > เป็นป้าย OPOICE ภายใน< axisVariable > หรือ< dataVariable ป้ายกํากับที่ใช้ในการเปลี่ยนคุณสมบัติของตัวแปร
- ** ใช้ตัวแปร< addAttributes > เพื่อเปลี่ยนคุณสมบัติของตัวแปร ** ERDDAP™ เพิ่มคุณสมบัติของตัวแปรจากแหล่งข้อมูล** ผู้ส่งที่มา และตัวแปร addAttributes ซึ่งคุณนิยามไว้ datasets.xml (ซึ่งมีลําดับความสําคัญ) เพื่อให้ตัวแปรเป็น " รวมผู้จําหน่าย ** "ซึ่งเป็นสิ่งที่ ERDDAP™ ผู้ใช้เห็น ดังนั้นคุณสามารถใช้ addAttributes เพื่อกําหนดค่าของสื่อต้นฉบับ, เพิ่มคุณสมบัติใหม่, หรือลบคุณสมบัติต่าง ๆ
- ดู [] ** < addAttributes > ข้อมูล (เพิ่มรายการแจกจ่าย) ซึ่งใช้กับทั้งโลกและตัวแปร < addAttributes > ** .
- ERDDAP™ จง มอง หา และ ใช้ คุณลักษณะ เหล่า นี้ ใน หลาย ๆ ทาง. ตัวอย่างเช่น ค่าแถบสีจําเป็นเพื่อให้ตัวแปรใช้ได้ผ่านทาง WMS เพื่อให้แผนที่สามารถ ทําได้ด้วยแท่งสีที่สอดคล้องกัน
- ลองจิจูดละติจูด ระดับความสูง (ความลึก) และตัวแปรเวลา หาข้อมูลกํากับภาพที่เหมาะสมโดยอัตโนมัติ (ยกตัวอย่างเช่น หน่วย ) .
- ตัวอย่าง< addAttributes > สําหรับตัวแปรข้อมูลคือ:
<addAttributes>
<att name="actual\_range" type="doubleList">10.34 23.91</att>
<att name="colorBarMinimum" type="double">0</att>
<att name="colorBarMaximum" type="double">32</att>
<att name="ioos\_category">Temperature</att>
<att name="long\_name">Sea Surface Temperature</att>
<att name="numberOfObservations" />
<att name="units">degree\_C</att>
</addAttributes>
แอตทริบิวต์ตัวเลขว่าง (ถ้ามี) ที่จะถูกลบออกจากรอบสุดท้าย รวมของคุณสมบัติ
- การ จัด เตรียม ข้อมูล นี้ ช่วย ได้ ERDDAP™ ทํางานที่ดีขึ้น และช่วยผู้ใช้ ให้เข้าใจชุดข้อมูล ข้อมูลดี ๆ ทําให้ข้อมูลใช้ได้ ข้อมูลกํากับภาพไม่เพียงพอ ทําให้ชุดข้อมูลไร้ประโยชน์ กรุณาใช้เวลาทําผลงานที่ดีกับคุณสมบัติของข้อมูลกํากับภาพ
หมายเหตุเกี่ยวกับคุณลักษณะต่าง ๆ ที่พิเศษ ERDDAP .
actual\_range
- ** actual\_range ** เป็นคุณสมบัติตัวแปรที่ตอบได้ ยกตัวอย่างเช่น
<att name="actual\_range" type="floatList"\>0.17 23.58</att>
- คุณสมบัตินี้มาจาก CDC COARDS ถึง CF 1. 7+ มาตรฐานข้อมูล
- ถ้าอยู่, มันต้องเป็นลําดับของข้อมูลสองประเภท ที่ใช้เป็นชนิดของตัวแปรปลายทาง โดยระบุค่าจริง (ไม่ใช่ทฤษฎี หรือการอนุญาต) ค่าข้อมูลน้อยที่สุดและสูงสุดสําหรับตัวแปรนั้น
- ถ้าข้อมูลถูกบรรจุด้วย scale\_factor &/ หรือ add\_offset . actual\_range ต้องเก็บค่าต่าง ๆ และเก็บข้อมูลประเภทเดียวกับ ค่าที่ถูกถอดออกจากกระเป๋า
- สําหรับข้อมูลบางส่วน (ยกตัวอย่างเช่น EDTable จาก... ชุดข้อมูลแฟ้ม) . ERDDAP™ กําหนด actual\_range แต่ละตัวแปรและตั้งค่า actual\_range อุปนิสัย ด้วยแหล่งข้อมูลอื่น (ยกตัวอย่างเช่น ฐานข้อมูลความสัมพันธ์ คาสเซนดร้า DAP ใช่ Hyrax ) มันอาจจะเป็นปัญหาหรือเป็นภาระสําหรับแหล่งที่มาที่จะคํานวณช่วงดังนั้น ERDDAP™ ไม่ได้ขอ ในกรณีนี้ มันจะดีที่สุดถ้าคุณตั้ง actual\_range (โดยเฉพาะอย่างยิ่งสําหรับ ลองติจูด, ระดับความสูง, ความลึก, และตัวแปรเวลา) โดยเพิ่ม actual\_range คุณสมบัติของแต่ละตัวแปร< addAttributes >) (เพิ่มรายการแจกจ่าย) สําหรับชุดข้อมูลใน datasets.xml ยกตัวอย่างเช่น
<att name="actual\_range" type="doubleList"\>-180 180</att>
- เป็นตัวเลข ตัวแปรเวลาและเวลา ค่าที่ระบุไว้ควรจะเป็นแหล่งที่เกี่ยวข้อง (ไม่ใช้ปลายทาง) ค่าตัวเลข ตัวอย่างเช่น หากค่าเวลาแหล่งที่มาถูกเก็บเป็น "วันตั้งแต่ 1985-01-01" แล้ว actual\_range ควรกําหนดใน "วันตั้งแต่ 1985-01-01" และถ้าคุณต้องการที่จะอ้างอิงตอนนี้ เป็นค่าที่สองสําหรับข้อมูล ใกล้เวลาที่มีการปรับปรุงระยะ คุณควรใช้ NN ตัวอย่างเช่น เพื่อระบุช่วงข้อมูล 1985-01-17 จนกระทั่งปัจจุบัน ให้ใช้
<att name="actual\_range" type="doubleList"\>16 NaN</att>
- ถ้า actual\_range เป็นที่รู้จัก) ERDDAP™ คํานวณหรือเพิ่มมันเข้าไป< addAttributes >), ERDDAP™ จะแสดงไปยังผู้ใช้บนแบบฟอร์มเข้าใช้งานข้อมูล ( * datasetID * . html) และสร้างกราฟหน้าเว็บ ( * datasetID * ลายเซ็น) สําหรับชุดข้อมูลและใช้มันเมื่อสร้าง FGDC และ ISO 19115 ข้อมูล อีก 7 วันสุดท้าย actual\_range ใช้เป็นสับเซตเวลาปริยาย
- ถ้า actual\_range เป็นที่ทราบกันว่า ผู้ใช้สามารถใช้ นาที () และสูงสุด () ฟังก์ชัน ในการร้องขอ ซึ่งมักมีประโยชน์มาก
- สําหรับ EDTable... ข้อมูลชุด ถ้า actual\_range เป็นที่รู้จัก (คุณกําหนดมันหรือโดย ERDDAP™ คํานวณมัน) . ERDDAP™ จะสามารถปฏิเสธการขอข้อมูลนอกขอบเขตได้อย่างรวดเร็ว ตัวอย่างเช่น หากค่าเวลาต่ําสุดของข้อมูล ตรงกับ 1985-01-17 แล้วร้องขอข้อมูลทั้งหมดจาก 1985-01-01-01-01-01-16 จะถูกปฏิเสธทันทีด้วยข้อความผิดพลาด "การสอบถามของคุณไม่มีผลลัพธ์ที่ตรงกัน". นี่ทําให้ actual\_range ชิ้นส่วนที่สําคัญมากของข้อมูล เท่าที่สามารถบันทึก ERDDAP™ ความพยายามอย่างมากและประหยัดเวลาของผู้ใช้ และนี่เน้นว่า actual\_range ค่าต้องไม่แคบกว่าช่วงจริงของข้อมูล; ไม่อย่างนั้น ERDDAP™ อาจ พูด ผิด ๆ "ไม่มีข้อมูลที่ตรงกัน" เมื่อในความเป็นจริงแล้วมีข้อมูลที่เกี่ยวข้อง
- เมื่อผู้ใช้เลือกชุดข้อมูลและร้องขอประเภทแฟ้มที่รวมข้อมูลกํากับภาพด้วย (ยกตัวอย่างเช่น .nc ) . ERDDAP™ แว่นขยาย actual\_range ในแฟ้มตอบรับที่จะสะท้อนเรนจ์ของสับเซต
- ดูเพิ่มเติม data\_min ถึง data\_max ซึ่งเป็นวิธีอื่นที่จะระบุ actual\_range . อย่างไรก็ตาม, ตอนนี้พวกนี้กําลังเสื่อมถอย actual\_range นิยามโดย CF 1.7+
แอททริบิวต์แท่งสี
มีคุณลักษณะต่าง ๆ ของตัวแปรที่กําหนดลักษณะปริยายสําหรับแถบสี (ใช้แปลงค่าข้อมูลเป็นสีบนภาพ) สําหรับตัวแปรนี้
-
หากอยู่ ณ ที่นี้ ข้อมูลนี้จะถูกใช้เป็นข้อมูลปริยายโดยใช้ตารางdap และ tabledap เมื่อคุณร้องขอภาพที่จะใช้แถบสี
-
ตัวอย่างเช่น เมื่อข้อมูลแบบเส้นรุ้ง ถูกพลอตเป็นข่าวบนแผนที่ แถบสีจะระบุว่า ค่าข้อมูลถูกแปลงเป็นสีอย่างไร
-
การมีค่าเหล่านี้ทําให้ ERDDAP™ ในการสร้างภาพ โดยใช้แถบสีที่สอดคล้องกัน ข้ามการร้องขอที่แตกต่างกัน แม้ว่าเวลาหรือค่ามิติอื่น ๆ จะแตกต่างกันก็ตาม
-
ชื่อคุณลักษณะเหล่านี้ถูกสร้างมาเพื่อใช้ใน ERDDAP . มันไม่ได้มาจากมาตรฐานข้อมูล
-
คุณสมบัติที่เกี่ยวข้องกับแถบสีคือ:
- ** colorBarMinimum ** กําหนดค่าต่ําสุดบนแถบสี ยกตัวอย่างเช่น
<att name="colorBarMinimum" type="double"\>-5</att>
- ถ้าข้อมูลถูกบรรจุด้วย scale\_factor &/ หรือ add\_offset _ระบุ colorBarMinimum เป็นมูลค่าที่ห่อมา
- ค่าข้อมูลต่ํากว่า colorBarMinimum แทนด้วยสีเดียวกับ colorBarMinimum ค่า
- คุณลักษณะนี้ควรอยู่ใน ประเภท = "รูปแบบ" ไม่คํานึงถึงชนิดของตัวแปรข้อมูล
- ค่านี้มักเป็นเลขกลมสวยงาม
- การปฏิบัติที่ดีที่สุด: เราแนะนําค่าที่สูงกว่าค่าข้อมูลต่ําสุดหน่อย
- ไม่มีค่าปริยาย
-
** colorBarMaximum ** กําหนดค่าสูงสุดของแถบสี ยกตัวอย่างเช่น
<att name="colorBarMaximum" type="double"\>5</att>
- ถ้าข้อมูลถูกบรรจุด้วย scale\_factor &/ หรือ add\_offset _ระบุ colorBarMinimum เป็นมูลค่าที่ห่อมา
- ค่าข้อมูลสูงกว่า colorBarMaximum แทนด้วยสีเดียวกับ colorBarMaximum ค่า
- คุณลักษณะนี้ควรอยู่ใน ประเภท = "รูปแบบ" ไม่คํานึงถึงชนิดของตัวแปรข้อมูล
- ค่านี้มักเป็นเลขกลมสวยงาม
- การปฏิบัติที่ดีที่สุด: เราแนะนําค่าน้อยกว่า ค่าข้อมูลสูงสุดนิดหน่อย
- ไม่มีค่าปริยาย
- สี บาร์ปาเล็ต กําหนดจานสีสําหรับแถบสี ยกตัวอย่างเช่น
<att name="colorBarPalette">WhiteRedBlack</att>
- ทั้งหมด ERDDAP™ การติดตั้งรองรับจานสีมาตรฐานเหล่านี้: Black Blue Blite, Black Rite, BlackWhite Red, BlueWhite Red, Light Rainboy, Ocean Depth, Rainhelp, Red Blue, Reverse Rain Rainboard, Topragraphygraphy, Topgraphydth \[ เพิ่มใน v1. 74 \] สีดําขาว สีน้ําเงินขาว และสีดําขาว
- หากคุณได้ติดตั้งไว้ เพิ่มจานสี คุณสามารถหมายถึงหนึ่งในนั้น
- หากแอตทริบิวต์นี้ยังไม่ปรากฏ ค่าปริยายคือ BlueWhiteRed หาก\-1 -* colorBarMinimum = colorBarMaximum มิฉะนั้นค่าปริยายจะเป็นสายรุ้ง
- แถบสี กําหนดขนาดสําหรับแถบสี ยกตัวอย่างเช่น
<att name="colorBarScale">Log</att>
- ค่าที่ใช้ได้คือ Linear และปูมบันทึก
- ถ้าค่าเป็นล็อก colorBarMinimum ต้องมากกว่า 0
- หากแอตทริบิวต์นี้ยังไม่ปรากฏ ค่าปริยายก็คือ Linear
- สี มุม: กําหนดว่าแถบสีจะมีจานสีต่อเนื่องของสีหรือไม่ หรือแถบสีมีสีไม่ต่อเนื่องกัน ยกตัวอย่างเช่น
<att name="colorBarContinuous">false</att>
- ค่าที่ใช้ได้เป็นจริงและเท็จ
- ถ้าคุณลักษณะนี้ยังไม่ปรากฏ ค่าเริ่มต้นจะเป็นจริง
- ลูกเล่นของสี กําหนดจํานวนท่อนปริยายบนแถบสี ยกตัวอย่างเช่น
<att name="colorBarNSections" type="int">6</att>
- ค่าที่ใช้ได้คือจํานวนเต็มบวก
- ถ้าแอททริบิวต์นี้ยังไม่ปรากฏ ค่าปริยายก็คือ / 1 ซึ่งบอก ERDDAP™ ในการเลือกจํานวนส่วนตามช่วงของแถบสี
WMS
ความต้องการหลักสําหรับตัวแปรที่จะเข้าถึงได้โดย ERDDAP ' WMS เซิร์ฟเวอร์คือ:
- ชุดข้อมูลต้องเป็น EDDGrid ... ชุดข้อมูล
- ตัวแปรข้อมูลต้องเป็นตัวแปรที่ฝังตัว
- ตัวแปรข้อมูลต้องมีค่าของเส้นลองและเส้นรุ้ง (ตัวแปรแกนอื่น ๆ เป็น OPional)
- ต้อง มี ค่า ลองจิจูด ระหว่าง - 180 ถึง 180.
- เดอะ colorBarMinimum ถึง colorBarMaximum ต้องระบุคุณลักษณะ (คุณสมบัติแถบสีอื่น ๆ คือ OPOtical)
data\_min ถึง data\_max
- ** data\_min ** ถึง ** data\_max ** -- สิ่งเหล่านี้เป็นคุณลักษณะตัวแปรที่เสื่อมโทรม ซึ่งถูกนิยามไว้ในมหาสมุทรโลก (อินโดนีเซีย) คําบรรยายข้อมูล ยกตัวอย่างเช่น
<att name="data\_min" type="float"\>0.17</att>
<att name="data\_max" type="float"\>23.58</att>
- เราแนะนําให้คุณใช้ actual\_range แทน data\_min ถึง data\_max เพราะว่า actual\_range ตอนนี้นิยามตามข้อกําหนดของ CF
- หากอยู่, พวกมันต้องอยู่ในประเภทข้อมูลเดียวกับตัวแปรปลายทาง และกําหนดค่าจริง (ไม่ใช่ทฤษฎี หรือการอนุญาต) ค่าข้อมูลน้อยที่สุดและสูงสุดสําหรับตัวแปรนั้น
- ถ้าข้อมูลถูกบรรจุด้วย scale\_factor &/ หรือ add\_offset . data\_min ถึง data\_max ต้องทําการแตกรายการต่าง ๆ โดยใช้ชนิดของข้อมูลที่แตกออกมา
ตัวแปร drawLandMask
- ** drawLandMask ** -- นี่คือคุณลักษณะตัวแปรที่ถูกใช้โดย ERDDAP™ (และไม่มีมาตรฐานกํากับ) ซึ่งกําหนดค่าปริยายสําหรับตัวเลือก "การวาดแผ่น" บนชุดข้อมูล สร้างกราฟ ( * datasetID * ลายเซ็น) และสําหรับพารามิเตอร์ต่าง ๆ ในที่อยู่ URL ที่ร้องขอแผนที่ข้อมูล ยกตัวอย่างเช่น
<att name="drawLandMask">under</att>
ดู drawLandMask ภาพรวม .
ชุดรหัสอักขระ
- _หมายเหตุ
- คุณสมบัตินี้สามารถใช้กับตัวแปรสตริงเท่านั้น
- คุณลักษณะ นี้ ได้ รับ การ สนับสนุน อย่าง มาก.
- คุณสมบัตินี้มาจาก NetCDF ทิศทางของผู้ใช้ (กัญชา) .
- ภายใน ERDDAP™ สตริงเป็นลําดับของตัวอักษร 2 ไบต์ที่ใช้ ชุดรหัสอักขระ UCS-2 .
- ประเภทแฟ้มหลายประเภทรองรับเฉพาะตัวอักษรขนาด 1ไบต์ในสตริงเท่านั้น และจึงต้องการแอตทริบิวต์นี้เพื่อระบุตัวอักขระที่เชื่อมโยง ชุดรหัสอักขระ (หน้ารหัส AKA) ซึ่งกําหนดวิธีการทําแผนที่ค่า 256 ที่เป็นไปได้เป็นชุดตัวอักษร 256 ตัวที่วาดจากชุดอักขระ UCS-2 และ/หรือระบบการเข้ารหัส เช่น UTF- 8 (ซึ่งต้องใช้ระหว่าง 1 ถึง 4 ไบต์ต่ออักขระ) .
- ค่าสําหรับ /_บัญชีเป็นกรณีอ่อนไหว
- ในทางทฤษฎีแล้ว ERDDAP™ รองรับ\_บันทึกการแสดงตัวจาก รายการ ISA แต่ในระหว่างการฝึก ERDDAP™ ปัจจุบันเพียงแค่รองรับ
- ISO-8859-1 (จง สังเกต ว่า มัน มี แรง สั่น สะเทือน ไม่ ใช่ การ เน้น) 256 ตัวอักษรแรกของยูนิโค้ดและ
- ยูทีเอฟ-8
- เมื่อมีการอ่านแฟ้มต้นฉบับ ค่าปริยายคือ ISO-8859-1 ยกเว้นแฟ้ม Netcdf-4 ซึ่งค่าปริยายคือ UTF-8
- นี่เป็นปัญหาที่เกิดขึ้นอย่างต่อเนื่อง เพราะหลายแฟ้มจากแหล่งที่มา ใช้ชุดรหัสอักขระหรือรหัสอักขระที่แตกต่างจาก ISO-8859-1 แต่ห้ามระบุรหัสอักขระหรือการเข้ารหัส ยกตัวอย่างเช่น ข้อมูลจากแหล่งกําเนิดหลายแฟ้ม มีการคัดลอกข้อมูลและวางจําหน่ายจากไมโครซอฟต์เวิร์ดบนวินโดวส์ จึงมี Hhyphens แฟนซีและ Apostrophes จากชุดรหัสเฉพาะของวินโดวส์ อักขระเหล่านี้จะแสดงเป็นตัวอักษรคี่หรือ '?' ใน ERDDAP .
แฟ้ม accessBaseUrl
- ** แฟ้ม accessBaseUrl และแฟ้ม accessSuffix** เป็นคุณสมบัติที่ไม่ค่อยได้ใช้ ที่ไม่ได้มาจากมาตรฐานใด ๆ หากคอลัมน์ของ DDTable มีชื่อแฟ้มของหน้าเว็บที่เข้าถึงได้ (เช่น, อิมเมจ, วิดีโอ, หรือแฟ้มเสียง) คุณสามารถเพิ่ม
<att name="fileAccessBaseUrl">*someBaseURL*</a>
เพื่อกําหนดที่อยู่ URL ฐาน (จบด้วย /) จําเป็นในการสร้างชื่อแฟ้มเป็นที่อยู่ URL ที่สมบูรณ์ ในกรณีผิดปกติ เช่น เมื่อคอลัมน์มีการอ้างอิงไปยังแฟ้ม .png แต่ค่าที่ขาด ".png" คุณสามารถเพิ่ม
<att name="fileAccessSuffix">*someSuffix*</a>
(ตัวอย่างเช่น<ชื่อ AT= "fileAccessSuffix">.png<- a) เพื่อกําหนดส่วนกํากับที่จะใช้เพิ่มชื่อชื่อแฟ้มไปยังที่อยู่ URL ที่สมบูรณ์ งั้นก็เพื่อ .htmlTable การตอบรับ ERDDAP™ จะแสดงชื่อแฟ้มเป็นตําแหน่งเชื่อมโยงไปยังที่อยู่ URL แบบเต็ม (ฐาน เพิ่มชื่อแฟ้ม) .
ถ้าคุณต้องการ ERDDAP™ เพื่อให้บริการแฟ้มที่เกี่ยวข้อง ทําให้แยก แก้ไขโครงการหลัก... ชุดข้อมูลสําหรับแฟ้มเหล่านั้น (มันอาจจะเป็นชุดข้อมูลส่วนตัว) .
แฟ้มAccessAchive Url
- แฟ้มAccessAchive Url เป็นคุณสมบัติที่ไม่ค่อยใช้ที่ไม่ได้มาจากมาตรฐานใด ๆ หากคอลัมน์ของ DDTable มีชื่อแฟ้มของหน้าเว็บที่เข้าถึงได้ (เช่น, อิมเมจ, วิดีโอ, หรือแฟ้มเสียง) ซึ่งเข้าถึงได้ผ่านทางแฟ้มจัดเก็บ (อี.จี. .zip แฟ้ม) เข้าใช้ผ่านที่อยู่ URL, ใช้<AT name="fileAccessArchiveUrl"> นก นางแอ่น </at> เพื่อกําหนดที่อยู่ URL สําหรับแฟ้มจัดเก็บ
ถ้าคุณต้องการ ERDDAP™ เพื่อรับใช้แฟ้มสํารองข้อมูล ให้ทําการแยกต่างหาก แก้ไขโครงการหลัก... ชุดข้อมูลสําหรับแฟ้มนั้น (มันอาจจะเป็นชุดข้อมูลส่วนตัว) .
ioos\_category
-
** ioos\_category ** -- นี่คือคุณลักษณะตัวแปรที่ต่อเนื่องหาก<ตัวแปร Must HaisCategory) ถูกตั้งค่าให้เป็นจริง (ค่าปริยาย) ใน ตั้งค่า. xml มิ ฉะนั้น ก็ เป็น เรื่อง ปกติ. ยกตัวอย่างเช่น<at name=" ioos\_category "> Salinity</at> หมวดหมู่มาจาก NOAA ระบบสํารวจมหาสมุทร (ไอโอเอส) .
-
(ในการเขียนนี่) เราไม่ทราบความหมายของชื่อเหล่านี้อย่างเป็นทางการ
-
ชื่อหลักมาจาก .ppt ของ Zdenka Willis. ppt "การตรวจจับมหาสมุทร". (ไอโอเอส) NOAA 'การเข้าใกล้การก่อสร้างระบบปฏิบัติการเริ่มต้น' และจาก US ios Blue print (หน้า 1-5) .
-
ดู เหมือน ว่า จะ มี การ แก้ไข ราย ชื่อ นี้ ใน อนาคต. หากคุณมีการขอ กรุณาส่งอีเมล์คริส จอห์นที่โนอา โกฟ
-
ERDDAP™ สนับสนุนรายการที่มีขนาดใหญ่กว่า IOOS เพราะบ๊อบ ไซมอนส์ เพิ่มชื่อ (ตัว อย่าง เช่น ส่วน ใหญ่ แล้ว อาศัย ชื่อ ของ สาขา วิทยาศาสตร์, ชีววิทยา, วิทยา การ, วิทยา การ, สถิติ, การ เก็บ ภาษี) สําหรับข้อมูลประเภทอื่น
-
ค่าที่ใช้อยู่ในปัจจุบัน ERDDAP™ 2553) เป็นบริษัท Bathymitry, Biology, August Profiles, Cootology (Thotosed Dissociation). สืบค้นเมื่อ 22 พฤษภาคม พ.ศ.
-
มีความทับซ้อนกันและคลุมเครือระหว่างเทอมต่างๆ -- ทําให้ดีที่สุด
-
ถ้าคุณเพิ่ม ioos\_category ไปยังรายการ< categoryAttributes > ใน ERDDAP ' ตั้งค่า. xml แฟ้ม, ผู้ใช้สามารถหาชุดข้อมูลที่มีข้อมูลคล้ายกันได้โดยง่าย ERDDAP "ค้นหาข้อมูลตามหมวดหมู่" ในโฮมเพจ ลองใช้ดู ioos\_category เพื่อค้นหาชุดข้อมูลที่น่าสนใจ
-
มี การสนทนาเกี่ยวกับ ERDDAP™ ถึง ioos\_category ใน ERDDAP™ กูเกิ้ลกรุ๊ป
คุณ อาจ ถูก ล่อ ใจ ให้ ทํา เช่น นั้น<ตัวแปร Musst Haiscategry) เพื่อเท็จเพื่อให้คุณสมบัตินี้ไม่จําเป็น ("พัฟต์! แล้วมันเกี่ยวอะไรกับฉัน?") เหตุ ผล บาง ประการ ที่ ทํา ให้ เรื่อง นี้ เป็น ความ จริง (ค่าปริยาย) และใช้ ioos\_category คือ:
- หากตั้งค่า.xml ของ<ตัวแปร Musest Haiscategory: ) ว่ากันว่า สร้าง DatatasXml มักจะสร้าง/ chucks ioos\_category แต่ละตัวแปรในแต่ละชุดข้อมูล แล้วทําไมไม่ทิ้งมันไว้ข้างในล่ะ
- ERDDAP™ ให้ผู้ใช้ทําการค้นหาข้อมูลต่าง ๆ ตามหมวดหมู่ ioos\category เป็นหมวดหมู่การค้นหาที่มีประโยชน์มาก เนื่องจาก ious/ positions (ยกตัวอย่างเช่น อุณหภูมิ) ก็ค่อนข้างกว้างนะ นี่ทําให้ ioos\_category ดีสําหรับวัตถุประสงค์นี้มากกว่าตัวอย่างที่ดีมากขึ้น CF standard\_name วินาที (ซึ่งมันไม่ดีต่อวัตถุประสงค์นี้ เนื่องจาก synonomys และการเปลี่ยนแปลงเล็กน้อย ตัวอย่างเช่น ทะเล/ surface/ tempority continuation to น้ําทะเล/ น้ํา/ ความจุ) . (พ.ศ. ioos\_category สําหรับวัตถุประสงค์นี้จะถูกควบคุมโดย< categoryAttributes > ในแฟ้มตั้งค่า.xml ของคุณ) ลองใช้ดู ioos\_category เพื่อค้นหาชุดข้อมูลที่น่าสนใจ
- ประเภทเหล่านี้มาจาก NOAA ระบบสํารวจมหาสมุทร (ไอโอเอส) . หมวดหมู่เหล่านี้เป็นพื้นฐานในการอธิบายของ ไอโอส ภารกิจของ ไอโอส ถ้าคุณอยู่ใน NOAA การสนับสนุน ioos\_category ดี หนึ่ง... NOAA สิ่งที่ต้องทํา (ดูนี่ หนึ่ง NOAA วิดีโอ และได้รับแรงบันดาลใจ) ถ้าคุณอยู่ในบางหน่วยงานสหรัฐหรือต่างประเทศอื่น ๆ หรือทํางานร่วมกับหน่วยงานราชการ หรือทํางานกับระบบสังเกตมหาสมุทรอื่น ๆ ไม่ได้เป็นความคิดที่ดีที่จะให้ความร่วมมือกับสํานักงาน IOOS สหรัฐอเมริกา?
- ไม่ ช้า ก็ เร็ว คุณ อาจ ต้องการ คน อื่น ERDDAP™ เพื่อเชื่อมโยงไปยังชุดข้อมูลต่าง ๆ ของคุณผ่านทาง EDDGrid จาก เอลด์ดาป ถึง DDTable from Edardp . ถ้าอีกคน ERDDAP™ ต้องการ ioos\_category ชุดข้อมูลของคุณต้องมี ioos\_category ตามลําดับ EDDGrid จากเอ็ดแดปและอีดีทีเบิล จากเอเวอร์แดปไปทํางาน
- ง่ายกว่ามากที่จะนับรวม ioos\_category เมื่อคุณสร้างชุดข้อมูล (มันก็แค่อีกอย่าง ERDDAP™ ต้องเพิ่มชุดข้อมูลไปยัง ERDDAP ) กว่าที่จะเพิ่มมันหลังจากที่ความจริง (ถ้าคุณตัดสินใจใช้มันในอนาคต) .
long\_name
- ** long\_name ** ( COARDS . CF ถึง หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) เป็นคุณลักษณะตัวแปรที่ซ้ํากัน ERDDAP . ยกตัวอย่างเช่น
<att name="long\\_name">Eastward Sea Water Velocity</att>
- ERDDAP™ ใช้ long\_name สําหรับระบุแกนบนกราฟ
- การปฏิบัติที่ดีที่สุด: ทําให้คําใน long\_name เสมือนหนึ่งพวกนางเป็นกรณีหนึ่ง (ใช้คําแรกเป็นตัวพิมพ์ใหญ่ และคําที่ไม่ใช่วงกลมทั้งหมด) . อย่ารวมหน่วยใน long\_name . ชื่อยาวไม่ควรจะยาว (ปกติแล้วชื่อนี้มักจะยาว)<20 ตัวอักษร) แต่ควรจะปรากฏมากกว่า destinationName ซึ่งมักจะมีความรวดเร็วมาก
- ถ้า long\_name "ไม่ได้นิยามในตัวแปร ผู้ส่งที่มา หรือ< addAttributes > ERDDAP™ จะสร้างโดยทําความสะอาด standard\_name (ถ้าอยู่) หรือ destinationName .
missing\_value
- ** missing\_value ** ถึง _ไฟ ค่า ( COARDS ถึง CF ) เป็นคุณสมบัติของตัวแปรที่จะบรรยายตัวเลข (ตัวอย่างเช่น -9999) ซึ่งใช้แทนค่าที่หายไป ยกตัวอย่างเช่น
<att name="missing\_value" type="double"\>-9999</att>
สําหรับตัวแปรสตริง ค่าปริยายของทั้งสองคือ "" (ข้อความเปล่า) . สําหรับตัวแปรตัวเลข ค่าปริยายของทั้งสองคือ NN
- ERDDAP™ รองรับทั้ง missing\_value และ/Fillvalue เนื่องจากข้อมูลบางแหล่งกําหนดความหมายที่แตกต่างกันไปเล็กน้อย
- ถ้า มี อยู่ ที่ นี่ พวก เขา ควร มี ชนิด ข้อมูล เดียว กัน กับ ตัวแปร.
- ถ้าข้อมูลถูกบรรจุด้วย scale\_factor &/ หรือ add\_offset . missing\value ควรบรรจุค่า fillvalue ไว้ด้วย เช่นเดียวกัน สําหรับคอลัมน์ที่มีค่าวันที่/ เวลาของสตริงที่ใช้ท้องถิ่น time\_zone . missing\_value และค่า_FullValue ควรจะใช้พื้นที่เวลาท้องถิ่น
- ถ้าตัวแปรใช้ค่าพิเศษนี้ missing\_value และ/หรือ/หรือคุณสมบัติ//////N-FillValue is rectIED
- สําหรับ ตัวแปรเวลาและเวลา (แหล่งที่มาคือสตริงหรือตัวเลข) . missing\_value s และ _Fullvulues ปรากฎเป็น "" (ข้อความเปล่า) เมื่อเวลาที่ถูกเขียนเป็นสตริงและเป็น NaN เมื่อเวลาที่ถูกเขียนเป็นคู่ ค่าแหล่งสําหรับ missing\_value และ /_Fillvalue จะไม่ปรากฏอยู่ในข้อมูลกํากับภาพของตัวแปร
- สําหรับตัวแปรสตริง ERDDAP™ เปลี่ยนแปลงอะไรก็ตาม missing\_value s หรือ _FullValue value value to " (ข้อความเปล่า) . ค่าแหล่งสําหรับ missing\_value และ /_Fillvalue จะไม่ปรากฏอยู่ในข้อมูลกํากับภาพของตัวแปร
- สําหรับตัวแปรตัวเลข: เดอะ missing\_value และ /_Fillvalue จะปรากฏในข้อมูลกํากับภาพของตัวแปร สําหรับรูปแบบข้อมูลผลลัพธ์ ERDDAP™ จะปล่อยให้หมายเลขพิเศษนี้ยังคงที่ เช่น คุณจะเห็น -9999. รูปแบบข้อมูลผลลัพธ์อื่น ๆ (รูปแบบข้อความเช่น .csv และ .htmlTable ) . ERDDAP™ จะแทนที่หมายเลขพิเศษเหล่านี้ด้วย NN หรือ ""
- ชนิดของข้อมูลบางประเภท มีเครื่องหมายเสียค่าไปเอง ซึ่งไม่จําเป็นต้องระบุโดยตรงด้วย missing\_value หรือ / ตัวแปร_คู่มี NaN (ไม่ใช่หมายเลข) ค่าสตริงที่ใช้ข้อความว่าง ค่าของอักขระมีอักขระ \uffff (อักขระ #65535 ซึ่งเป็นค่ายูนิโค้ดสําหรับไม่ใช่อักขระ) . ชนิดของข้อมูล
- หากตัวแปรจํานวนเต็มมีค่าหายไป (ตัวอย่างเช่น ตําแหน่งว่างในแฟ้ม .csv) . ERDDAP™ จะตีความค่าเป็นนิยาม missing\_value หรือ\_Fillvalue สําหรับตัวแปรนั้น ถ้าไม่มีคําจํากัดความ ERDDAP™ จะแปลค่าเป็นค่าปริยายที่ขาดหายไปสําหรับชนิดของข้อมูลดังกล่าว ซึ่งเป็นค่าสูงสุดของค่าซึ่งสามารถเก็บได้โดยชนิดของข้อมูล: 127 สําหรับตัวแปร byte, 32767 สําหรับสั้น, 2147483647 สําหรับ int, 922337368547807. นานมาก 255 สําหรับยูไบท์, 65535 สําหรับอุซารัตน์, 4294967295 สําหรับยูนท์, และ 184467440709091615 สําหรับ UNL.
ADD \_FillValue ATTRIBUTES ?
- ADD \_FillValue ATTRIBUTES ?
แต่ละครั้ง ERDDAP™ โหลดชุดข้อมูลมา, มันจะตรวจสอบว่าตัวแปรที่มีแหล่งข้อมูลจํานวนเต็มถูกนิยามไว้ missing\_value หรือลักษณะเฉพาะของ _fillvalue ถ้าตัวแปรไม่, ERDDAP™ พิมพ์จดหมายไปยังปูมบันทึก (เริ่มด้วย "Addd\failValue continuation?") แนะนําว่า ERDDAP™ ผู้ดูแลระบบทําการเพิ่ม\ fire แอททริบิวต์ค่าสําหรับตัวแปรนี้ใน datasets.xml . มันมีประโยชน์มากสําหรับทุกตัวแปรที่มี\_FullValue หรือ missing\value เนื่องจากค่าที่สูญหายเป็นไปได้เสมอ, เช่น, ถ้าแฟ้มที่มีอยู่ในชุดข้อมูลไม่มีตัวแปร ERDDAP™ ต้องสามารถนําเสนอตัวแปรนั้น ว่ามีค่าที่หายไปสําหรับตัวแปรนั้น หากคุณเลือกตัวแปรที่ไม่ควรมีแอตทริบิวต์ fullValue คุณสามารถเพิ่ม <ชื่อ AT= "/_FillValue"<ซึ่งจะระงับข้อความสําหรับที่ datasetID การรวมกันของตัวแปรในอนาคต
แต่ละครั้ง ERDDAP™ เริ่มขึ้น, มันจะรวบรวมคําแนะนําทั้งหมดเข้าไปในข้อความที่ถูกเขียนไปยังแฟ้มปูมบันทึก (เริ่มจาก " ADD \_FillValue ATTRIBUTES ?") ส่งอีเมลไปยัง ERDDAP™ ผู้ดูแลระบบ, และเขียนไปยังแฟ้มข้อมูล CSV ใน \[ เครื่อง มือ ขนาด ใหญ่ \] / log/ ไดเรกทอรี หากคุณต้องการ คุณสามารถใช้โปรแกรมสร้าง DatataetsXml (& ตัวเลือกเพิ่มเติมของรายการ) เพื่อปรับใช้คําแนะนําทั้งหมดในแฟ้ม CSV datasets.xml แฟ้ม สําหรับ datasetID / เปลี่ยนแปลงการจัดหมู่แฟ้มได้ หากคุณตัดสินใจว่าไม่จําเป็นต้องเพิ่มแอททริบิวต์ คุณสามารถเปลี่ยนแอททริบิวต์<ชื่อ AT= "/_FillValue"<เพื่อระงับคําแนะนําเรื่องนั้น datasetID การรวมกันของตัวแปรในอนาคต
มันสําคัญนะ! อย่างที่บ็อบพูดบ่อยๆว่า มันจะแย่ (และน่าอาย) ถ้าหลักฐานบางอย่างของภาวะโลกร้อน เกิดจากการหายไปของค่าข้อมูล (e.g. ค่าอุณหภูมิ 99 หรือ 127 องศา/_ C ที่ควรถูกนับว่าขาดค่าไป จึงทําให้ค่าสถิติเฉลี่ยและ/หรือค่ามัธยฐานยิ่งเบ้) .
- _FullValue และ missing\_value ค่าต่าง ๆ ของตัวแปรต่าง ๆ ในแฟ้มต้นฉบับ จะต้องสม่ําเสมอ ไม่เช่นนั้น ERDDAP™ จะยอมรับแฟ้มที่มีชุดของค่า และปฏิเสธแฟ้มอื่น ๆ ทั้งหมดเป็น "แฟ้ม bad" เพื่อแก้ไขปัญหา
- หากแฟ้มถูกสลับ .nc แฟ้ม, คุณสามารถใช้ได้ EDDGrid แฟ้มจาก Nc .
- ถ้าแฟ้มเป็นแฟ้มข้อมูลอักขระแท็บ คุณสามารถใช้ DEDTable from... files ' ขนาดมาตรฐาน อะไร เพื่อบอกว่า ERDDAP เพื่อกําหนดแฟ้มต้นฉบับตามที่อ่านเข้าไป ERDDAP .
- สําหรับปัญหาที่ยากขึ้น, คุณสามารถใช้ ขนาด NcML หรือ NCO เพื่อแก้ไขปัญหา
scale\_factor
- ** scale\_factor ** (ค่าปริยาย = 1) ถึง ** add\_offset ** (ค่าปริยาย = 0) ( COARDS ถึง CF ) เป็นคุณสมบัติของตัวแปรที่บรรยายข้อมูล ซึ่งถูกบรรจุในรูปแบบข้อมูลได้ง่ายกว่า โดยใช้การแปลงแบบง่าย ๆ
- หากอยู่ ณ ที่นี้ ชนิดของข้อมูลของพวกเขา แตกต่างจากชนิดของข้อมูลแหล่ง และอธิบายชนิดของข้อมูลปลายทาง ตัว อย่าง เช่น แหล่ง ข้อมูล อาจ เก็บ ค่า ข้อมูล ลอย ไว้ โดย มี หลัก ทศนิยม หนึ่ง หลัก ที่ บรรจุ ไว้ ใน ช่อง สั้น (Int16) ใช้ scale\_factor เท่ากับ 0.1 และ add\_offset เช่น
<att name="scale\_factor" type="float"\>0.1</att>
<att name="add\_offset" type="float"\>0</att>
ในตัวอย่างนี้ ERDDAP™ จะทําการแตกข้อมูลและนําเสนอไปยังผู้ใช้เป็นข้อมูลแบบลอย
- ถ้าวันนี้ ERDDAP™ จะทําการแยกเอาค่าออกจากแอตทริบิวต์เหล่านี้, ลบแอตทริบิวต์ และดึงข้อมูลให้ผู้ใช้โดยอัตโนมัติ:
ปลายทาง ค่า =แหล่ง ค่า / * scale\_factor + add\_offset
หรือ พูด อีก อย่าง หนึ่ง: ArchiveValue =แพ็ค ค่า / * scale\_factor + add\_offset - เดอะ scale\_factor ถึง add\_offset ค่าต่าง ๆ ของตัวแปรต่าง ๆ ในแฟ้มต้นฉบับ จะต้องสม่ําเสมอ ไม่เช่นนั้น ERDDAP™ จะยอมรับแฟ้มที่มีชุดของค่า และปฏิเสธแฟ้มอื่น ๆ ทั้งหมดเป็น "แฟ้ม bad" เพื่อแก้ไขปัญหา
- หากแฟ้มถูกสลับ .nc แฟ้ม, คุณสามารถใช้ได้ EDDGrid แฟ้มจาก Nc .
- ถ้าแฟ้มเป็นแฟ้มข้อมูลอักขระแท็บ คุณสามารถใช้ DEDTable from... files ' ขนาดมาตรฐาน อะไร เพื่อบอกว่า ERDDAP เพื่อกําหนดแฟ้มต้นฉบับตามที่อ่านเข้าไป ERDDAP .
- สําหรับปัญหาที่ยากขึ้น, คุณสามารถใช้ ขนาด NcML หรือ NCO เพื่อแก้ไขปัญหา
standard\_name
- ** standard\_name ** (จาก CF มาตรฐานข้อมูลกํากับภาพ) เป็นคุณลักษณะตัวแปรที่ซ้ํากัน ERDDAP . CF คงรายการที่อนุญาต ชื่อมาตรฐานของ CF . ยกตัวอย่างเช่น
<att name="standard\\_name">eastward\\_sea\\_water\\_velocity</att>
- ถ้าคุณเพิ่ม standard\_name ไปยังคุณสมบัติของตัวแปรและเพิ่ม standard\_name ไปยังรายการ< categoryAttributes > ใน ERDDAP ' ตั้งค่า. xml แฟ้ม, ผู้ใช้สามารถหาชุดข้อมูลที่มีข้อมูลคล้ายกันได้โดยง่าย ERDDAP "ค้นหาข้อมูลตามหมวดหมู่" ในโฮมเพจ
- หากคุณระบุ CF standard\_name สําหรับตัวแปร ลักษณะหน่วยของตัวแปร ไม่จําเป็นต้องเหมือนกับหน่วย Canonical ที่ระบุสําหรับชื่อมาตรฐานในตารางชื่อ CF แต่หน่วยต้องเปิดประทุนไปยังหน่วย Canonical ยกตัวอย่างเช่น CF ที่เกี่ยวข้องกับอุณหภูมิทั้งหมด standard\_name S มี K (เคลวิน) เป็นหน่วยคลอง ดังนั้นตัวแปรที่มีอุณหภูมิเกี่ยวข้อง standard\_name ต้องมีหน่วยของ K, ดีกรี/C, องศา/F, หรือตัวแปร UD UDUTits ของชื่อเหล่านั้น, เนื่องจากพวกมันทั้งหมด เชื่อมต่อกันได้
- การปฏิบัติที่ดีที่สุด: ส่วนหนึ่งของอํานาจ ความถี่ที่ควบคุมได้ มาจากการใช้แค่เทอมในรายการ ดังนั้น เราจึงแนะนําให้ทําตามคํานิยาม ในคําศัพท์ที่ควบคุมได้ และเราแนะนําไม่ให้สร้างคําขึ้นมา ถ้า คุณ ต้องการ คํา ศัพท์ เพิ่ม เติม ให้ ดู ว่า คณะ กรรมการ มาตรฐาน จะ เพิ่ม คํา ศัพท์ เหล่า นั้น เข้า กับ ศัพท์ ที่ ควบคุม ได้ หรือ ไม่.
- standard\_name ค่าคือค่าของแอททริบิวต์ของ CF ที่มีความละเอียดอ่อน พวกมันตัวเล็กเสมอ เริ่มใน ERDDAP™ v1. 82, การสร้าง Datatatets จะแปลงตัวอักษรเป็นตัวพิมพ์ใหญ่เป็นอักษรตัวพิมพ์เล็ก และเมื่อชุดข้อมูลถูกโหลดเข้ามา ERDDAP อักษรตัวพิมพ์ใหญ่ถูกเปลี่ยนเป็นอักษรตัวพิมพ์เล็กเงียบๆ
time\_precision
- time\_precision เป็นคุณสมบัติเฉพาะที่ใช้โดย ERDDAP™ (และไม่มีมาตรฐานกํากับ) สําหรับ ตัวแปรเวลาและเวลา ซึ่งอาจจะอยู่ในชุดข้อมูลแบบ gried หรือแท็บลูกชุด และใน axisVariable s หรือ dataVariable เอส. ยกตัวอย่างเช่น
<att name="time\\_precision">1970-01-01</att>
time\_precision กําหนดความแม่นยําที่จะใช้เมื่อไร ๆ ERDDAP™ ฟอร์แมตค่าเวลาจากตัวแปรนั้น เป็นข้อความบนหน้าเว็บ รวมถึง .htmlTable การตอบรับ ในรูปแบบแฟ้มที่ ERDDAP™ รูปแบบเวลาเป็นข้อความ (ยกตัวอย่างเช่น .csv และ .json ) . ERDDAP™ ใช้เฉพาะ time\_precision - รูปแบบที่กําหนดถ้ามันรวมเศษส่วนวินาที; ไม่อย่างนั้น ERDDAP™ ใช้ 1970-01-01.00.00 น. รูปแบบ z
- ค่าที่ใช้ได้คือ 1970-01, 1970-01-01-01-01-01T200Z, 1970-01-01T00Z –01T00Z:00.00 น. (ค่าปริยาย) 1970-01-01.0000:00.00.00.0Z, 1970-01-01T00:00:0.00Z, 1970-01:00:00.00.000Z. \[ 1970 ไม่ใช่ตัวเลือกเพราะเป็นตัวเลขเดียว ดังนั้น ค.ศ. ERDDAP™ ไม่สามารถทราบว่ามันเป็นข้อความเวลาแบบฟอร์แมต (1 ปี) หรือว่ามันเป็นตัวเลขของวินาที ตั้งแต่ปี 1970-01-01T00:00:00Z \]
- ถ้า time\_precision ยังไม่มีการระบุหรือค่าไม่ตรงกัน จะใช้ค่าปริยายแทน
- ที่นี่ เช่นเดียวกับในส่วนอื่น ๆ ERDDAP™ ( ราย ละเอียด ดู จาก วารสาร) ตัวอย่างเช่น 1985-07, 1985-07-01, 1985-07-01T00Z, 1985-07-07-01.00 น. และ 1985-07-01.00 น. Z ล้วนเทียบเท่ากัน แม้ว่าจะมีความแม่นยําต่างกัน นี่ตรงกับ ISO 8601: 2004 "extended" รูปแบบเวลากําหนด .
- (คําเตือน: คุณควรใช้แค่ข้อจํากัด time\_precision ถ้า ทั้งหมด ค่าข้อมูลสําหรับตัวแปรนั้น มีค่าน้อยที่สุดสําหรับทุกช่องที่ถูกซ่อน
- ตัวอย่างเช่น คุณสามารถใช้ time\_precision ของ 1970-01-01 ถ้าค่าข้อมูลทั้งหมดมีชั่วโมง =0 นาที =0 และวินาที=0 (ตัวอย่างเช่น 2005-03-04.0000:00Z และ 2005-03-05T00:00.00Z) .
- ยกตัวอย่างเช่น อย่าใช้ time\_precision 1970-01-01 ถ้ามีค่าเป็น 0 ชั่วโมง, นาที, หรือวินาที (ตัวอย่างเช่น 2005-03-05T12:00:00Z) เพราะค่าชั่วโมงที่ไม่ใช่ค่าปริยายจะไม่แสดง มิฉะนั้น หากผู้ใช้ถามข้อมูลทั้งหมดด้วยเวลา = 2005-03-05 คําร้องขอจะล้มเหลวอย่างไม่คาดคิด
time\_zone
- ** time\_zone **
- time\_zone เป็นคุณสมบัติเฉพาะที่ใช้โดย ERDDAP™ (และไม่มีมาตรฐานกํากับ) สําหรับ ตัวแปรเวลาและเวลา ซึ่งอาจอยู่ในชุดข้อมูล หรือชุดข้อมูลรอบนอก
- ค่าปริยายคือ Zulu " (ซึ่งเป็นพื้นที่เวลาสมัยใหม่ของ GMT) .
- ข้อมูลพื้นหลัง: "เวลาตรงข้าม" (E.g., Pacific Standard Times, -08:00, GMT-8) ถูกแก้ไข, เจาะจง, ปรับค่าเทียบกับ Zulu (แบบ GMT) . ในทางกลับกัน "เวลาโซน" เป็นอะไรที่ซับซ้อนกว่ามาก ที่ได้รับผลกระทบจากการประหยัดเวลากลางวัน (เช่น "US/Pacific") ซึ่งมีกฏต่างกันในหลายๆที่ ในเวลาที่แตกต่างกัน พื้นที่เวลามีชื่อเสมอ เนื่องจากไม่สามารถสรุปด้วยค่าตรงข้ามธรรมดา (ดูคอลัมน์ "ชื่อฐานข้อมูล TZ" ในตารางที่ https://en.wikipedia.org/wiki/List\_of\_tz\_database\_time\_zones ) . ERDDAP ' time\_zone แอตทริบิวต์ช่วยให้คุณจัดการกับข้อมูลเวลาท้องถิ่นจากพื้นที่เวลาบาง (E.g., 1987-03-25T17:32:05. แปซิฟิก เวลา) . หากคุณมีข้อมูลเวลาหรือค่าตัวเลข (คงที่) ปรับค่าเวลา คุณควรจะปรับข้อมูลเป็น Zulu (ซึ่งก็คือ ERDDAP™ ต้องการ) โดยระบุเวลาพื้นฐานอื่น ๆ ในแอตทริบิวต์หน่วย (e.g. "ชั่วโมงตั้งแต่ 1970-01-01T08:00:00Z" หมายเหตุ T08 เพื่อระบุเวลาตรงข้าม) และตรวจสอบผล เพื่อให้แน่ใจว่าคุณได้ผลตามที่คุณต้องการ
- สําหรับตัวแปรเวลาประทับด้วยข้อมูลแหล่งจากสตริง แอตทริบิวต์นี้ช่วยให้คุณกําหนดเขตเวลาที่นําไปสู่ ERDDAP™ แปลงเวลาท้องถิ่น (บาง คน ใน สมัย มาตรฐาน บาง คน ใช้ เวลา กลาง วัน เพื่อ ประหยัด เวลา) ไปยัง Zulu คูณ (ซึ่งมักจะเป็นเวลามาตรฐาน) . รายชื่อเขตเวลาที่ถูกต้อง อาจจะเหมือนกับรายการในคอลัมน์ TZ ที่ https://en.wikipedia.org/wiki/List\_of\_tz\_database\_time\_zones . สหรัฐอเมริกาโซนเวลาเป็น: US/ Hawai, US/ harpolica, US/Pacific, US/Mountain, US/Ariazona, US/Central, US/Ecten.
- สําหรับตัวแปรของเวลา time\_zone "คุณสมบัติ แต่มูลค่าต้อง" Zulu หรือ "UTC" ถ้าคุณต้องการการสนับสนุนพื้นที่เวลาอื่น โปรดส่งอีเมลหาคริส จอห์นที่โนอา โกฟ
_เวลาหน่วงการ
- _เวลาหน่วงการ เริ่มใน ERDDAP™ 2.29.0 ตัวแปรเวลาทํางานแตกต่างกันเล็กน้อย ในกรณีหายาก ส่วนใหญ่เมื่อใช้
วันตั้งแต่และหนึ่งปีก่อนปี 1582 (ดังนั้นวันตั้งแต่ 0000-01-01หรือวันตั้งแต่ 1-1.00:00:0.00) คุณจะต้องระบุสําหรับการปรับปรุงตัวแปรวันที่ เหตุผลก็คือ ERDDAP™ ใช้ห้องสมุดเวลาจาวา จัดการวันที่ภายใน มีชุดข้อมูลบางอย่างที่ต้องการใช้ไลบรารีเกรกอเรียนคาเลนดาร์เก่า เพื่อแก้ไขวันที่ที่ถูกต้อง
<axisVariable>
<sourceName>time</sourceName>
<destinationName>time</destinationName>
<!-- sourceAttributes>
... removed several lines ...
<att name="units">days since 1-1-1 00:00:0.0</att>
</sourceAttributes -->
<addAttributes>
... removed several lines ...
<att name="legacy_time_adjust">true</att>
</addAttributes>
</axisVariable>
หน่วย
- หน่วย ( COARDS . CF ถึง หมายเลข ACD มาตรฐานข้อมูลกํากับภาพ) กําหนดหน่วยของค่าข้อมูล ยกตัวอย่างเช่น
<att name="units">degree\\_C</att>
-
"หน่วย" คือ RIFIT เป็นทั้งแหล่งย่อย หรือ Attriburg สําหรับ "time" ตัวแปรและจะตอบสนองอย่างสม่ําเสมอสําหรับตัวแปรอื่น ๆ เมื่อใดก็ตามที่เหมาะสม (ซึ่งเกือบทุกครั้ง) .
-
โดยทั่วไปแล้ว เราขอแนะนําให้ ยกเลิก หน่วยที่เข้ากันได้โดย COARDS ถึง CF มาตรฐาน
-
มาตรฐานทั่วไปอีกอย่างคือ UCUM ประมวลกฎหมายที่เป็นเอกฉันท์ของหน่วยวัด OGC บริการอย่างเช่น SOS . WCS และ WMS ต้องการ UCUM และมักจะอ้างถึง UCUM เป็น UOM (หน่วยวัด) .
-
เราแนะนําให้คุณใช้หน่วยมาตรฐานหนึ่งหน่วย สําหรับชุดข้อมูลทั้งหมดใน ERDDAP . คุณควรจะบอกว่า ERDDAP™ มาตรฐานไหนที่คุณใช้อยู่<หน่วย /_มาตรฐาน) ในเครื่องของคุณ ตั้งค่า. xml แฟ้ม
-
หน่วยสําหรับตัวแปรที่กําหนดในแฟ้มแหล่งต่างๆ จะต้องสอดคล้องกัน ถ้าคุณมีชุดสะสมของแฟ้มข้อมูล โดยสับเซตตัวหนึ่งของแฟ้มนั้น ใช้หน่วยต่าง ๆ มากกว่าสับเซตของแฟ้มหนึ่งหรือมากกว่า (ตัวอย่างเช่น "Days ตั้งแต่ปี 1985-01-01" กับ "วันตั้งแต่ 2000-01-01", "deg/C" หรือ "knots" กับ "m/s" คุณต้องหาวิธีมาตรฐานของหน่วย ไม่อย่างนั้น ERDDAP™ จะโหลดเฉพาะสับเซตของแฟ้มเท่านั้น ลองคิดดู ถ้าแฟ้มหนึ่งมีหน่วย windSpeed=knots และอีกตัวมีหน่วย windSpeed=m/s, แล้วค่าจากแฟ้มทั้งสองไม่ควรรวมอยู่ในชุดข้อมูลเดียวกัน
- หากแฟ้มถูกสลับ .nc แฟ้ม, ในหลายสถานการณ์ที่คุณสามารถใช้ได้ EDDGrid แฟ้มจาก Nc .
- ถ้าแฟ้มเป็นแฟ้มข้อมูลแท็บมองล ในหลายสถานการณ์ คุณสามารถใช้ EDTable from... files ' ขนาดมาตรฐาน อะไร เพื่อบอกว่า ERDDAP เพื่อกําหนดแฟ้มต้นฉบับตามที่อ่านเข้าไป ERDDAP .
- สําหรับปัญหาที่ยากขึ้น, คุณสามารถใช้ ขนาด NcML หรือ NCO เพื่อแก้ไขปัญหา
-
CF ส่วนมาตรฐาน 8.1 กล่าวว่าถ้าข้อมูลตัวแปรถูกแพ็คผ่านทาง scale\_factor &/ หรือ add\_offset "หน่วยของตัวแปร ควรเป็นตัวแทนของข้อมูลที่ถูกถอดออกมา"
-
สําหรับตัวแปรเวลาและเวลา ไม่ตัวแปร ผู้ส่งที่มา หรือ< addAttributes > (ซึ่งต้องมาก่อน) ต้อง หน่วย ซึ่งก็เหมือนกัน
-
สําหรับตัวแปรเวลาแกนหรือตัวแปรเวลา ข้อมูลตัวเลข: ยกเลิก ข้อความที่เข้ากันได้ (ด้วยรูปแบบ หน่วย ตั้งแต่ เวลาพื้นฐาน ) อธิบายวิธีการตีความค่าเวลา (ตัวอย่างเช่น วินาที ตั้งแต่ปี 1970-01-01.00 น.) .
หน่วย สามารถเป็นหนึ่งใน
ms, msec, msecs, millis, millisec, millisecs, millisecond, milliseconds,
s, sec, secs, second, seconds, m, min, mins, minute, minutes, h, hr, hrs, hour, hours,
d, day, days, week, weeks, mon, mons, month, months, yr, yrs, year, or years.
ตามหลักแล้ว ERDDAP™ ไม่ทําตาม UDUNITS มาตรฐานเมื่อแปลง "years since" ถึง "months since" ค่าเวลาที่จะ "seconds since" . เดอะ UDUNITS มาตรฐานกําหนดปีเป็นค่าคงที่ ค่าเดียว: 3.155692597477 วินาที และ UDUNITS กําหนดเดือนเป็นปี/12 โชคไม่ดีเลย ข้อมูลส่วนใหญ่ที่เราเคยเห็นใช้ "years since" หรือ "months since" แน่นอน ค่าต่าง ๆ ที่กําหนดเป็นปฏิทินปี หรือเดือนปฏิทิน ตัวอย่างเช่น 3 "months since 1970-01-01" ปกติจะหมายถึง 1970-04-01 ดังนั้น ERDDAP™ การตีความ "years since" ถึง "months since" เป็นเดือนๆ หนึ่ง และพวกเขาไม่คํานึงถึงบรรดาเดือน UDUNITS มาตรฐาน
เดอะ เวลาพื้นฐาน ต้องเป็น ISO 8601: 2004 (E) ปรับเทียบเวลาตามวันที่ ( yyyy-MM-dd 'T'HHH:M:sZ, ตัวอย่างเช่น, 1970-01-01T00:00.00Z) หรือความแตกต่างของ (ยกตัวอย่างเช่น ชิ้นส่วนที่หายไปตอนจบ) . ERDDAP™ ยกตัวอย่างเช่น "1970-10:0:0.0" รองรับรูปแบบอุดมคติดังกล่าว ถ้าข้อมูลเขตเวลาหายไป ก็ถือว่าเป็น Zulu เขตเวลา (ขนาด AKAGMT) . แม้ว่าการชดเชยเวลาอื่นจะถูกระบุ ERDDAP™ ไม่เคยใช้เวลากลางวันเพื่อประหยัดเวลา ถ้าเวลาพื้นฐานใช้รูปแบบอื่น ๆ คุณต้องใช้< addAttributes > เพื่อกําหนดข้อความของหน่วยใหม่ ซึ่งใช้การแปรเปลี่ยนของ ISO 8601: 2004 (E) ฟอร์แมต (e.g. เปลี่ยนแปลงวันตั้งแต่ January 1, 1985 มาเป็นวันตั้งแต่ 1985-01-01.
คุณสามารถทดสอบ ERDDAP ความสามารถในการจัดการกับบางอย่าง หน่วย ตั้งแต่ เวลาพื้นฐาน ด้วย ERDDAP ' ตัวแปลงเวลา . หวังว่าคุณคงใส่เลขลงไป (ค่าแรกจากแหล่งข้อมูล?) และสตริงหน่วย คลิกบนการแปลง และ ERDDAP™ จะสามารถแปลงเป็น ISO 8601:2004 (E) ปรับเทียบเวลา ตัวแปลง จะคืนค่ากลับมาเป็นข้อความผิดพลาด หากข้อความของหน่วยยังไม่ปรากฏ
หน่วยเวลาสตริง
- สําหรับแอตทริบิวต์ของหน่วยสําหรับเวลาหรือตัวแปรเวลาประทับด้วยข้อมูลสตริง คุณต้องกําหนดวัน จาวา.เวลา.Date TimeFormatter รูปแบบ (ซึ่งส่วนใหญ่จะเข้ากันได้กับจาวา ข้อความ แบบ SimpleDateFormat) ซึ่งอธิบายวิธีการตีความเวลาสตริง
สําหรับรูปแบบเวลาที่ใช้โดยทั่วไปที่มีความหลากหลายของ ISO 8601: 2004 (E) รูปแบบมาตรฐาน (ยกตัวอย่างเช่น 2018-01-02.00:00 น.) คุณสามารถระบุความแตกต่างของ yyyy-MM-dd 'T'HH:m:sz, ตัวอย่างเช่น, ใช้ yyyy-MM-dd ถ้าเวลาสตริงมีเพียงวันที่ สําหรับรูปแบบใดๆ ที่เริ่มต้นด้วย yyy-M ERDDAP ใช้ ตัว อย่าง พิเศษ ซึ่ง ให้ อภัย ความ แตก ต่าง เล็ก ๆ น้อย ๆ ใน รูป แบบ นี้. The Profile สามารถจัดการพื้นที่เวลาในรูปแบบ 'Z', "UTC", "GMT", XX:XXX, ±XXXXXXXXX, และรูปแบบ ±XXXXX". หากยังไม่ระบุส่วนของเวลาของวันที่ (ตัวอย่างเช่น นาทีและวินาที) . ERDDAP™ จํานวนตัวอักษรที่จะแทนที่ (เช่น หากยังไม่ระบุวินาที วินาที = 0 จะสมมุติ) .
สําหรับรูปแบบเวลาอื่น ๆ ทั้งหมด คุณต้องระบุวันที่ที่เข้ากันได้กับรูปแบบเวลาที่ถูกต้อง เหมือน yyyy-MM-dd 'T'HH:M:sZ, สตริงรูปแบบเหล่านี้ถูกสร้างขึ้นจากตัวอักษร ซึ่งระบุชนิดของข้อมูลเฉพาะจากสตริงเวลา, เช่น, m หมายถึง นาที-ชั่วโมง ถ้าคุณทําซ้ํารูปแบบตัวอักษรบาง ครั้ง มันจะปรับความหมายเพิ่มเติม เช่น m หมายถึง ค่านั้นอาจจะกําหนดโดยจํานวนตัวเลขใด ๆ mm หมายความว่า ค่านั้นจะต้องกําหนดโดย 2 หลัก เดอะ Java เอกสาร สําหรับ วัน เวลา นี่คือรายการของรูปแบบรูปแบบรูปแบบ และความหมายของมันภายใน ERDDAP™ (ซึ่งบางครั้งก็แตกต่างจาก Java วันและเวลา) .
| อักขระ | ตัวอย่าง | หมายความว่า |
|---|---|---|
| u, y, Y | –4712, 0, 1, 10, 100, 2018 | จํานวนปี จํานวนตัวเลข ERDDAP™ ใช้ค่า y (ปี-รา) และ Y (หนึ่งสัปดาห์, เพราะนี่มักใช้ผิด) เป็น u, จํานวนปีดาราศาสตร์ . ปีดาราศาสตร์เป็นจํานวนเต็มบวกหรือลบที่ไม่ได้ใช้ BC (BC) หรือ CE (ค่า) 2=2 ซีซี, 1 = 1 ซีซี, 0 = 1BCE, -1=2BCE, -2=3BCE. |
| อูว ยูย YYYY | –4712, 0000,0001, 0010, 0100, 2018 | เลข 4 จํานวนปีดาราศาสตร์ (ไม่สนใจอะไรก่อนหน้า) |
| M | 1, 01, 12 | จํานวนเดือน จํานวนตัวเลขใด ๆ (1 = มกราคม) |
| เอม | 01, 12 | เลข 2 (ไม่มีแพด) จํานวนเดือน |
| เมกะไบต์ | ยาน, ยาน, ยาน | 3 ตัวอักษรชื่อเดือนภาษาอังกฤษ, กรณีไร้ความรู้สึก |
| เอ็มเอ็มเอ็ม | Jaan, Jan, January, January, January | 3 ตัวอักษร หรือชื่อเต็มรายเดือน เกิดความไม่พอใจ |
| _ | 1, 01, 31 | จํานวนวันที่ของเดือนจํานวนของตัวเลขใด ๆ |
| dd | 01, 31 | เลข 2 (ไม่มีแพด) วันเดือน "หลัก" อันแรกอาจเป็นที่ว่าง |
| D | 1, 001, 366 | วันของปีจํานวนของตัวเลขใด ๆ , 011 = Jaan 1 |
| DD | 001, 366 | วัน-ปี, 3 หลัก, 1.00 = 1 |
| EEE | Tu, TU, Too | 3 อักษรวันต่อวันของสัปดาห์ ค่าที่ถูกละเลยเมื่อ swaming |
| อี อี อี | Tu, TU, Too, วันพฤหัสบดี, วันพฤหัสบดี | 3 ตัวอักษรหรือวันเต็มภาษาอังกฤษวันวันของสัปดาห์, กรณีไร้ความรู้สึก, ค่าจะถูกละเลยเมื่อ swaming |
| H | 0, 00, 23 | วัน/ชั่วโมง (0-23) จํานวนตัวเลขใด ๆ |
| เอช เอช | 00, 23 | วัน HH (00-23.) 2 หลัก. "หลัก" อันแรกอาจเป็นที่ว่าง |
| คือ | Am, AM, pm, PM | AM หรือ pM, แยกแยะกรณี |
| h | 12, 1, 01, 11 | ชั่วโมงของชั่วโมง (12, 1, 2,... 11) จํานวนตัวเลขใด ๆ |
| ฮึ | 12, 01, 11 | ชั่วโมงของชั่วโมง (12, 1, 2,... 11) 2 หลัก. "หลัก" อันแรกอาจเป็นที่ว่าง |
| K | 0, 1, 11 | ชั่วโมง (0, 1,...11) จํานวนตัวเลขใด ๆ |
| KK | 00, 01, 11 | ชั่วโมงของam-pm, 2 หลัก |
| m | 0, 00, 59 | นาทีของชั่วโมงจํานวนตัวเลขใด ๆ |
| อืม | 00, 59 | นาทีของชั่วโมง, 2 หลัก |
| วินาที | 0, 00, 59 | นาทีที่สอง จํานวนตัวเลขใด ๆ |
| วินาที | 00, 59 | 2 หลักนาที |
| เอส | 0, 000, 9, 999 | เศษส่วนของวินาทีเช่นถ้าต่อไปนี้ทศนิยมจํานวนตัวเลขใด ๆ |
| แบบ SS | 00, 99 | หนึ่งในร้อยของวินาที, 2 หลัก |
| แบบ SS | 000, 999 | สามหลักพันวินาที |
| A | 0, 0000, 86999999 | มิลลิวินาทีของวันจํานวนตัวเลขใด ๆ |
| อะ อา นา | 8000000, 846999999 | มิลลิวินาทีของวัน, 8 หลัก |
| N | 0,00000000000000, 866999999999999. | นาโนวินาทีต่อวัน จํานวนตัวเลข ใน ERDDAP™ นี่ถูกพันกับนิมิลลิส |
| NNNNNNNNNNNNNNNN | 8000000000000, 866999999999999. | นาโนวินาทีของวัน 14 หลัก ใน ERDDAP™ มันถูกพันกับนิมิลลิส |
| n | 0,00000000, 5999999999 | นาโนวินาที จํานวนตัวเลข ใน ERDDAP™ มันถูกพันกับนิมิลลิส |
| นินน์น์ | 100000000000, 599999999999 | นาโนวินาที 11 หลัก ใน ERDDAP™ มันถูกพันกับนิมิลลิส |
| XXX, ZZZ | Z, -08:00, +01:00 | พื้นที่เวลาพร้อมรูปแบบ 'Z' หรือ 'help' (ปรับค่าชั่วโมงตัวเลข 2 ชั่วโมง) . (พิกัดตัวเลข 2 นาที) . อาหารนี่ ช่องว่าง เป็น + (ไม่ใช้มาตรฐาน) . ZZP รองรับ 'Z' ไม่ใช่มาตรฐาน แต่เป็นการจัดการกับผู้ใช้ทั่วไปผิดพลาด |
| XX, ZZ | Z -0800, +0100 | พื้นที่เวลาพร้อมรูปแบบ 'Z' หรือ 'help' (ปรับค่าชั่วโมงตัวเลข 2 ชั่วโมง) . (พิกัดตัวเลข 2 นาที) . อาหารนี่ ช่องว่าง เป็น + (ไม่ใช้มาตรฐาน) . การรองรับ 'Z' ไม่ใช่มาตรฐาน แต่เป็นการจัดการกับผู้ใช้ทั่วไปผิดพลาด |
| X, Z | Z, -08, +01 | พื้นที่เวลาพร้อมรูปแบบ 'Z' หรือ 'help' (ปรับค่าชั่วโมงตัวเลข 2 ชั่วโมง) . (พิกัดตัวเลข 2 นาที) . อาหารนี่ ช่องว่าง เป็น + (ไม่ใช้มาตรฐาน) . Z รองรับ 'Z' ไม่ใช่มาตรฐาน แต่เกิดจากข้อผิดพลาดของผู้ใช้ทั่วไป |
| เสียง | –08:00, +01:00 | พื้นที่เวลาพร้อมรูปแบบ (ปรับค่าชั่วโมงตัวเลข 2 ชั่วโมง) . (พิกัดตัวเลข 2 นาที) . อาหารนี่ ช่องว่าง เป็น + (ไม่ใช้มาตรฐาน) . |
| xx | / 0800, +0100 | พื้นที่เวลาพร้อมรูปแบบ (ปรับค่าชั่วโมงตัวเลข 2 ชั่วโมง) (พิกัดตัวเลข 2 นาที) . อาหารนี่ ช่องว่าง เป็น + (ไม่ใช้มาตรฐาน) . |
| x | –08, +01 | พื้นที่เวลาพร้อมรูปแบบ (ปรับค่าชั่วโมงตัวเลข 2 ชั่วโมง) . อาหารนี่ ช่องว่าง เป็น + (ไม่ใช้มาตรฐาน) . |
| ' | 'T', 'Z', 'GMT' | เริ่มและจบชุดตัวอักษรตามตัวอักษร |
| ' ' (สองคําพูดเดียว) | ' ' | ข้อ ความ เดียว กัน สอง ครั้ง บ่ง ชี้ ถึง การ ยก มา กล่าว ครั้ง เดียว ตาม ตัว อักษร |
| \[ \] | \[ \] | เริ่ม (" \[ ") & สิ้นสุด (" \] ") ในส่วนของตัวเลือก สัญลักษณ์นี้รองรับเฉพาะตัวอักษรตามตัวอักษรเท่านั้น และตอนท้ายของรูปแบบข้อความเท่านั้น |
| ##123; #125; | ##123; #125; | สงวนไว้สําหรับใช้ในอนาคต |
| G, L, Q, c, V,z, O, p | อักขระการฟอร์แมตเหล่านี้ถูกรองรับโดย Java วันและเวลา แต่ปัจจุบันยังไม่รองรับ ERDDAP . ถ้าคุณต้องการความช่วยเหลือ อีเมล์ชื่อคริส จอห์นที่โนอา โกฟ |
บันทึกย่อ:
- ในช่วงเวลาที่มีเครื่องหมายวรรคตอน ค่าตัวเลขอาจมีจํานวนตัวเลข (e.g., ในรูปแบบวันในอเมริกา "1/2/1985", เดือนและวันที่อาจเป็น 1 หรือ 2 หลัก) รูปแบบจะต้องใช้เลข 1 ตัว, เช่น, m/d/yyy ซึ่งยอมรับจํานวนตัวเลขสําหรับเดือนและวัน
- หากจํานวนตัวเลขของรายการคงที่, เช่น, 01/02/1985, แล้วระบุจํานวนตัวเลขในรูปแบบ, เช่น, MM/d/yyyy สําหรับเดือน 2 หลัก, 2- หลัก, และ 4 ปี
- รูปแบบเหล่านี้ยากที่จะใช้ รูปแบบที่กําหนดอาจจะใช้ได้กับค่าส่วนใหญ่ แต่ไม่ใช่ทั้งหมด เส้นเวลาสําหรับตัวแปรที่กําหนด กรุณาตรวจสอบว่ารูปแบบที่คุณกําหนดทํางานตามที่คาดหวังไว้ ERDDAP สําหรับเส้นเวลาของตัวแปรทั้งหมด
- หากเป็นไปได้ การสร้าง DatatataetXml จะแนะนํารูปแบบข้อความ
- หากคุณต้องการความช่วยเหลือในการสร้างรูปแบบข้อความ โปรดส่งอีเมลคริส จอห์นที่โนอา โกฟ
ตัวแปรเวลาหลัก (ชุดข้อมูลอักขระแท็บ) และตัวแปรแกนเวลาหลัก (สําหรับชุดข้อมูลแบบฝังตัว) ได้รับการยอมรับจาก destinationName เวลา ข้อมูลกํากับภาพหน่วยของพวกเขาต้องเป็นข้อความของหน่วยยูดียูนิตที่เข้ากันได้ สําหรับค่าเวลาเป็นตัวเลข เช่น "วันที่ตั้งแต่ปี 1970-01-01" (ชุดข้อมูลอักขระแท็บหรือชุดรหัสอักขระ) หรือ แสดงเฉพาะหมายเลขของธาตุ "M/d/yyyyyy" (ชุดข้อมูลอักขระแท็บ) .
หน่วย เวลา ที่ แตก ต่าง กัน .nc แฟ้ม - ถ้าเธอมีของตกแต่ง .nc แฟ้มที่, สําหรับตัวแปรเวลา, สับเซตตัวหนึ่งของแฟ้ม ใช้หน่วยเวลาที่แตกต่างกันกว่าสับเซตอื่นๆ ของแฟ้ม, คุณสามารถใช้ EDDGrid แฟ้มจาก Nc . มันเปลี่ยนค่าเวลาเป็น "seconds since 1970-01-01T00:00:00Z" ในระดับที่ต่ํากว่า โดยจะปกปิดความแตกต่าง เพื่อที่คุณจะได้สามารถสร้างชุดข้อมูลหนึ่ง จากชุดสะสมไฟล์เสียง
ตัวแปรของเวลา
ตัวแปรของเวลา -- ตัวแปรอื่น ( axisVariable หรือ dataVariable ใน EDDGrid หรือชุดข้อมูล EDTable) ตัวแปรเวลา ตัวแปรเวลาเวลา คือตัวแปรที่มีหน่วยเวลา และข้อมูลเวลา แต่< destinationName > นอกจากเวลา ตัวแปร TimeStamp จะทํางานเหมือนตัวแปรเวลาหลักในการที่ พวกเขาแปลงรูปแบบของเวลาต้นทางเป็น "seconds since 1970-01-01T00:00:00Z" และ/หรือ ISO 8601: 2004 (E) รูปแบบ). ERDDAP™ เวลาจํา ตัวแปรจับเวลาของพวกเขา หน่วย "ข้อมูลกํากับภาพ ซึ่งต้องตรงกับเงื่อนไข" \[ a-za-z \] + ตั้งแต่ + \[ 0- 9 \] .+" (วัน ตัวอย่างเช่นเวลา "seconds since 1970-01-01T00:00:00Z" ) หรือเป็นเดท รูปแบบเวลาที่มี "Uuu", "yyyy" หรือ "YYYYY" (ยกตัวอย่างเช่น yyyy-MM-dd T'HH:M:sZ") . แต่ขอร้องล่ะ destinationName "time" สําหรับวันที่หลัก ตัวแปรเวลา
ตรวจสอบงานของคุณให้แน่ใจว่าข้อมูลเวลาที่ปรากฏใน ERDDAP™ เป็นข้อมูลเวลาที่ถูกต้อง การทํางานกับข้อมูลเวลานั้น มักจะยากและผิดพลาดเสมอ
ดู ข้อมูลเพิ่มเติมเกี่ยวกับตัวแปรเวลา . ERDDAP™ มีสิ่งอํานวยความสะดวก แปลงตัวเลข เวลาเข้า/ จากเวลาสตริง . ดู ยังไง ERDDAP™ จัดการกับเวลา .
valid\_range
- ** valid\_range ** หรือ ** valid\_min ** ถึง ** valid\_max ** -- พวกนี้คือคุณลักษณะตัวแปรที่นิยามไว้ CF การประชุมข้อมูล ยกตัวอย่างเช่น
<att name="valid\_range" type="floatList"\>0.0 40.0</att>
หรือ
<att name="valid\_min" type="float"\>0.0</att>
<att name="valid\_max" type="float"\>40.0</att>
- หากมี มันควรอยู่ในประเภทข้อมูลเดียวกับตัวแปร และระบุค่าต่ําสุดและสูงสุดที่ถูกต้องของข้อมูลสําหรับตัวแปรนั้น ผู้ใช้ควรจะพิจารณาค่าต่าง ๆ ที่อยู่นอกช่วงนี้ไม่ถูกต้อง
- ERDDAP™ ไม่สามารถใช้ valid\_range . พูดอีกอย่างคือ ERDDAP™ ไม่แปลงค่าข้อมูลภายนอก valid\_range ไปยัง / help ค่าหรือ missing\_value . ERDDAP™ แค่ส่งต่อข้อมูลกํากับนี้ และทิ้งโปรแกรมไว้ให้คุณ ทําไม? นี่คือข้อมูลกํากับ ถ้าผู้ให้บริการข้อมูลต้องการ ผู้ให้บริการข้อมูลอาจจะแปลงค่าข้อมูลนอก valid\_range ให้เป็น /N/Fillvalues ERDDAP™ ไม่ได้เดาจากผู้จัดหาข้อมูล วิธี นี้ ปลอด ภัย กว่า: ถ้า ภาย หลัง แสดง ว่า valid\_range มันแคบหรือไม่ถูกต้อง ERDDAP™ จะไม่ลบข้อมูล
- ถ้าข้อมูลถูกบรรจุด้วย scale\_factor &/ หรือ add\_offset . valid\_range . valid\_min ถึง valid\_max ควรเป็นชนิดของข้อมูลและค่าของแพ็ค ตั้งแต่ ERDDAP™ ใช้ได้ scale\_factor ถึง add\_offset เมื่อมันโหลดข้อมูล ERDDAP™ จะรื้อถอน valid\_range . valid\_min ถึง valid\max ตั้งค่าข้อมูลกํากับภาพปลายทาง (แสดงไปยังผู้ใช้) จะบอกชนิดของข้อมูลที่แตกและช่วง หรือ ถ้าของที่ห่อมา\ valid\_range แอททริบิวต์มีอยู่, จะถูกเปลี่ยนชื่อ valid\_range เมื่อ ERDDAP™ ขนชุดข้อมูล
<ลบรายการออก
- [ ** <เอาMVrows ออก! ** ) (# ย้าย #) เป็นป้ายกํากับภายในแท็ก datasets.xml สําหรับ DDTA จากแฟ้ม (รวมทั้งคลาสย่อยทั้งหมด) ชุดข้อมูล แม้ว่ามันจะถูกใช้เฉพาะกับ DEDTable from Multiidimc Files อาจ มี คุณค่า ของ ความ จริง หรือ ความ เท็จ. ตัวอย่างเช่น จริง นี่ลบบล็อกของแถวใด ๆ ที่ปลายกลุ่มที่ค่าทั้งหมด missing\_value , / volvulue หรือ Cohert ... ค่าพื้นเมืองที่หายไป (หรือชาร์=#32 สําหรับชาอาเรย์) . นี่เป็นแฟ้มประเภท CF DSG แบบหลายมิติอาร์เรย์และแฟ้มที่คล้ายกัน ถ้าเป็นจริง นี้ไม่ทดสอบที่เหมาะสมและเพื่อให้เสมอโหลดตัวแปรสลัวสูงสุดเพื่อให้มันใช้เวลาพิเศษ ค่าปริยายเป็นเท็จ คําแนะนํา-- ถ้าเป็นไปได้สําหรับชุดข้อมูลของคุณ เราขอแนะนําให้ตั้งค่า mWrows จะเท็จ การตั้งค่าการลบMVrows เป็นค่าจริง สามารถจะชะลอการร้องขอลงได้ แต่อาจจะจําเป็นสําหรับชุดข้อมูลบางตัว