পোস্টজিআইএস-এ জ্যামিতি থেকে স্থানাঙ্ক প্রাপ্ত হচ্ছে?


60

এই লাইন:

SELECT geom FROM myLayer.geom

একটি হেক্স মান প্রদান করবে।

দশমিক মানগুলি কীভাবে পাব, যা মানব-পঠনযোগ্য সমন্বয়?

উত্তর:


52

ST_AsText (যা ডাব্লুকেটি / সুপরিচিত পাঠ্য হিসাবে জ্যামিতি ফেরত দেয়) ছাড়াও, বেশ কয়েকটি অতিরিক্ত আউটপুট ফর্ম্যাট রয়েছে যেমন এস এসএএসজিওজিএসএন ()।

মধ্যে একবার দেখে নিন http://postgis.net/docs/manual-2.0/reference.html#Geometry_Outputs এবং পছন্দ করে নিন, কি আপনার চাহিদা সেরা দেখাচ্ছে।


71

পয়েন্ট অবজেক্টটি দেখতে ST_AsText ব্যবহার করুন :

SELECT ST_AsText(the_geom) 
       FROM myTable;

দেখার জন্য এক্স , ওয়াই , এবং geom বস্তু:

SELECT ST_X(the_geom), ST_Y(the_geom), ST_AsText(the_geom) 
       FROM myTable;

3
আমি বিশ্বাস করি যে ST_X এবং ST_Y কেবলমাত্র পয়েন্ট নিয়ে কাজ করবে। তারা বহুভুজ বা লাইন দিয়ে কাজ করে না।
দেবদত্ত টেংশে

তুমি ঠিক দেবদত্ত। এটি শুধুমাত্র পয়েন্টগুলির জন্য কাজ করে। ST_X - বিন্দুটির এক্স স্থানাঙ্ক, বা যদি পাওয়া না যায় তবে ফিরে আসুন। ইনপুট অবশ্যই একটি পয়েন্ট হতে হবে। আমি আমার উত্তর আপডেট করেছি।
অ্যারাগন

7
বহুভুজ / লাইনগুলির জন্য, ব্যবহার করুনst_x(st_centroid(the_geom))
স্টিভ বেনেট

11

ইউটিএম-এ একটি টেবিল সহ

SELECT 
ST_X(table.geometry) AS X1, --point x
ST_Y(table.geometry) AS Y1, --point y
ST_X(ST_TRANSFORM(table.geometry,4674)) AS LONG, -- longitude point x SIRGAS 2000
ST_Y(ST_TRANSFORM(table.geometry,4674)) AS LAT, --latitude point y SIRGAS 2000
ST_ASTEXT(table.geometry) AS XY, --wkt point xy
ST_ASTEXT(ST_TRANSFORM(table.geometry,4674)) AS LongLat --using st_transform to get wkt with longitude and latitude (4674 is the SIRGAS 2000 SRC by south america)
FROM
table 

2

1
ক্ষেত্রগুলি যথাযথভাবে পৃথক করার জন্য আপনাকে * এর পরে একটি যুক্ত করতে হবে: SELECT *, ST_AsText (the_geom) FROM টেবিল 2;
পিয়ের
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.