Платформаи CRM ва маълумотТаҳлилҳо ва санҷишВоситаҳои маркетинг

Бо истифода аз формулаи Ҳаверсин (Номолҳои PHP, JavaScript, Java, Python, MySQL, MSSQL) Масофаи доираи бузургро байни нуқтаҳои арзӣ ва тулӣ ҳисоб ё пурсед

Дар ин моҳ ман каме дар PHP ва MySQL нисбати GIS барномарезӣ кардам. Гирифтани тӯр, ман дарвоқеъ дар ёфтани баъзе аз он душворӣ кашидам Ҳисобҳои ҷуғрофӣ барои ёфтани масофаи байни ду маҳал, ман мехостам онҳоро дар ин ҷо нақл кунам.

Харитаи парвозҳо бо Аврупо бо масофаи калон

Усули оддии ҳисоб кардани масофа байни ду нуқта истифодаи формулаи Пифагор барои ҳисоб кардани гипотенузаи секунҷа (A² + B² = C²) мебошад. Ин бо номи Масофаи Евклид.

Ин оғози ҷолиб аст, аммо он бо ҷуғрофия дахл надорад, зеро масофаи байни хатҳои арзи ва тӯлонӣ масофаҳои баробар нестанд ҷудо. Ҳангоми наздик шудан ба экватор хатҳои арзи ҷудогона дуртар мешаванд. Агар шумо як муодилаи оддии триангулатсияро истифода баред, он метавонад масофаро дар як ҷой дақиқ чен кунад ва дар ҷои дигар хеле хато, бинобар каҷравии Замин.

Масофаи даврашакл

Роҳҳое, ки ба масофаи дур дар атрофи Замин тай карда мешаванд, бо номи маъруфанд Масофаи даврашакл. Яъне… масофаи кӯтоҳтарин байни ду нуқта дар сфера аз нуқтаҳои харитаи ҳамвор фарқ мекунад. Инро бо он муттаҳид кунед, ки хатҳои арз ва тулӣ баробар нестанд… ва шумо ҳисобкунии душвор доред.

Ин аст шарҳи видеоии афсонавӣ дар бораи чӣ гуна кор кардани Circles Great.

Формула Ҳаверсин

Масофа бо истифода аз каҷравии Замин ба Формулаи гаверсин, ки тригонометрияро истифода бурда, барои каҷравии замин имкон медиҳад. Вақте ки шумо масофаи байни 2 ҷои заминро пайдо мекунед (вақте ки зоғ парвоз мекунад), хати рост дар ҳақиқат камон аст.

Ин дар парвози ҳавоӣ татбиқ мешавад - оё шумо ягон бор харитаи воқеии парвозҳоро аз назар гузаронида, пайхас кардаед? Ин аз он сабаб аст, ки парвоз дар нимдоираи байни ду нуқта аз мустақим ба маҳал кӯтоҳтар аст.

PHP: Масофаро байни 2 нуқтаи Арзи ҷуғрофӣ ва тӯлонӣ ҳисоб кунед

Ин аст формулаи PHP барои ҳисоб кардани масофаи байни ду нуқта (дар якҷоягӣ бо табдили Mile vs. Kilometre) ба ду адади даҳӣ мудаввар карда шудааст.

function getDistanceBetweenPointsNew($latitude1, $longitude1, $latitude2, $longitude2, $unit = 'miles') {
  $theta = $longitude1 - $longitude2; 
  $distance = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta))); 
  $distance = acos($distance); 
  $distance = rad2deg($distance); 
  $distance = $distance * 60 * 1.1515; 
  switch($unit) { 
    case 'miles': 
      break; 
    case 'kilometers' : 
      $distance = $distance * 1.609344; 
  } 
  return (round($distance,2)); 
}

Тағйирёбандаҳо инҳоянд:

  • $Latitude1 – як тағирёбанда барои арзи макони аввалини шумо.
  • $Бозии 1 – як тағирёбанда барои тулии макони аввалини шумо
  • $Latitude2 – як тағирёбанда барои арзи ҷойгиршавии дуюми шумо.
  • $Бозии 2 – тағирёбанда барои тулии макони дуюми шумо.
  • $ воҳид – мавҷудияти пешфарз ҳазорҳо нафар. Ин метавонад ҳамчун навсозӣ ё интиқол дода шавад километр.

Java: Calculate Distance Between 2 Points of Latitude and Longitude

