मैं PostGIS का उपयोग करके एक नया बिंदु प्राप्त करने के लिए एक lat / lon में ऑफ़सेट कैसे जोड़ूं


9

PostGIS का उपयोग करना मेरे पास एक अव्यक्त / अकेला बिंदु है और एक नया बिंदु प्राप्त करने के लिए मीटर में पूर्व / पश्चिम और उत्तर / दक्षिण ऑफसेट को जोड़ना चाहता है। क्या यह संभव है?

जवाबों:


8

आप ST_Translate का उपयोग कर सकते हैं:

ST_Translate फ़ंक्शन किसी भी ज्यामिति (लिनेस्ट्रिंग, मल्टीलाइन आदि) को लेता है, एक नई ज्यामिति लौटाता है जो X, Y, Z द्वारा परिभाषित वेक्टर द्वारा स्थानांतरित मूल ज्यामिति है। ध्यान दें कि माप की इकाइयाँ हमेशा ज्यामिति तर्क की स्थानिक संदर्भ प्रणाली की इकाइयों में होती हैं। इसके दो रूप हैं ST_Translate। ST_Translate (ज्यामिति, X, Y, Z) और ST_Translate (ज्यामिति, X, Y)।

स्रोत: http://www.bostongis.com/postgis_translate.snippet

आपको पहले lat / lon को मीटर में बदलना होगा। इसे प्राप्त करने के लिए आप ST_Transform का उपयोग कर सकते हैं:

ST_Transform - पूर्णांक पैरामीटर द्वारा संदर्भित SRID में परिवर्तित अपने निर्देशांक के साथ एक नई ज्यामिति लौटाता है।

स्रोत: http://postgis.net/docs/ST_Transform.html


यह है कि मैं के साथ परेशान कर रहा हूँ मीटर हिस्सा है। उस पर कोई सुझाव?
डेव जेनिंग्स

मैंने जवाब में संबंधित फ़ंक्शन जोड़ा। यदि आपको नहीं पता कि SRID को चुनने के लिए कौन सा लक्ष्य है, तो आपको अपने डेटा की भौगोलिक सीमा का उपयोग करना होगा।
UnderDark

धन्यवाद। मेरे दूसरे शोध ने आखिरकार मुझे वही बताया। मैंने भोलेपन से सोचा कि यह सरल हो सकता है और एक एकल SRID होगा जिसका मैं उपयोग कर सकता हूं, लेकिन ऐसा प्रतीत होता है कि आपको अपने स्थान के आधार पर किसी एक को चुनना होगा।
डेव जेनिंग्स
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.