Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> ฐานข้อมูล

บริการแผนที่และไทล์ของบุคคลที่สามกับ Kibana

บริการแผนที่และไทล์ของบุคคลที่สามกับ Kibana

นอกกรอบ Kibana มีความสามารถในการแสดงข้อมูลทางภูมิศาสตร์บนแผนที่ที่ให้บริการโดยบริการไทล์ของ Elastic นี่เป็นการแนะนำที่ดีว่า Kibana ทำอะไรได้บ้าง แต่ระดับการซูมสูงสุดจะถูกจำกัดหากคุณไม่มีใบอนุญาต X-Pack ตัวอย่างเช่น การซูมสูงสุดสำหรับฐานบ้านของ ObjectRocket ในเมืองออสติน รัฐเท็กซัสคือด้านล่าง:

บริการแผนที่และไทล์ของบุคคลที่สามกับ Kibana

ข่าวดีก็คือมันง่ายพอที่จะกำหนดค่า Kibana เพื่อใช้บริการไทล์อื่นหรือเซิร์ฟเวอร์การแมปที่สอดคล้องกับ WMS

เหตุใดจึงใช้บริการแผนที่อื่น

บริการไทล์ยืดหยุ่นเป็นประโยชน์อย่างมากสำหรับผู้ใช้ทุกคน แต่อาจมีบางครั้งที่คุณต้องการแยกจากบริการเริ่มต้น นี่คือบางส่วน:

  • คุณต้องการขยายเพิ่มเติมไปยังข้อมูลระดับถนน
  • คุณต้องการเพิ่มเลเยอร์ใหม่หรือจัดเตรียมรูปแบบแผนที่อื่น
  • คุณต้องการแผนที่ที่กำหนดเองอย่างสมบูรณ์ เช่น ภายในอาคาร เป็นต้น

สิ่งเหล่านี้ล้วนเป็นการค้นหาเซิร์ฟเวอร์ที่ให้ข้อมูลที่คุณต้องการ จากนั้นกำหนดค่า Kibana เพื่อใช้เซิร์ฟเวอร์นั้น

น่าเสียดายที่ Kibana อาจทำให้เกิดความสับสนเล็กน้อย เนื่องจากสามารถใช้บริการแผนที่สองประเภทที่แตกต่างกันโดยสิ้นเชิง ฉันจะแนะนำสิ่งเหล่านี้ก่อนที่เราจะพูดถึงวิธีใช้ ตามค่าเริ่มต้น Kibana จะดึงแผนที่จาก Tile Map Service หรือ TMS บริการไทล์จะสับแผนที่ออกเป็นไทล์สี่เหลี่ยมจัตุรัสที่สามารถเข้าถึงได้โดยพิกัดและระดับการซูม นี่คือสิ่งที่ Elastic มอบให้และมีการกำหนดค่าทั่วโลกใน kibana.yml ไฟล์การกำหนดค่า อีกวิธีหนึ่งในการแสดงแผนที่ใน Kibana คือการใช้บริการแผนที่ที่สอดคล้องกับ WMS หรือ WMS บริการแผนที่เว็บทำงานโดยใช้โปรโตคอลที่แตกต่างกันและสร้างแผนที่จากข้อมูลในฐานข้อมูล GIS สามารถตั้งค่าได้จากภายใน Kibana UI

การใช้บริการแผนที่ของบุคคลที่สาม

มีบริการแผนที่เชิงพาณิชย์มากมาย รวมถึงแหล่งข้อมูลฟรีสำหรับสร้างแผนที่ เช่น OpenStreetMap เพื่อวัตถุประสงค์ในการทดสอบ มีบริการไทล์ฟรีตาม OpenStreetMap เช่น Stamen ที่คุณสามารถทดสอบได้ ในด้าน WMS ยังมีเซิร์ฟเวอร์แผนที่ฟรีสำหรับการทดสอบ เช่น National Map ในสหรัฐอเมริกา สุดท้ายนี้ มีตัวเลือกสำหรับการตั้งค่าบริการแผนที่ของคุณเอง ซึ่งฉันจะพูดถึงในภายหลัง

การตั้งค่า Kibana เพื่อใช้บริการไทล์อื่น

