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

mysql क्वेरी में चयनित विकर्ण क्षेत्र के बीच बिल्कुल डेटा कैसे खोजें?

अपनी बाउंडिंग बॉक्स क्वेरी के भीतर बिंदुओं को समाप्त करने के लिए, लेकिन पॉलीगॉन के भीतर नहीं, आपको प्वाइंट इन पॉलीगॉन का उपयोग करने की आवश्यकता है एल्गोरिथम।

ऐसा करने का सबसे आसान तरीका निर्देशांक को सरणियों में रखना है। इनका उपयोग क्वेरी के लिए और pointInPolygon() फ़ंक्शन के लिए पैरामीटर के लिए अधिकतम और न्यूनतम निर्देशांक खोजने के लिए किया जा सकता है।

function pointInPolygon(polySides,polyX,polyY,x,y) {
 var j = polySides-1 ;
  oddNodes = 0;
  for (i=0; i<polySides; i++) {
    if (polyY[i]<y && polyY[j]>=y  ||  polyY[j]<y && polyY[i]>=y) {
        if (polyX[i]+(y-polyY[i])/(polyY[j]-polyY[i])*(polyX[j]-polyX[i])<x)  {
            oddNodes=!oddNodes; 
        }
    }
   j=i; }

  return oddNodes;
}

अपने मानचित्र कोड में jQuery getJSON() का उपयोग करके

var polySides = 4;//number of points in polygon
//horizontal Latitude coordinates of polygon  
var polyLat = new Array();
polyLat[0] = 51.5;
polyLat[1] = 51.5;
polyLat[2] = 52.5;
polyLat[3] = 53;
polyLat[4] = 51.5;//First point repeated to close polygon
//vertical Longitude coordinates of polygon 
var polyLng =  new Array();
polyLng[0] = 0.5;
polyLng[1] = -1.9;
polyLng[2] = -1;
polyLng[3] = 0.6;
polyLng[4] = 0.5;
//Coordinates for bounding box
var maxLat = Math.max.apply(null,polyLat);
var minLat = Math.min.apply(null,polyLat);
var maxLng = Math.max.apply(null,polyLng);
var minLng = Math.min.apply(null,polyLng);

//Using jQuery
var url = "yourFile .php";
 url +="?maxLat="+maxLat +"&minLat="+minLat +"&maxLng="+maxLng +"&minLng="+minLng;
 $.getJSON(url,function(data) {
    $.each(data.marker,function(i,dat){
        if (pointInPolygon(polySides,polyLat,polyLng,dat.lat,dat.lng)){
            var latlng = new google.maps.LatLng(dat.lat,dat.lng); 
            addMarker(latlng,dat.name);
            bounds.extend(latlng);
        }
    });
    map.fitBounds(bounds);
});

बहुभुज में बाउंडिंग बॉक्स और बिंदु का उपयोग करके प्राप्त मानचित्र।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकल अद्यतन क्वेरी के लिए आवश्यक लेनदेन?

  2. Php/mysql में SO के समान टैगिंग सिस्टम को कैसे कार्यान्वित करें?

  3. पीएचपी पीडीओ मैसकल इंसर्ट परफॉर्मेंस

  4. जावा से एक MySQL संग्रहीत कार्यविधि निष्पादित नहीं कर सकता

  5. मैसकल क्वेरी डुप्लिकेट वर्डप्रेस टिप्पणियों को हटाने के लिए?