public static double getDistanceBetweenPointsNew(double latitude1, double longitude1, double latitude2, double longitude2, String unit) {
    double theta = longitude1 - longitude2;
    double distance = 60 * 1.1515 * (180/Math.PI) * Math.acos(
        Math.sin(latitude1 * (Math.PI/180)) * Math.sin(latitude2 * (Math.PI/180)) + 
        Math.cos(latitude1 * (Math.PI/180)) * Math.cos(latitude2 * (Math.PI/180)) * Math.cos(theta * (Math.PI/180))
    );
    if (unit.equals("miles")) {
        return Math.round(distance, 2);
    } else if (unit.equals("kilometers")) {
        return Math.round(distance * 1.609344, 2);
    } else {
        return 0;
    }
}

Тағйирёбандаҳо инҳоянд:

  • арзи 1 – як тағирёбанда барои арзи макони аввалини шумо.
  • дарозӣ 1 – як тағирёбанда барои тулии макони аввалини шумо
  • арзи 2 – як тағирёбанда барои арзи ҷойгиршавии дуюми шумо.
  • дарозӣ 2 – тағирёбанда барои тулии макони дуюми шумо.
  • воҳима – мавҷудияти пешфарз ҳазорҳо нафар. Ин метавонад ҳамчун навсозӣ ё интиқол дода шавад километр.

Javascript: Calculate Distance Between 2 Points of Latitude and Longitude

function getDistanceBetweenPoints(latitude1, longitude1, latitude2, longitude2, unit = 'miles') {
    let theta = longitude1 - longitude2;
    let distance = 60 * 1.1515 * (180/Math.PI) * Math.acos(
        Math.sin(latitude1 * (Math.PI/180)) * Math.sin(latitude2 * (Math.PI/180)) + 
        Math.cos(latitude1 * (Math.PI/180)) * Math.cos(latitude2 * (Math.PI/180)) * Math.cos(theta * (Math.PI/180))
    );
    if (unit == 'miles') {
        return Math.round(distance, 2);
    } else if (unit == 'kilometers') {
        return Math.round(distance * 1.609344, 2);
    }
}

Тағйирёбандаҳо инҳоянд:

  • арзи 1 – як тағирёбанда барои арзи макони аввалини шумо.
  • дарозӣ 1 – як тағирёбанда барои тулии макони аввалини шумо
  • арзи 2 – як тағирёбанда барои арзи ҷойгиршавии дуюми шумо.
  • дарозӣ 2 – тағирёбанда барои тулии макони дуюми шумо.
  • воҳима – мавҷудияти пешфарз ҳазорҳо нафар. Ин метавонад ҳамчун навсозӣ ё интиқол дода шавад километр.

Python: Масофаи байни 2 нуқтаи арз ва тулиро ҳисоб кунед

Ба ҳар ҳол, дар ин ҷо формулаи Python барои ҳисоб кардани масофаи байни ду нуқта (дар баробари табдили Мил ва Километр) ба ду адад даҳӣ мудаввар карда шудааст. Қарз ба писари ман Билл Карр, ки олими маълумот аст OpenINSIGHTS, барои код.

from numpy import sin, cos, arccos, pi, round

def rad2deg(radians):
    degrees = radians * 180 / pi
    return degrees

def deg2rad(degrees):
    radians = degrees * pi / 180
    return radians

def getDistanceBetweenPointsNew(latitude1, longitude1, latitude2, longitude2, unit = 'miles'):
    
    theta = longitude1 - longitude2
    
    distance = 60 * 1.1515 * rad2deg(
        arccos(
            (sin(deg2rad(latitude1)) * sin(deg2rad(latitude2))) + 
            (cos(deg2rad(latitude1)) * cos(deg2rad(latitude2)) * cos(deg2rad(theta)))
        )
    )
    
    if unit == 'miles':
        return round(distance, 2)
    if unit == 'kilometers':
        return round(distance * 1.609344, 2)

Тағйирёбандаҳо инҳоянд:

  • арзи 1 - як тағирёбанда барои макони аввалини шумо элита.
  • дарозӣ 1 - як тағирёбанда барои макони аввалини шумо дарозӣ
  • арзи 2 – тағирёбанда барои макони дуюми шумо элита.
  • дарозӣ 2 – тағирёбанда барои макони дуюми шумо дарозӣ.
  • воҳима – мавҷудияти пешфарз ҳазорҳо нафар. Ин метавонад ҳамчун навсозӣ ё интиқол дода шавад километр.