อีกครั้ง โดยค่าเริ่มต้น การทำแผนที่สำหรับ Kibana จะขึ้นอยู่กับบริการไทล์ Stamen ซึ่งกล่าวไว้ข้างต้น เป็นหนึ่งในบริการทดสอบฟรีที่ฉันโปรดปรานและนำเสนอรูปแบบแผนที่ที่คมชัดหลายแบบ ดังนั้นเราจะทำการทดสอบกับสิ่งนั้น

คุณจะต้องเข้าถึง kibana.yml . ของคุณ เพื่อทำการเปลี่ยนแปลงนี้ ดังนั้นหากคุณใช้บริการโฮสต์ เช่น ObjectRocket สำหรับ Elasticsearch คุณสามารถใช้การติดตั้ง kibana ในเครื่องเพื่อทดสอบก่อนได้ เมื่อคุณพบ kibana.yml . แล้ว คุณจะต้องเพิ่มรายการต่อไปนี้:

tilemap.url: "https://stamen-tiles.a.ssl.fastly.net/terrain/{z}/{x}/{y}.jpg"
tilemap.options.maxZoom: 20
tilemap.options.attribution: 'Map tiles by [Stamen Design](https://stamen.com), under [CC BY 3.0](https://creativecommons.org/licenses/by/3.0). Data by [OpenStreetMap](https://openstreetmap.org), under ODbL(https://www.openstreetmap.org/copyright).'

การตั้งค่าแรกคือ URL สำหรับบริการไทล์และเป็นไปตาม endpoint/{z}/{x}/{y}.jpg/png ปกติ รูปแบบที่บริการไทล์มาตรฐานใช้ โปรดทราบว่า Stamen มีสไตล์เจ๋งๆ มากมาย เช่น 'โทนเนอร์' และ 'สีน้ำ' ที่คุณสามารถใช้ได้โดยแทนที่ 'terrain' ใน url การตั้งค่าที่สองคือจำนวนการตั้งค่าการซูมสูงสุด บริการบางอย่างไม่ได้โฆษณาสิ่งนี้ ดังนั้นจึงต้องมีการลองผิดลองถูกเล็กน้อย สุดท้าย และที่สำคัญมากคือการระบุแหล่งที่มาของแผนที่ให้กับผู้สร้างอย่างเหมาะสม เครื่องหมายแสดงที่มาจะแสดงที่มุมล่างขวาของการแสดงภาพแผนที่

เมื่อตั้งค่าแล้วและเริ่มต้น Kibana ใหม่ คุณจะเห็นว่าคุณสามารถซูมได้ไกลขึ้นอีกมาก และรับแผนที่ที่เก๋ไก๋ เปรียบเทียบภาพด้านล่างกับภาพด้านบน:

บริการแผนที่และไทล์ของบุคคลที่สามกับ Kibana

บริการแผนที่และไทล์ของบุคคลที่สามกับ Kibana

กำลังเชื่อมต่อกับแผนที่ WMS จาก Kibana

การกำหนดค่าจะแตกต่างกันเล็กน้อยสำหรับแผนที่ WMS และต้องตั้งค่าภายใน Kibana เอง แทนที่จะตั้งค่าจากไฟล์การกำหนดค่า สำหรับตัวอย่างนี้ ฉันจะใช้แผนที่แห่งชาติของ United States Geological Services โดยเฉพาะแผนที่การขนส่ง เพื่อให้เราสามารถเล่นกับเลเยอร์ต่างๆ ที่มีได้ ขั้นแรก คุณจะต้องโหลดการแสดงภาพแผนที่พิกัดใน Kibana แล้วคลิกปุ่ม "ตัวเลือก" จากที่นั่น คุณจะต้องเลือก “เซิร์ฟเวอร์แผนที่ที่สอดคล้องกับ WMS”

บริการแผนที่และไทล์ของบุคคลที่สามกับ Kibana

เมื่อคุณเลือกแล้ว การตั้งค่าใหม่จะปรากฏขึ้น คุณจะต้องกรอก URL สำหรับเซิร์ฟเวอร์ WMS ว่าจะใช้เลเยอร์ใด เวอร์ชันของมาตรฐาน WMS ที่เซิร์ฟเวอร์ใช้งานอยู่ ประเภทรูปภาพที่จะโหลด และสไตล์ที่จะใช้ การตั้งค่าเหล่านี้อธิบายไว้ในเอกสารประกอบของ Kibana

