PostGIS लाइन के शुरू और अंत में Z मान असाइन करें


9

मेरे पोस्टजीआईएस डेटाबेस में एक लाइन टेबल है और प्रत्येक लाइन के शुरू और अंत के लिए उल्टे स्तर के साथ एक टेबल है।

मेरा लक्ष्य मेरी इनवर्टर डेटा से मेरी तालिका में 3 डी लाइनें बनाना है। मुझे पता है कि मैं शुरू और अंत में एक 3D बिंदु के साथ लाइन को फिर से बनाने के लिए st_makeline का उपयोग कर सकता हूं लेकिन मैं शुरुआत और अंत के लिए सिर्फ Z मूल्य पर एक अपडेट चलाने में सक्षम होने की उम्मीद कर रहा था।

क्या यह किया जा सकता है या बस लाइन को फिर से बनाना आसान है।

जवाबों:


2

-आप ST_SetPoint (ज्योमेट्री लिनेस्ट्रिंग, पूर्णांक ज़ेरोबेडेपोज़िशन, ज्यामिति बिंदु) और ST_Translate () के साथ एक लिनेस्ट्रिंग में एक बिंदु को अपडेट कर सकते हैं।
-पहली और आखिरी बात का उपयोग st_endpoint () और st_startpoint () प्राप्त करें।
-तो अंतिम बिंदु उपयोग ST_NumPoints (the_geom) -1 का "इंडेक्स" प्राप्त करें।
-पहला बिंदु "सूचकांक" 0 है।

पहले बिंदु के लिए सोमथिंग ऐसा है:

  UPDATE table
  SET the_geom=
st_setpoint(the_geom,0,st_translate(st_firstpoint(the_geom),0,0,Z))  
   FROM ....
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.