MySQL: Ҷустуҷӯи ҳама сабтҳо дар як диапазон тавассути ҳисоб кардани масофа дар милҳо бо истифода аз арз ва тулӣ

Инчунин истифодаи SQL барои ҳисобкунӣ барои ёфтани ҳама сабтҳо дар масофаи муайян имконпазир аст. Дар ин мисол, ман мехоҳам MyTable-ро дар MySQL пурсам, то ҳамаи сабтҳоеро, ки камтар аз $ баробаранд ва ба тағирёбандаи $ масофа (дар Майлс) то ҷойгиршавии ман дар $ арзи ва $ тӯлонӣ камтар ё баробаранд, ёбам:

Дархост барои ҷустуҷӯи ҳама сабтҳо дар доираи мушаххас масофа тавассути ҳисоб кардани масофа бо мил дар байни ду нуқтаи арзи ва дарозӣ инҳоянд:

$query = "SELECT *, (((acos(sin((".$latitude."*pi()/180)) * sin((`latitude`*pi()/180)) + cos((".$latitude."*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((".$longitude."- `longitude`)*pi()/180)))) * 180/pi()) * 60 * 1.1515) as distance FROM `table` WHERE distance <= ".$distance."

Шумо бояд инро танзим кунед:

  • тӯлонӣ - ин тағирёбандаи PHP аст, ки дар он ман дарозии нуқтаро мегузарам.
  • $ арзи ҷуғрофӣ - ин тағирёбандаи PHP аст, ки дар он ман дарозии нуқтаро мегузарам.
  • масофа - ин масофаест, ки шумо мехоҳед ҳамаи сабтҳоро камтар ё баробар ёбед.
  • мизи - ин ҷадвал аст… шумо мехоҳед онро бо номи ҷадвали худ иваз кунед.
  • элита - ин майдони арзи шумост.
  • дарозӣ - ин майдони дарозии туст.

MySQL: Ҷустуҷӯи ҳама сабтҳо дар доираи як диапазон тавассути ҳисоб кардани масофа дар километр бо истифода аз арз ва тулӣ

Ва ин аст дархости SQL бо истифода аз километрҳо дар MySQL:

$query = "SELECT *, (((acos(sin((".$latitude."*pi()/180)) * sin((`latitude`*pi()/180)) + cos((".$latitude."*pi()/180)) * cos((`latitude`*pi()/180)) * cos(((".$longitude."- `longitude`) * pi()/180)))) * 180/pi()) * 60 * 1.1515 * 1.609344) as distance FROM `table` WHERE distance <= ".$distance."

Шумо бояд инро танзим кунед:

  • тӯлонӣ - ин тағирёбандаи PHP аст, ки дар он ман дарозии нуқтаро мегузарам.
  • $ арзи ҷуғрофӣ - ин тағирёбандаи PHP аст, ки дар он ман дарозии нуқтаро мегузарам.
  • масофа - ин масофаест, ки шумо мехоҳед ҳамаи сабтҳоро камтар ё баробар ёбед.
  • мизи - ин ҷадвал аст… шумо мехоҳед онро бо номи ҷадвали худ иваз кунед.
  • элита - ин майдони арзи шумост.
  • дарозӣ - ин майдони дарозии туст.

Ман ин рамзро дар платформаи харитасозии корхона истифода кардам, ки мо онро барои як мағозаи чакана бо зиёда аз 1,000 ҷой дар саросари Амрикои Шимолӣ истифода кардем ва он хеле хуб кор кард.

Масофаи ҷуғрофии Microsoft SQL Server: STDistance

Агар шумо Microsoft SQL Server-ро истифода баред, онҳо вазифаи худро пешниҳод мекунанд, Масофаи ST барои ҳисоб кардани масофаи байни ду нуқта бо истифода аз навъи маълумоти География.

DECLARE @g geography;  
DECLARE @h geography;  
SET @g = geography::STGeomFromText('LINESTRING(-122.360 47.656, -122.343 47.656)', 4326);  
SET @h = geography::STGeomFromText('POINT(-122.34900 47.65100)', 4326);  
SELECT @g.STDistance(@h);  

Маслиҳати кулоҳ ба Манаш Сахо, VP ва меъмори Highbridge.

Douglas Karr

