API บันทึก
ฟิลด์ Geofield มีคอลัมน์ข้อมูลเก้าคอลัมน์เกี่ยวกับข้อมูลทางภูมิศาสตร์> ที่จัดเก็บ หัวใจของมันคือคอลัมน์ 'wkt' ที่เก็บรูปทรงเรขาคณิตเต็มรูปแบบในรูปแบบ 'Well Known Text' (WKT) คอลัมน์อื่น ๆ ทั้งหมดเป็นข้อมูลเมตาที่ได้มาจากคอลัมน์ WKT คอลัมน์มีดังนี้:
'geom' มูลค่าวัตถุดิบ โดยค่าเริ่มต้นแล้วเก็บไว้เป็น WKB โหลดเป็น WKT
'geo_type' ประเภทของรูปทรงเรขาคณิต (จุด, ส่องแสง, รูปหลายเหลี่ยม ฯลฯ )
'lat' Centroid (ละติจูดหรือ Y)
'lon' Centroid (ลองจิจูดหรือ X)
'Top' Bounding Box Top ( Latitude หรือ Max Y) 'bottom' การ จำกัด กล่องล่าง (Latitude หรือ Min Y)
'ซ้าย' Bounding Box Left (ลองจิจูดหรือ Min X)
'ขวา' Bounding Box Right (ลองจิจูดหรือ Max X)
'geohash' Geohash 'Geohash' เทียบเท่ากับค่าคอลัมน์ geom
เมื่อบันทึกตำแหน่งทางภูมิศาสตร์โดยใช้วิดเจ็ตที่จัดให้ค่าเหล่านี้จะถูกส่งผ่านฟังก์ชัน geofield_compute_values เพื่อคำนวณค่าที่ขึ้นต่อกัน โดยค่าเริ่มต้นขึ้นอยู่กับการคำนวณขึ้นอยู่กับ WKT แต่อาจจะเกินกว่าที่จะคำนวณค่าตามคอลัมน์อื่น ๆ ตัวอย่างเช่น geofield_compute_values อาจถูกเรียกเช่น:
geofield_compute_values ($ values, 'latlon');
สิ่งนี้จะคำนวณฟิลด์ wkt (และฟิลด์อื่น ๆ ทั้งหมด) ตามคอลัมน์ lat / lon ส่งผลให้เกิดจุด ในฐานะนักพัฒนาสิ่งนี้เป็นสิ่งสำคัญที่ต้องจำไว้ถ้าคุณแก้ไขข้อมูลตำแหน่งทางภูมิศาสตร์โดยใช้ node_load และ node_save ตรวจสอบให้แน่ใจว่าได้เรียกใช้อินสแตนซ์ geofield ใด ๆ ที่แก้ไขผ่าน geofield_compute_values เพื่อให้คอลัมน์ทั้งหมดสอดคล้องกัน
geohash
หรือไม่