आप अपना geometry
cast कास्ट कर सकते हैं geography
. के लिए और ST_Project
यह (अज़ीमुथ में आप चाहते हैं)। ऐसा करने से आप आसानी से मीटर में दूरी बता सकते हैं:
CREATE TEMPORARY TABLE test_table (name text, geo geometry(point,(32636)));
INSERT INTO test_table VALUES ('foo','SRID=32636;POINT(2076155.32235105 4828109.18280588)');
SELECT
ST_AsText(
ST_Transform(
ST_Project(
ST_Transform(geo,4326)::geography,10,radians(45.0))::geometry,
32636)
)
FROM test_table;
st_astext
------------------------------------------
POINT(2076150.11319696 4828116.26815917)
(1 Zeile)
आप ST_Distance
का उपयोग करके दूरी की जांच कर सकते हैं
:
SELECT
ST_Distance(
ST_Transform(geo,4326)::geography,
ST_Project(ST_Transform(geo,4326)::geography,10,radians(45.0))::geometry )
FROM test_table;
st_distance
-------------
10
नोट :मैं उपयोग कर रहा हूँ ST_Transform
आपके अनुमानित SRS से एक अकेला/अक्षांश SRS में जाने के लिए, ताकि हम इसे geography
में डाल सकें , अन्यथा हमें एक त्रुटि मिलेगी:
SELECT geo::geography FROM test_table;
ERROR: Only lon/lat coordinate systems are supported in geography.
आगे पढ़ने:50 मील दूर कैक्यूलेट पॉइंट (उत्तर, 45% NE, 45% SW)