2010-06-10 11 views
21

मेरे पास एक सारणी है जहां एक स्तंभ एक ज्यामिति कॉलम the_geom एक एसआरआईडी के साथ बहुभुज के लिए है। मैंने उसी तालिका में एक नया स्तंभ जोड़ा जो बिल्कुल उसी ज्यामिति डेटा के साथ the_geom है।ज्यामिति कॉलम के एसआरआईडी को कैसे बदलें?

इस नए कॉलम का नाम the_geom4258 है क्योंकि मैं अपने एसआरआईडी को 4258 पर सेट करना चाहता हूं। ज्यामिति के एसआरआईडी को दूसरे समन्वय प्रणाली में बदलने की प्रक्रिया क्या है? क्या यह निम्नलिखित क्वेरी को लागू करने के लिए पर्याप्त है:

UPDATE table SET the_geom4258=ST_SetSRID(the_geom4258,4258); 

उत्तर

26

आपको ST_Transform फ़ंक्शन का उपयोग करना चाहिए। इसके अलावा यह सुनिश्चित करने के लिए सभी आवश्यक कमी भी बनाई गई हैं, अपने नए कॉलम बनाने के लिए समारोह AddGeometryColumn का उपयोग करें:

SELECT AddGeometryColumn('table','the_geom4258',4258, 'POLYGON', 2); 

UPDATE table SET the_geom4258 = ST_Transform(the_geom,4258); 

ST_SetSRID सिर्फ प्रक्षेपण पहचानकर्ता करता है, पर वास्तव में ज्यामिति को बदलने नहीं है।

+0

आपका उत्तर वही है जो मुझे चाहिए। तो वास्तव में बहुत बहुत धन्यवाद। अभी एक छोटी सी बात है, अब मुझे त्रुटि मिली है: "त्रुटि: AddToPROJ4SRSCache: proj4 स्ट्रिंग को पार्स नहीं कर सका: '+ proj = tmerc + lat_0 = 0 + lon_0 = 16.5 + k = 0.999900 + x_0 = 500000 + y_0 = 0 + ellps = GRS80 + डेटाम = ETRS89 + इकाइयों = एम + no_defs ': अज्ञात अंडाकार पैरामीटर नाम " कोई सुराग अब मुझे क्या सही करना चाहिए? – Z77

+1

सुनिश्चित करें कि आपके डेटाबेस की spatial_ref_sys तालिका में srid 4258 के लिए एक रिकॉर्ड है। यदि कोई रिकॉर्ड है, तो जांचें कि प्रोजेक्शन पैरामीटर यहां से मेल खाते हैं: http://spatialreference.org/ref/epsg/4258/postgis/ – amercader

+0

ठीक है! मैं भाग्यशाली लड़की हूं, सभी उत्तर मैं यहां देख सकता हूं :) – Z77

संबंधित मुद्दे