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

वेनिला पोस्टग्रेज क्वेरी में PostGIS से बाउंडिंग बॉक्स का उपयोग करें

यदि आप अलग-अलग मानों के रूप में बॉक्स निर्देशांक प्राप्त करना चाहते हैं तो आप ST_XMax पर एक नज़र डाल सकते हैं , ST_YMax , ST_XMin , ST_Ymin . निम्नलिखित सीटीई, जो आपकी क्वेरी को एम्बेड करता है, आपको एक विचार देना चाहिए:

WITH j (geom) AS (
 SELECT 
  ST_Extent(ST_Envelope(
   ST_Rotate(ST_Buffer(
    ST_GeomFromText('POINT(-87.6297982 41.8781136)',4326)::GEOGRAPHY,160934)::GEOMETRY,0)))
)
SELECT
    ST_XMax(geom),ST_YMax(geom),
    ST_XMin(geom),ST_YMin(geom)
FROM j


      st_xmax      |     st_ymax     |      st_xmin      |     st_ymin      
-------------------+-----------------+-------------------+------------------
 -85.6903925527536 | 43.327349928921 | -89.5681600538661 | 40.4285062983098

साइड नोट :ज्यामिति मानों को संख्याओं के रूप में संग्रहीत करना सरल लग सकता है लेकिन यह शायद ही कभी बेहतर विकल्प है - विशेष रूप से बहुभुज के साथ व्यवहार करते समय! इसलिए मैं वास्तव में आपको इन मानों को ज्यामिति . के रूप में संग्रहीत करने का सुझाव दूंगा या भूगोल , जो पहली नज़र में जटिल लग सकता है लेकिन निश्चित रूप से लंबे समय में भुगतान करता है।

यह उत्तर बहुभुज से संबंधित दूरी/रोकथाम प्रश्नों पर प्रकाश डाल सकता है:निर्दिष्ट निर्देशांकों से 5 मील की दूरी पर




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. यदि मैं पहले से ही GIN अनुक्रमणिका का उपयोग कर रहा हूँ तो क्वेरी का अनुकूलन कैसे करें

  2. पोस्टग्रेज sql में ORDER BY में LENGTH (गणना कॉलम) का उपयोग करना

  3. Postgresql सरणी फ़ील्ड पर ilike sqlalchemy का उपयोग कैसे करें?

  4. क्या PostgreSQL कॉलम नाम केस-संवेदी हैं?

  5. LIMIT 1 . के साथ अनुक्रमित ORDER BY