PostgreSQL
 sql >> डेटाबेस >  >> RDS >> PostgreSQL

उनके बीच की दूरी के साथ 2 अंक कैसे जोड़ें (SRID =32636)?

आप अपना 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)




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. आप मैक के लिए डॉकर में Docker.qcow2 के आकार की सीमा के आसपास कैसे पहुँचते हैं?

  2. PostgreSQL में डेटाबेस ट्रिगर का निष्पादन संदर्भ

  3. पोस्टग्रेस्क्ल इंस्टॉलेशन विफल

  4. PostgreSQL क्वेरी जहां दिनांक 3 वर्ष से अधिक पुराना है

  5. test.postgresql कमांड नहीं मिला:initdb docker के अंदर