นี้ซับซ้อนกว่าบริการไทล์ซึ่งใช้พิกัดเพียงเล็กน้อย แต่โชคดีที่บริการแผนที่ที่เราจะใช้มีเครื่องมือบางอย่างในตัว ก่อนอื่น ถ้าคุณไปที่หน้า Nationalmap มันจะดี หน้าคำอธิบายของแผนที่และคุณสมบัติของแผนที่ หน้านี้อธิบายแผนที่และเลเยอร์ทั้งหมด หากคุณต้องการรายละเอียดเพิ่มเติมเกี่ยวกับความสามารถของแผนที่ ให้คลิกที่ WMS ที่ด้านบนสุด และคุณจะเห็น XML โดยละเอียดของความสามารถของเซิร์ฟเวอร์ เช่น เวอร์ชัน รูปแบบรูปภาพที่รองรับ และอื่นๆ จากข้อมูลนี้และลิงก์ WMS เราจะใช้การตั้งค่าต่อไปนี้สำหรับแผนที่นี้:

  • URL ของ WMS: https://services.nationalmap.gov/arcgis/services/transportation/MapServer/WMSServer
  • เลเยอร์ WMS: 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24, 25,26,27,28,29,30,31,32,33,34,35,36
  • เวอร์ชัน WMS: 1.3.0
  • รูปแบบ WMS: ภาพ/png
  • การระบุแหล่งที่มาของ WMS: ให้บริการโดยหน่วยงานธรณีวิทยาของสหรัฐอเมริกา (Nationalmap.gov)
  • รูปแบบ: ว่างเปล่า

หมายเหตุหนึ่งเกี่ยวกับชั้น ดูเหมือนว่าแผนที่ที่เราใช้มีลำดับชั้นของเลเยอร์ แต่ไม่มีชวเลขที่ฉันสามารถหาได้เพื่อเรียกพวกมันทั้งหมดออกมา ดังนั้นเพียงแค่ระบุแต่ละเลเยอร์

หากคุณมีการตั้งค่าทั้งหมดแล้ว ในตอนนี้ คุณควรจะสามารถเห็นมุมมองดังนี้:

บริการแผนที่และไทล์ของบุคคลที่สามกับ Kibana

นอกจากนี้ยังสามารถตั้งค่า WMS เป็นค่าเริ่มต้นสำหรับการแสดงภาพทั้งหมดในหน้าจอการตั้งค่าขั้นสูงของ Kibana

การตั้งค่าแผนที่หรือเซิร์ฟเวอร์ไทล์ของคุณเอง

ในบันทึกสุดท้าย เมื่อคุณต้องการนำสิ่งนี้ไปสู่การผลิต การรันเซิร์ฟเวอร์ไทล์/แผนที่ของคุณเองอาจเป็นวิธีที่จะไป คุณสามารถสร้างแผนที่ที่กำหนดเองได้อย่างเต็มที่ เช่น ลานสเก็ต NHL หรือสร้างแผนที่ถนนหรือแผนที่ภูมิประเทศจากบางอย่าง เช่น OpenStreetMap และใช้เลเยอร์ของคุณเอง มีเครื่องมือโอเพนซอร์ซที่ยอดเยี่ยมมากมาย เช่น geoserver ซึ่งกล่าวถึงในบล็อกของ Elastic หรือ TileCache ซึ่งล้วนมีบทแนะนำและเอกสารโดยละเอียดเกี่ยวกับวิธีเริ่มต้นใช้งาน นอกจากนี้ OpenStreepMap ยังให้ข้อมูลมากมายในวิกิของพวกเขาเพื่อช่วยให้คุณเริ่มต้นพร้อมกับไซต์ SWITCH2OSM ที่มีแหล่งข้อมูลเพื่อเริ่มต้นให้บริการข้อมูล OpenStreetMap

สนใจว่า Elasticsearch สามารถทำอะไรกับแอปของคุณได้บ้าง เรานำเสนออินสแตนซ์ Elasticsearch ที่มีการจัดการและโฮสต์เต็มรูปแบบ พร้อมด้วยผู้เชี่ยวชาญ DBA ที่สามารถช่วยให้คุณได้รับประโยชน์สูงสุดจาก Elasticsearch และ Kibana โดยไม่ต้องเชื่อมโยงทรัพยากรการพัฒนาของคุณ ติดต่อเราเพื่อขอคำปรึกษา