मैं PostGIS का उपयोग करके एक बुनियादी टाइपोलॉजी विश्लेषण करने की कोशिश कर रहा हूं। मेरा उद्देश्य किसी भी बहुभुज को ढूंढना है जो अन्य बहुभुज को छूता है। ऐसा करने के लिए, मैंने सोचा था ST_GetFaceEdges
कि काम ( संदर्भ ) होगा। मैं अपने डेटाबेस में प्रत्येक बहुभुज की जांच करना चाहता हूं और इसे छूने वाले अन्य सभी बहुभुज को सूचीबद्ध करता हूं। नीचे दी गई छवि में, मैं यह कहने के लिए परिणाम की अपेक्षा करूंगा कि दो बहुभुज (जो इमारतें हैं) एक इमारत को छूते हैं, और अन्य 4 के परिणाम यह कहते हैं कि वे 0 बहुभुज को स्पर्श करते हैं।
हालाँकि, मुझे यह समझने में थोड़ी कठिनाई हो रही है कि क्या करना है। जब मैंने उदाहरण की नकल करने की कोशिश की तो इसके कुछ हिस्से थे जो मुझे समझ नहीं आए।
-- Returns the sequence, edge id
-- , and geometry of the edges that bound face 1
-- If you just need geom and seq, can use ST_GetFaceGeometry
SELECT t.seq, t.edge, geom
FROM topology.ST_GetFaceEdges('tt',1) As t(seq,edge)
INNER JOIN tt.edge AS e ON abs(t.edge) = e.edge_id;
मुझे यकीन नहीं है कि क्या topology
तालिका, स्तंभ या फ़ंक्शन का एक हिस्सा है। मैंने मान लिया कि यह तालिका थी, लेकिन मुझे यकीन नहीं है।
-- try out on sample of data
-- Table is called 'TestArea', column used is 'fid_1'
SELECT t.seq, t.edge, geom
FROM TestArea.ST_GetFaceEdges('fid_1', 1) As t(seq,edge)
INNER JOIN tt.edge AS e ON abs(t.edge) = e.edge_id;
मुझे यह भी पता नहीं है कि आंतरिक जुड़ने का कार्य क्या है - क्या यह मूल वस्तु के परिणाम में शामिल होता है?
AddTopoGeometryColumn
क्वेरी चलाने से पहले मुझे तालिका में जोड़ना होगा ? ST_Touches
मूल्यों से परिणामों के आधार पर मैंने सभी समझदारी की जाँच की लेकिन शायद वह संयोग से था।
AddTopoGeometryColumn
, बल्कि आपके डेटा को स्थैतिक रूप से सुसंगत तरीके से डिजिटल करने की आवश्यकता होगी। उदाहरण के लिए, पारंपरिक रूप से आप दो पॉलीगॉन के रूप में दो अर्ध-अलग घरों को डिजिटाइज़ करेंगे और साझा दीवार को छूने के लिए अपने जीआईएस में "स्नैप टू वर्टेक्स" का उपयोग करेंगे, लेकिन यह प्रत्येक छोर पर संयोग बिंदुओं के साथ दो संयोग रेखाओं के रूप में संग्रहीत किया जाएगा। लेकिन टोपोलॉजिकल डिजिटलीकरण का मतलब है कि साझा दीवार वास्तव में सिर्फ एक पंक्ति और प्रत्येक बहुभुज द्वारा साझा किए गए दो नोड हैं। ST_Touches
बस निकटता के लिए एक स्थानिक जाँच करता है, न कि सामयिक।
CreateTopology
और इसी तरह ( बिट.लीक / लोके 8 क्यूवाई ) लेकिन जिस तरह से आपकी इमारतों का डिजिटलीकरण मुझे दिखता है। जैसे वे अपने किनारों के दृश्य निकटता के बावजूद टोपोलॉजिकल रूप से अलग हैं। भविष्य के प्रश्नकर्ताओं को जागरूक करने के लिए बस कुछ।