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

WHERE क्लॉज में ST_Intersects का उपयोग कैसे करें

आप संभवतः ST_Intersects . का उपयोग करने का प्रयास कर रहे हैं एक अभिव्यक्ति के उपनाम के साथ, स्तंभ या ज्यामिति नहीं। और आप तर्क को उल्टा कर रहे हैं:आपको पहले अपने फीचर संग्रह से ज्यामिति को पार्स और डंप करना होगा और फिर फ़िल्टर लागू करना होगा, न कि दूसरी तरफ:

WITH datasource (feature) AS (
 SELECT json_array_elements('{json_string}'::json->'features')  
)
SELECT 
  ST_AsGeoJSON(ST_Union(ST_GeomFromGeoJSON(feature->>'geometry'))),
  ST_AsText(ST_Union(ST_GeomFromGeoJSON(feature->>'geometry')))
FROM datasource
WHERE NOT ST_Intersects(ST_GeomFromGeoJSON(feature->>'geometry'),'{a geometry}');



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं अपने डेटा से एक jsonb सरणी और वस्तुओं की सरणी कैसे वापस कर सकता हूं?

  2. PostgreSQL लॉकिंग मोड

  3. रेल + पोस्टग्रेज ड्रॉप त्रुटि:डेटाबेस को अन्य उपयोगकर्ताओं द्वारा एक्सेस किया जा रहा है

  4. वर्तमान स्थिति को छोड़कर, सभी पिछली स्थितियों के योग के साथ क्वेरी तालिका

  5. एक ही क्वेरी में एकाधिक array_agg () कॉल