Douglas Karr асосгузори Martech Zone ва коршиноси шинохташудаи трансформати рақамӣ. Даг як аст Маърӯзачӣ ва сухангӯи оммавии маркетинг. Вай VP ва ҳаммуассис аст Highbridge, як ширкате, ки ба кӯмак расонидан ба ширкатҳои корхонаҳо дар самти рақамӣ табдил додан ва ба ҳадди аксар расонидани сармоягузории технологияҳои худ бо истифода аз технологияҳои Salesforce тахассус дорад. Вай маркетинги рақамӣ ва стратегияҳои маҳсулотро таҳия кардааст Dell Technologies, GoDaddy, Salesforce, Вебтрендҳова SmartFOCUS. Дуглас инчунин муаллифи Блоггузории корпоративӣ барои фиребгарон ва муаллифи он Китоби беҳтарини тиҷорат.

78 Комментарии

  1. Ташаккури зиёд барои мубодила. Ин кори осони нусхабардорӣ ва часбонидан буд ва хуб кор мекунад. Шумо маро бисёр вақт сарфа кардед.
    FYI барои касе, ки ба C интиқол медиҳад:
    дучандон deg2rad(дучандон) { бозгашти deg*(3.14159265358979323846/180.0); }

  2. Як порчаи хеле зебои интишор - хеле хуб кор кард - ба ман лозим омад, ки танҳо номи ҷадвалеро, ки лат-long нигоҳ медорад, иваз кунам. Он хеле зуд кор мекунад.. Ман шумораи хеле ками лат-лонгҳо дорам (< 400), аммо ман фикр мекунам, ки ин миқёси хуб мебуд. Сайти хуб низ - ман онро ба ҳисоби del.icio.us илова кардам ва мунтазам тафтиш хоҳам кард.

    1. Аз кӯмак кардан шодам, дӯсти рельс!

      Ҳоло ман дар ҷустуҷӯи функсияи "дар бисёркунҷа"-и PHP ҳастам, ки массиви координатҳои пайдарпайи арз ва тулиро мегирад ва муайян мекунад, ки нуқтаи дигар дар дохили бисёркунҷа аст ё берун аз он.

  3. Ман фикр мекунам, ки SQL-и шумо ба изҳороти мавҷуд ниёз дорад.
    ба ҷои WHERE масофа <= $distance ба шумо шояд лозим шавад
    истифода HAVING масофаи <= $distance

    дар акси ҳол ташаккур барои сарфаи ман як хӯшаи вақт ва энергия.

  4. Ташаккури зиёд барои мубодилаи ин код. Ин ба ман вақти зиёди рушдро сарфа кард. Ҳамчунин, ташаккур ба хонандагони шумо барои қайд кардан, ки изҳороти HAVING барои MySQL 5.x зарур аст. Хеле муфид.

  5. Формулаи дар боло зикршуда маро хеле вақт сарфа мекунад. Ташаккури зиёд.
    Ман инчунин бояд байни формати NMEA ва дараҷаҳо гузарам. Ман формулаеро дар ин URL дар поёни саҳифа ёфтам. http://www.errorforum.com/knowledge-base/16273-converting-nmea-sentence-latitude-longitude-decimal-degrees.html

    Оё касе медонад, ки чӣ тавр инро тафтиш кунад?

    Сипос!
    Гарри

  6. Ман инчунин фаҳмидам, ки КУҶО барои ман кор намекунад. Онро ба HAVING иваз кард ва ҳама чиз комилан кор мекунад. Дар аввал ман шарҳҳоро нахондам ва онро бо истифода аз интихоби лона навишт. Ҳарду хеле хуб кор хоҳанд кард.

  7. Ташаккури зиёд барои скрипте, ки дар mysql навишта шудааст, танҳо лозим омад, ки чанд ислоҳи ночиз ворид кунед (ДОДАНИ) 🙂
    Саломат бошед

  8. бениҳоят муфид, ташаккури зиёд! Ман бо "ДОДАН"-и нав, на "ДАР КУҶО" каме мушкилот доштам, аммо як бор ман шарҳҳоро дар ин ҷо хондам (пас аз тақрибан ним соат дандонҳоямро дар рӯҳафтодагӣ = P), ман онро хуб кор кардам. Ташаккур ^_^

  9. Дар хотир доред, ки як изҳороти интихобшуда ба монанди ин хеле пуршиддат ва аз ин рӯ суст хоҳад буд. Агар шумо ин пурсишҳои зиёде дошта бошед, он метавонад чизҳоро хеле зуд нопадид кунад.

    Равиши хеле камтар пуршиддат иҷро кардани интихоби аввал (хом) бо истифода аз майдони SQUARE, ки бо масофаи ҳисобшуда муайян карда шудааст, яъне "интихоб * аз номи ҷадвал, ки арзи байни лат1 ва лат2 ва тулӣ байни дарозии 1 ва дароз2" мебошад. lat1 = арзи ҳадаф – латдифф, лат2 = арзи ҳадаф + латдифф, шабеҳ бо лон. latdiff ~= масофа / 111 (барои км), ё масофа/69 барои мил аз 1 дараҷаи арз ~ 111 км (тағйирёбии ночиз азбаски замин каме байзавӣ аст, аммо барои ин кифоя аст). лондифф = масофа / (abs(cos(deg2rad(latitude))*111)) - ё 69 барои мил (шумо воқеан метавонед як квадрати каме калонтарро барои ҳисоб кардани тағиротҳо гиред). Сипас натиҷаи онро гиред ва онро ба интихоби радиалӣ гузоред. Танҳо фаромӯш накунед, ки координатҳои берун аз ҳудуди он ҳисоб карда шаванд, яъне диапазони дарозии қобили қабул -180 то +180 ва диапазони арзи қобили қабул -90 то +90 - агар латдифф ё лондиффи шумо берун аз ин диапазон кор кунад . Аҳамият диҳед, ки дар аксари ҳолатҳо ин метавонад татбиқ нашавад, зеро он танҳо ба ҳисобҳо тавассути хатти уқёнуси Ором аз қутб ба қутб таъсир мерасонад, гарчанде ки он як қисми Чукотка ва як қисми Аляскаро бурида мегузарад.

    Он чизе ки мо бо ин анҷом медиҳем, коҳиши назарраси шумораи нуқтаҳое мебошад, ки шумо ин ҳисобро бар зидди он анҷом медиҳед. Агар шумо дар пойгоҳи додаҳо як миллион нуқтаи глобалӣ дошта бошед, ки тақрибан баробар тақсим карда шудааст ва шумо хоҳед, ки дар масофаи 100 км ҷустуҷӯ кунед, пас ҷустуҷӯи аввалини шумо дар масоҳати 10000 километри мураббаъ аст ва эҳтимолан тақрибан 20 натиҷа медиҳад (дар асоси тақсимоти баробар дар як масоҳати сатҳи тақрибан 500M кв км), ин маънои онро дорад, ки шумо ҳисобкунии масофаи мураккабро барои ин дархост ба ҷои миллион маротиба 20 маротиба иҷро мекунед.

      1. Маслиҳати афсонавӣ! Ман аслан бо як таҳиягар кор кардам, ки функсияе навишт, ки мураббаъ дарунро кашид ва сипас функсияи рекурсивӣ, ки дар атрофи периметр "мураббаъҳо" сохт, то нуқтаҳои боқимондаро дохил ва хориҷ кунад. Натиҷа натиҷаи бениҳоят зуд буд - ӯ метавонист миллионҳо нуқтаҳоро дар микросонияҳо арзёбӣ кунад.

        Муносибати ман дар боло бешубҳа "хом", вале қобилиятнок аст. Бори дигар ташакур!

        1. Даг,

          Ман кӯшиш мекардам, ки MySQL ва php-ро истифода барам, то муайян кунам, ки оё нуқтаи дароз дар дохили бисёркунҷа аст. Оё шумо медонед, ки дӯсти таҳиягари шумо ягон мисолро дар бораи чӣ гуна иҷро кардани ин вазифа нашр кардааст. Ё шумо ягон мисоли хуб медонед. Ташаккури пешакӣ.

  10. Салом ба ҳама ин изҳороти SQL-и санҷишии ман аст:

    SELECT DISTINCT area_id, (
    (
    (
    acos( sin( ( 13.65 * pi( ) /180 ) ) * sin( (
    `lat_dec` * pi( ) /180 ) ) + cos( ( 13.65 * pi( ) /180 ) ) * cos( (
    `lat_dec` * pi( ) /180 )
    ) * cos( (
    ( 51.02 - `lon_dec` ) * pi( ) /180 )
    )
    )
    ) *180 / pi( )
    ) *60 * 1.1515 * 1.609344
    ) AS distance
    FROM `post_codes` WHERE distance <= 50

    ва Mysql ба ман мегӯяд, ки масофа ҳамчун сутун вуҷуд надорад, ман метавонам фармоишро аз тариқи истифода барам, ман инро бе КУҶО иҷро карда метавонам ва он кор мекунад, аммо на бо он…

  11. Ин олиҷаноб аст, аммо он ҳамон тавре ки паррандагон парвоз мекунанд. Кӯшиш кардан ва ворид кардани Google Maps API ба ин (шояд бо истифода аз роҳҳо ва ғ.) Танҳо барои додани идея бо истифода аз шакли дигари нақлиёт хеле хуб мебуд. Ман то ҳол дар PHP як функсияи тақлидшудаи табобаткуниро иҷро накардаам, ки тавонад ҳалли муассири мушкилоти фурӯшандаи сайёрро пешниҳод кунад. Аммо ман фикр мекунам, ки ман метавонам баъзе аз рамзи шуморо дубора истифода барам.

  12. Мақолаи хуб! Ман мақолаҳои зиёде пайдо кардам, ки чӣ гуна ҳисоб кардани масофаи байни ду нуқтаро тавсиф мекунанд, аммо ман воқеан порчаи SQL-ро меҷӯям.

  13. 2 рӯзи тадқиқот барои ниҳоят пайдо кардани ин саҳифа, ки мушкилоти маро ҳал мекунад. Чунин ба назар мерасад, ки ман беҳтараш WolframAlpha-ро нест карда, математикаи худро такмил диҳам. Тағйир аз WHERE ба HAVING скрипти маро дар ҳолати корӣ дорад. СИПОС

  14. Кош ин аввалин саҳифае бошад, ки ман дар ин бора ёфтам. Пас аз кӯшиши бисёр фармонҳои гуногун ин ягона фармоне буд, ки дуруст кор мекард ва бо тағироти ҳадди ақал барои мувофиқ кардани пойгоҳи додаи ман лозим буд.
    Ташаккури зиёд!

  15. Кош ин аввалин саҳифае бошад, ки ман дар ин бора ёфтам. Пас аз кӯшиши бисёр фармонҳои гуногун ин ягона фармоне буд, ки дуруст кор мекард ва бо тағироти ҳадди ақал барои мувофиқ кардани пойгоҳи додаи ман лозим буд.
    Ташаккури зиёд!

  16. Ман медонам, ки ин формула кор мекунад, аммо ман намебинам, ки дар куҷо радиуси замин ба назар гирифта мешавад. Оё касе метавонад маро равшан кунад, лутфан?

  17. ташаккур барои интишори ин мақолаи муфид,  
    вале аз чй сабаб бошад, ки пурсам
    Чӣ тавр масофаро байни коордҳо дар дохили mysql db ва коордҳои ба php аз ҷониби корбар воридшуда дастрас кардан мумкин аст?
    барои равшантар тавсиф кардан:
    1.Истифодабаранда бояд [id]-ро барои интихоби маълумоти мушаххас аз DB ва коордҳои худи корбар ворид кунад
    2.Файли php бо истифода аз [id] маълумоти (коордҳои) мавриди ҳадафро ба даст меорад ва сипас масофаи байни корбар ва нуқтаи ҳадафро ҳисоб мекунад

    ё танҳо метавонад аз коди дар поён масофа гирифта шавад?

    $qry = "SELECT *,(((acos(sin((".$Latitude."*pi()/180)) * sin((`Latitude`*pi()/180))+cos((". $таънӣ.”*pi()/180)) * cos((`Artık`*pi()/180)) * cos(((“.$ тулонӣ.”- `Дӯли`)*pi()/180) )))*180/pi())*60*1.1515*1.609344) ҳамчун масофа АЗ `Ҷадвали Ман` КУҶО масофа >= “.$масофа.” >>>> Оё ман метавонам масофаро аз ин ҷо "бароварам"?
    бори дигар ташаккур,
    Тимми С

  18. хуб, ҳама чизе ки ман кӯшиш кардам, кор намекунад. Дар назар дорам, он чизе ки ман дорам, кор мекунад, аммо масофаҳо хеле дуранд.

    Оё касе метавонад бубинад, ки ин код чӣ хатост?

    if(isset($_POST['фиристода'])){ $z = $_POST['почта']; $r = $_POST['радиус']; echo "Натиҷаҳо барои ".$z; $sql = mysql_query("SELECT DISTINCT m.zipcode, m.MktName,m.LocAddSt,m.LocAddCity,m.LocAddState,m.x1,m.y1,m.verified,z1.lat,z2.lon,z1. шаҳр, z1.state АЗ mrk m, zip z1, zip z2 КУҶО m.zipcode = z1.zipcode ВА z2.zipcode = $z ВА (3963 * acos( truncate( sin( z2.lat / 57.2958 )) * sin(m. y1 / 57.2958 ) + cos( z2.lat / 57.2958 ) * cos( m.y1 / 57.2958 ) * cos ( m.x1 / 57.2958 – z2.lon / 57.2958 ) , 8 < $)) ё бимирад (mysql_error()); while($row = mysql_fetch_array( $sql)) { $store1 = $row['MktName']."”; $store = $row['LocAddSt'].""; $store .= $сатр['LocAddCity'].", ".$сатр['LocAddState']." “.$сатр['zipcode']; $latitude1 = $row['lat']; $longitude1 = $сатр['lon']; $latitude2 = $сатр['y1']; $longitude2 = $сатр['x1']; $city = $row['city']; $stat = $сатр['state']; $dis = getnew($ арзи 1, $ тули1, $ арзи 2, $ тули2, $ воҳиди = 'Mi'); // $dis = масофа($lat1, $lon1, $lat2, $lon2); $verified = $сатр['verified']; if($verified == '1'){ echo ""; echo "".$store.""; echo $dis. "мил(ҳо) дуртар"; echo ""; } else { echo "".$store.""; echo $dis. "мил(ҳо) дуртар"; echo ""; } }}

    рамзи functions.php ман
    Функсияи getnew($ арзи 1, $ тули1, $ арзи 2, $ тули2, $ воҳиди = 'Ми') { $theta = $longitude1 – $longitude2; $масофа = (sin(deg2rad($latitude1)) * sin(deg2rad($latitude2))) + (cos(deg2rad($latitude1)) * cos(deg2rad($latitude2)) * cos(deg2rad($theta)) ); $масофа = acos($масофа); $ масофа = rad2deg ($ масофа); $ масофа = $ масофа * 60 * 1.1515; switch($unit) { case 'Mi': танаффус; парванда 'Км': $масофа = $масофа * 1.609344; } бозгашт (давр ($ масофа, 2)); }

    пешакӣ ташаккур

  19. Эй Дуглас, мақолаи олӣ. Ман шарҳи шумо дар бораи мафҳумҳои ҷуғрофӣ ва кодро воқеан ҷолиб пайдо кардам. Пешниҳоди ягонаи ман ин аст, ки фосила ва рамзро барои намоиш нишон диҳед (масалан, Stackoverflow). Ман мефаҳмам, ки шумо мехоҳед фазоро сарфа кунед, аммо фосилаи муқаррарии рамз/қаҳронкунӣ барои ман ҳамчун барномасоз хондан ва тақсим карданро хеле осон мекунад. Ба ҳар ҳол, ин як чизи хурд аст. Кори бузургро давом диҳед.

  20. ба назар чунин менамояд, ки тезтар (mysql 5.9) истифода бурдани формулаи дукарата дар интихоб ва дар куҷо:
    $формула = "(((acos(sin((".$тази."*pi()/180)) * sin((`Latitude`*pi()/180))+cos((".$ арзи. ”*pi()/180)) * cos((` Арзи `*pi()/180)) * cos(((“.$ тули.”- `Дӯли`)*pi()/180))) *180/pi())*60*1.1515*1.609344)”;
    $sql = 'SELECT *, '.$формула.' ҳамчун масофа АЗ ҷадвали КУҶО '..$формула.' <= '.$ масофа;

  21. Ташаккури зиёд барои буридани ин мақола. Ин хеле муфид аст.
    PHP дар аввал ҳамчун платформаи оддии скрипт бо номи "Саҳифаи хонагии шахсӣ" сохта шуда буд. Имрӯзҳо PHP (кӯтоҳ барои Hypertext Preprocessor) алтернативаи технологияи Active Server Pages (ASP)-и Microsoft мебошад.

    PHP як забони кушодаи сервер мебошад, ки барои сохтани саҳифаҳои динамикӣ истифода мешавад. Он метавонад ба HTML ворид карда шавад. PHP одатан дар якҷоягӣ бо пойгоҳи додаҳои MySQL дар веб-серверҳои Linux/UNIX истифода мешавад. Ин эҳтимолан маъмултарин забони скрипт аст.

  22. Ман фаҳмидам, ки ҳалли дар боло дуруст кор намекунад.
    Ман бояд ба:

    $qqq = "SELECT *,(((acos(sin((".$latitude."*pi()/180)) * sin((`latt`*pi()/180))+cos((" . $latitude . "*pi()/180)) * cos((`latt`*pi()/180)) * cos(((" . $longitude. "- `longt`)*pi()/180) )))*180/pi())*60*1.1515) ҳамчун масофа АЗ `register` “;

  23. ташаккур ҷаноби олӣ кор кардед .. аммо ман як савол дорам, агар ман мехоҳам бидуни нуқтаи даҳӣ баромад кунам, пас ман чӣ кор карда метавонам ..?

    Ташаккури пешакӣ.

  24. Салом, лутфан ба ман дар ин бора ба кӯмаки шумо ниёз дорам.

    Ман ба веб-сервери худ дархости қабул кардам http://localhost:8000/users/findusers/53.47792/-2.23389/20/
    53.47792 = $ арзи
    -2.23389 = $ тулӯ
    ва 20 = масофае, ки ман мехоҳам дарёфт кунам

    Аммо бо истифода аз формулаи шумо, он ҳама сатрҳоро дар DB ман мегирад

    $натиҷаҳо = DB::select( DB::raw("SELECT *, (((acos(sin((".$latitude."*pi()/180)) * sin((lat*pi()/180) ))+cos((“.$ арзи.”*pi()/180)) * cos((lat*pi()/180)) * cos(((“.$ тули.”- lng)*pi( )/180))))*180/pi())*60*1.1515*1.609344) ҳамчун масофа АЗ маркерҳо ДОРАД масофа >= “.$масофа ));

    [{“id”:1,”name”:”Frankie Johnnie & Luigo Too”,”адрес”:”939 W El Camino Real, Mountain View, CA”,”lat”:37.386337280273,”lng”:-122.08582305908, ”distance”:16079.294719663},{“id”:2,”name”:”Pizzeria Amici's East Coast”,”адрес”:”790 Castro St, Mountain View, CA”,”lat”:37.387138366699,”lng”: -122.08323669434,”distance”:16079.175940152},{“id”:3,”name”:”Kapp's Pizza Bar & Grill”,”адрес”:”191 Castro St, Mountain View, CA”,”lat”:37.393886566162 ”lng”:-122.07891845703,”distance”:16078.381373826},{“id”:4,”name”:”Раунд Мизи Пицца: Маунтин Вью”,”адрес”:”570 N Shoreline Blvd, Mountain View, CA”, ”lat”:37.402652740479,”lng”:-122.07935333252,”distance”:16077.420540582},{“id”:5,”name”:”Pizza & Pasta Tony & Alba's”,”суроға”:” Alave Escue View, CA”,”lat”:619,”lng”:-37.394012451172,”distance”:122.09552764893},{“id”:16078.563225154,”name”:”Орегано's Wood-Fired Pizza”,”суроға:”6” El Camino Real, Los Altos, CA”,”lat”:4546,”lng”:-37.401725769043,”масофа”:122.11464691162},{“ id":16077.937560795,"name":"The bars and grills","адрес":"7 Whiteley Street, Манчестер","lat":24,"lng":-53.485118865967,"дистанс":2.1828699111938}

    Ман мехоҳам танҳо сатрҳои 20 милро дарёфт кунам, аммо он ҳама сатрҳоро меорад. Лутфан, ман чӣ хато мекунам

  25. Ман як дархости шабеҳро меҷӯям, аммо каме баланд бардоштам – кӯтоҳ ин аст, ки ҳамаи координатҳоро дар масофаи 2 мил аз ҳар як координат гурӯҳбандӣ кунем ва сипас дар ҳар як гурӯҳ чанд координатро ҳисоб кунем ва танҳо як гурӯҳеро, ки координатҳои бештар дорад - ҳатто агар шумо дар байни гурӯҳҳое, ки шумораи бештари координатҳо доранд, зиёда аз як гурӯҳ доред - танҳо гурӯҳи тасодуфиро аз гурӯҳҳое, ки шумораи бештари онҳо доранд, бароред -

Ту чӣ фикр мекунӣ?

Ин сомона ба воситаи Akismet барои кам кардани спам истифода мешавад. Омӯзед, ки чӣ тавр маълумотҳои худро тафтиш кунед.

Мақолаҳо марбут