ฟังก์ชันเชิงพื้นที่
ฟังก์ชันเชิงพื้นที่ช่วยให้คุณสามารถทำการวิเคราะห์เชิงพื้นที่ขั้นสูงและรวมไฟล์เชิงพื้นที่กับข้อมูลในรูปแบบอื่นๆ เช่น ไฟล์ข้อความหรือสเปรดชีต ตัวอย่างเช่น คุณอาจมีไฟล์เชิงพื้นที่ของเขตเทศบาลเมือง และไฟล์ข้อความที่มีพิกัดละติจูดและลองจิจูดของหลุมบนถนนที่รายงาน คุณสามารถใช้การคำนวณเชิงพื้นที่ได้ เมื่อสร้างแหล่งข้อมูลของคุณเพื่อรวมไฟล์เหล่านี้และวิเคราะห์ว่าเขตใดใช้เวลานานที่สุดในการซ่อมแซมหลุมบนถนน
คุณสามารถสร้างเส้นที่เชื่อมต่อจุดข้อมูลสองจุดสำหรับแผนที่ต้นทาง-ปลายทางได้เช่นกัน ตัวอย่างเช่น คุณอาจมีสเปรดชีตของข้อมูลการขนส่งสาธารณะที่บอกคุณว่าผู้เดินทางเริ่มต้นและสิ้นสุดการเดินทางที่ใด คุณสามารถใช้การคำนวณเชิงพื้นที่เพื่อดูว่าผู้เดินทางใช้เส้นทางใด
ฟังก์ชันเชิงพื้นที่ที่มีอยู่ใน Tableau
AREA
ไวยากรณ์ | AREA(Spatial Polygon, 'units') |
เอาต์พุต | หมายเลข |
คำนิยาม | แสดงพื้นที่พื้นผิวทั้งหมดของ <spatial polygon> |
ตัวอย่าง | AREA([Geometry], 'feet') |
หมายเหตุ | ชื่อหน่วยที่รองรับ (ต้องอยู่ในเครื่องหมายคำพูดในการคำนวณ เช่น
|
BUFFER
ไวยากรณ์ | BUFFER(Spatial Point, distance, 'units')
|
เอาต์พุต | เรขาคณิต |
คำนิยาม | สำหรับจุดเชิงพื้นที่ แสดงรูปร่างรูปหลายเหลี่ยมที่อยู่ตรงกลางเหนือ a สำหรับเส้นตรง ให้คำนวณรูปหลายเหลี่ยมที่เกิดจากการรวมจุดทั้งหมดภายในระยะรัศมีจากเส้นตรง |
ตัวอย่าง | BUFFER([Spatial Point Geometry], 25, 'mi') BUFFER(MAKEPOINT(47.59, -122.32), 3, 'km') BUFFER(MAKELINE(MAKEPOINT(0, 20),MAKEPOINT (30, 30)),20,'km')) |
หมายเหตุ | ชื่อหน่วยที่รองรับ (ต้องอยู่ในเครื่องหมายคำพูดในการคำนวณ เช่น
|
DISTANCE
ไวยากรณ์ | DISTANCE(SpatialPoint1, SpatialPoint2, 'units') |
เอาต์พุต | หมายเลข |
คำนิยาม | แสดงการวัดระยะห่างระหว่างสองจุดของ <unit> ที่กำหนด |
ตัวอย่าง | DISTANCE([Origin Point],[Destination Point], 'km') |
หมายเหตุ | ชื่อหน่วยที่รองรับ (ต้องอยู่ในเครื่องหมายคำพูดในการคำนวณ เช่น
|
ข้อจำกัดของฐานข้อมูล | ฟังก์ชันนี้สามารถสร้างกับการเชื่อมต่อแบบเรียลไทม์ได้เท่านั้น แต่จะทำงานต่อไปหากแปลงแหล่งข้อมูลเป็นการแยกข้อมูล |
จุดตัด
ไวยากรณ์ | INTERSECTS (geometry1, geometry2) |
เอาต์พุต | บูลีน |
คำนิยาม | แสดงค่า True หรือ False ซึ่งระบุว่ารูปทรงเรขาคณิตสองรูปทับซ้อนกันในพื้นที่หรือไม่ |
หมายเหตุ | ค่าผสมที่รองรับ: จุด/รูปหลายเหลี่ยม, เส้น/รูปหลายเหลี่ยม และรูปหลายเหลี่ยม/รูปหลายเหลี่ยม |
MAKELINE
ไวยากรณ์ | MAKELINE(SpatialPoint1, SpatialPoint2) |
เอาต์พุต | เรขาคณิต (เส้น) |
คำนิยาม | สร้างเครื่องหมายเส้นระหว่างจุดสองจุด |
ตัวอย่าง | MAKELINE(MAKEPOINT(47.59, -122.32), MAKEPOINT(48.5, -123.1)) |
หมายเหตุ | มีประโยชน์สำหรับการสร้างแผนที่ต้นทาง-ปลายทาง |
MAKEPOINT
ไวยากรณ์ | MAKEPOINT(latitude, longitude, [SRID]) |
เอาต์พุต | เรขาคณิต (จุด) |
คำนิยาม | แปลงข้อมูลจากคอลัมน์ หากเพิ่มอาร์กิวเมนต์ |
ตัวอย่าง | MAKEPOINT(48.5, -123.1) MAKEPOINT([AirportLatitude], [AirportLongitude]) MAKEPOINT([Xcoord],[Ycoord], 3493) |
หมายเหตุ |
คุณสามารถใช้ |
LENGTH
ไวยากรณ์ | LENGTH(geometry, 'units') |
เอาต์พุต | หมายเลข |
คำนิยาม | แสดงความยาวเส้นทาง geodetic ของสตริงบรรทัดหรือสตริงใน <geometry> โดยใช้ <units> ที่กำหนด |
ตัวอย่าง | LENGTH([Spatial], 'metres') |
หมายเหตุ | ผลลัพธ์ก็คือ <NaN> หากอาร์กิวเมนต์เรขาคณิตไม่มีเส้นตรง แม้ว่าองค์ประกอบอื่นๆ จะได้รับอนุญาตก็ตาม |
OUTLINE
ไวยากรณ์ | OUTLINE(spatial polygon) |
เอาต์พุต | เรขาคณิต |
คำนิยาม | แปลงเรขาคณิตรูปหลายเหลี่ยมให้เป็นเส้นตรง |
หมายเหตุ | มีประโยชน์สำหรับการสร้างเลเยอร์แยกต่างหากสำหรับโครงร่างที่สามารถจัดสไตล์ให้แตกต่างจากการเติมได้ รองรับรูปหลายเหลี่ยมภายในหลายรูปหลายเหลี่ยม |
SHAPETYPE
ไวยากรณ์ | SHAPETYPE(geometry) |
เอาต์พุต | สตริง |
คำนิยาม | แสดงสตริงที่อธิบายโครงสร้างของ <geometry> เชิงพื้นที่ เช่น Empty, Point, MultiPoint, LineString, MultiLinestring, Polygon, MultiPolygon, Mixed และไม่รองรับ |
ตัวอย่าง | SHAPETYPE(MAKEPOINT(48.5, -123.1)) = "Point" |
VALIDATE
ไวยากรณ์ | VALIDATE(spatial geometry) |
เอาต์พุต | เรขาคณิต |
คำนิยาม | ยืนยันความถูกต้องทางโทโพโลยีของรูปทรงเรขาคณิตในค่าเชิงพื้นที่ของคุณ หากค่าไม่สามารถนำไปใช้ในการวิเคราะห์ได้เนื่องจากปัญหา เช่น เส้นรอบวงของรูปหลายเหลี่ยมตัดกันเอง ผลลัพธ์จะเป็นค่า null หากรูปทรงเรขาคณิตถูกต้อง ผลลัพธ์ก็จะเป็นรูปทรงเรขาคณิตเดิม |
ตัวอย่าง |
|
ใช้การคำนวณเชิงพื้นที่
สร้างข้อมูลเชิงพื้นที่โดยใช้ MAKEPOINT
คุณสามารถใช้ MAKEPOINT เพื่อเปิดใช้งานแหล่งข้อมูลในเชิงพื้นที่เพื่อให้สามารถรวมกับไฟล์เชิงพื้นที่ได้โดยใช้การรวมเชิงพื้นที่ หากต้องการใช้ MAKEPOINT ข้อมูลของคุณต้องมีพิกัดละติจูดและลองจิจูด
- เปิด Tableau แล้วเชื่อมต่อกับแหล่งข้อมูลเชิงพื้นที่
- ในส่วน "การเชื่อมต่อ" ให้คลิก "เพิ่ม" เพื่อเพิ่มแหล่งข้อมูลที่สองที่ไม่ใช่เชิงพื้นที่
แหล่งข้อมูลทั้งสองจะถูกเพิ่มลงในแคนวาส
เคล็ดลับ: ในการทำให้กล่องโต้ตอบ “รวม” ปรากฏขึ้น ให้ดับเบิลคลิกที่ (กด Control แล้วคลิกบน Mac) แหล่งข้อมูลบนแคนวาส
ลากแหล่งข้อมูลที่ไม่ใช่เชิงพื้นที่ไปที่กล่องโต้ตอบ “รวม”
- คลิกไอคอน "การรวม"
- ในกล่องโต้ตอบ "รวม" ที่ปรากฏขึ้น ให้ทำดังนี้:
- เลือกประเภทการรวม
- ในส่วน "แหล่งข้อมูล" ให้เลือกฟิลด์เชิงพื้นที่จากไฟล์เชิงพื้นที่ของคุณเพื่อรวม ฟิลด์เชิงพื้นที่มีไอคอนลูกโลกอยู่ด้านข้าง
- สำหรับแหล่งข้อมูลที่ไม่ใช่เชิงพื้นที่ ให้เลือก "สร้างการคำนวณแบบรวม" เป็นรวมข้อมูล
การคำนวณอาจมีลักษณะดังนี้
MAKEPOINT(Latitude,Longitude)
- เลือกตกลง
เลือกโอเปอเรเตอร์คำสั่งรวมข้อมูล Intersects เพื่อสร้างแหล่งข้อมูลสำหรับการวิเคราะห์เชิงพื้นที่
- เมื่อเสร็จสิ้น ให้ปิดกล่องโต้ตอบการรวม
หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับการรวมเชิงพื้นที่ โปรดดู รวมไฟล์เชิงพื้นที่ใน Tableau
สร้างการแสดงเป็นภาพโดยใช้ MAKELINE
ใน Tableau Desktop ให้ดาวน์โหลดเวิร์กบุ๊กเส้นทางไฟลท์จาก Tableau Public ที่มีให้ใช้งานที่นี่(ลิงก์จะเปิดในหน้าต่างใหม่)
- ไปที่เวิร์กชีตใหม่
- เลือก “การวิเคราะห์” > "สร้างฟิลด์ที่คำนวณ"
- ในการคำนวณที่เปิดขึ้น ให้ทำดังนี้:
- ตั้งชื่อฟิลด์ที่คำนวณว่า "เส้นทางการบิน"
- ป้อนสูตรต่อไปนี้
- เมื่อเสร็จแล้ว ให้คลิกตกลง
- จากแผง "ข้อมูล" ดับเบิลคลิก "เส้นทางการบิน" เพื่อเพิ่มไปยังการแสดงเป็นภาพของคุณ ซึ่งควรแสดงผลเป็นแผนที่โดยอัตโนมัติ
MAKELINE(MAKEPOINT([Lat],[Lng]),MAKEPOINT([Dest Lat],[Dest Lng]))
สูตรนี้ใช้พิกัดละติจูดและลองจิจูดจากเมืองต้นทางและปลายทางของคุณ แล้วแปลงเป็นพิกัดทางภูมิศาสตร์สำหรับการวิเคราะห์เชิงพื้นที่ พิกัดเหล่านี้ใช้เพื่อสร้างเส้นระหว่างพิกัดต้นทางและปลายทาง
ฟิลด์ที่คำนวณใหม่จะปรากฏในส่วน "มิติข้อมูล" ในแผง "ข้อมูล" คุณสามารถใช้ฟิลด์นี้ในการแสดงเป็นภาพได้มากกว่าหนึ่งรายการ เช่นเดียวกับฟิลด์อื่นๆ
การคำนวณจะสร้างเส้นโค้งจีโอเดสิกโดยอัตโนมัติ เมื่อเส้นขยายยาวออกไปทั่วลูกโลก
แสดงเป็นภาพพื้นที่ด้วยบัฟเฟอร์
ใน Tableau Desktop ให้ดาวน์โหลดเวิร์กบุ๊กเส้นทางไฟลท์จาก Tableau Public ที่มีให้ใช้งานที่นี่(ลิงก์จะเปิดในหน้าต่างใหม่)
- ไปที่เวิร์กชีตใหม่
- คลิกขวาที่แผงข้อมูล และเลือกสร้างพารามิเตอร์
- ในกล่องโต้ตอบพารามิเตอร์ที่เปิดขึ้น ให้กำหนดตัวเลือกด้านล่างดังนี้:
- ตั้งชื่อพารามิเตอร์ "ระยะห่างบัฟเฟอร์"
- กำหนด "ประเภทข้อมูล" เป็น "จำนวนเต็ม"
- กำหนด ค่า "ที่อนุญาต" เป็น "ช่วง"
- กำหนดช่วงต่ำสุดเป็น 100 ช่วงสูงสุดเป็น 1000 และปรับทีละ 100
- เมื่อเสร็จแล้ว ให้คลิกตกลง
- เลือก การวิเคราะห์ > สร้างฟิลด์ที่คำนวณ
- ในการคำนวณที่เปิดขึ้น ให้ทำดังนี้:
- ตั้งชื่อฟิลด์ที่คำนวณว่า "บัฟเฟอร์"
- ป้อนสูตรต่อไปนี้
- เมื่อเสร็จแล้ว ให้คลิกตกลง
- จากแผง "ข้อมูล" ดับเบิลคลิกที่บัฟเฟอร์เพื่อเพิ่มไปยังการแสดงเป็นภาพของคุณ ซึ่งควรแสดงผลเป็นแผนที่โดยอัตโนมัติ
- ลากปลายทางไปที่แผง "สี" บนการ์ด "เครื่องหมาย" เพื่อให้การแสดงเป็นภาพเสร็จสมบูรณ์
พารามิเตอร์นี้จะช่วยให้เราปรับแต่งรัศมีของบัฟเฟอร์ได้ตั้งแต่ 100 ถึง 1,000 ไมล์ ให้คลิกขวาที่พารามิเตอร์ และเลือกแสดงพารามิเตอร์
BUFFER(MAKEPOINT([Dest Lat],[Dest Lng]),[Buffer Distance],"miles")
การคำนวณบัฟเฟอร์ต้องใช้ข้อมูลเชิงพื้นที่แบบจุดและแปลงเป็นรูปทรงโดยมีรัศมีเป็นไมล์ ซึ่งกำหนดโดยพารามิเตอร์ "ระยะห่างบัฟเฟอร์"
หมายเหตุ: เนื่องจาก BUFFER ใช้ได้กับข้อมูลเชิงพื้นที่แบบจุดเท่านั้น เราจึงต้องแปลงข้อมูลละติจูดและลองจิจูดเป็นจุดด้วย Makepoint ดังที่แสดงในตัวอย่างก่อนหน้านี้
ฟิลด์ที่คำนวณใหม่จะปรากฏในแผงข้อมูล คุณสามารถใช้ฟิลด์นี้ในการแสดงเป็นภาพได้มากกว่าหนึ่งรายการ เช่นเดียวกับฟิลด์อื่นๆ
หมายเหตุ: หากมุมมองของคุณไม่เหมือนกับรูปภาพด้านบน โปรดตรวจสอบให้แน่ใจว่าได้กำหนดประเภทของ "เครื่องหมาย" เป็นแผนที่ ไม่ใช่วงกลม หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับประเภทของ "เครื่องหมาย" โปรดดู เปลี่ยนประเภทของเครื่องหมายในมุมมอง