phpMyAdmin
 sql >> डेटाबेस >  >> Database Tools >> phpMyAdmin

PostGIS भूगोल प्रकारों को पुनः प्राप्त करने के लिए PHP

क्या यह वही wkb-प्रारूप है जो आप चाहते हैं?

select ST_AsWKB('geog') from locations

लेकिन आप दूरी-गणना करने के लिए पहले डेटा क्यों निकालना चाहते हैं?

/निकलास

अपडेट करें

ठीक है

मुझे नहीं पता कि आपको अपने प्रश्नों का उचित परिणाम क्यों नहीं मिलता है। मैं PHP में बहुत बुरा हूँ। मुझे लगता है कि किसी कारण से परिणाम कुछ डेटा प्रकार में धकेल दिया जाता है जो सही नहीं है। मेरा मतलब है ST_AsText से आपको बस एक स्ट्रिंग मिलनी चाहिए, इससे ज्यादा अजीब कुछ नहीं।

लेकिन अपनी दूरी पाने के लिए आपको अंक नहीं निकालने चाहिए। ऐसा करने के लिए आप सेल्फ जॉइन करें। PostGIS का उपयोग करते समय और एक ही तालिका में विभिन्न ज्यामिति की तुलना करते समय आप हर समय यही करते हैं।

मान लें कि पहले भूगोल में id=1 है और दूसरे में id=2 है, क्वेरी कुछ इस तरह हो सकती है:

SELECT ST_Distance(a.the_geog, b.the_geog) as dist 
from locations a, locations b WHERE a.id=1 and b.id = 2;

यदि आप id=1 के साथ बिंदु से सभी बिंदुओं (या जो भी हो) की दूरी चाहते हैं तो आप लिख सकते हैं:

SELECT  ST_Distance(a.the_geog, b.the_geog) as dist
from locations a inner join locations b on a.id != b.id WHERE a.id=1;

और इसी तरह।

यह बहुत अधिक प्रभावी होगा।

/निकलास




  1. DBeaver
  2.   
  3. phpMyAdmin
  4.   
  5. Navicat
  6.   
  7. SSMS
  8.   
  9. MySQL Workbench
  10.   
  11. SQLyog
  1. PHPMyAdmin के लिए रूट पासवर्ड बनाएं

  2. कथन से हटाएं काम नहीं कर रहा

  3. PHPMyAdmin का उपयोग करके MySQL के लिए टाइमज़ोन सेट करना

  4. phpmyadmin और विदेशी कुंजी

  5. PhpMyAdmin के साथ डेटाबेस तालिकाओं में फ़ील्ड को संशोधित करना