
የ Haversine ፎርሙላ (PHP፣ JavaScript፣ Java፣ Python፣ MySQL፣ MSSQL ምሳሌዎች) በመጠቀም በኬክሮስ እና ኬንትሮስ መካከል ያለውን ታላቅ የክበብ ርቀት አስላ ወይም ጠይቅ
ጂአይስን በተመለከተ በዚህ ወር በ PHP እና በ MySQL ውስጥ በጣም ትንሽ ፕሮግራም አቀርባለሁ ፡፡ በተጣራ መረብ ዙሪያ ማንሸራተት በእውነቱ የተወሰኑትን ለማግኘት በጣም ተቸገርኩ ጂኦግራፊያዊ ስሌቶች በሁለት አካባቢዎች መካከል ያለውን ርቀት ለመፈለግ እዚህ ለማጋራት ፈለኩ ፡፡

በሁለት ነጥቦች መካከል ያለውን ርቀት ለማስላት ቀላሉ መንገድ የሦስት ማዕዘንን መላምት (A² + B² = C the) ለማስላት የፓይታጎሪያን ቀመር በመጠቀም ነው ፡፡ ይህ በመባል ይታወቃል የዩክሊዳን ርቀት.
ይህ አስደሳች ጅምር ቢሆንም በኬክሮስ እና ኬንትሮስ መስመሮች መካከል ያለው ርቀት ስለሆነ ከጂኦግራፊ ጋር አይሠራም እኩል ርቀት አይደለም ለየብቻ ፡፡ ወደ ወገብ ወገብ ሲጠጉ ፣ የኬክሮስ መስመሮች የበለጠ ይራወጣሉ ፡፡ አንድ ዓይነት ቀለል ያለ የሶስትዮሽ እኩልታ ቀመርን የሚጠቀሙ ከሆነ የምድርን ጠማማነት በመለየት በአንድ ቦታ በትክክል ርቀትን ሊለካ በሌላኛው ደግሞ በጣም የተሳሳተ ሊሆን ይችላል።
ታላቁ የክበብ ርቀት
በምድር ዙሪያ ረጅም ርቀት የሚጓዙባቸው መንገዶች በመባል ይታወቃሉ ታላቁ የክበብ ርቀት. ያም ማለት… በአንድ ሉል ላይ በሁለት ነጥቦች መካከል ያለው አጭር ርቀት በጠፍጣፋ ካርታ ላይ ካሉት ነጥቦች የተለየ ነው። የኬክሮስ እና ኬንትሮስ መስመሮች እኩል አለመሆኑ እውነታ ጋር ያዋህዱት… እና አስቸጋሪ ስሌት አለዎት።
ታላላቅ ክበቦች እንዴት እንደሚሠሩ አስደናቂ የቪዲዮ ማብራሪያ ይኸውልዎት።
ሀቨርሲን ፎርሙላ
የምድርን ኩርባ በመጠቀም ያለው ርቀት በ ውስጥ ተካቷል ሀቨርሲን ቀመር, የምድርን ጠመዝማዛ ለማስቻል ትሪጎኖሜትሪን ይጠቀማል ፡፡ በምድር ላይ ባሉ 2 ቦታዎች መካከል (ቁራ ሲበር) መካከል ያለውን ርቀት ሲያገኙ ቀጥተኛ መስመር በእውነቱ ቅስት ነው ፡፡
ይህ በአየር በረራ ውስጥ ተፈጻሚ ነው - መቼም ትክክለኛውን የበረራዎች ካርታ ተመልክተው እንዳረጁ አስተውለሃል? ይህ የሆነበት ምክንያት በቀጥታ ወደ ቦታው ሳይሆን በሁለት ነጥቦች መካከል ባለው ቅስት ውስጥ መብረር አጭር ስለሆነ ነው ፡፡
ፒኤችፒ-በ 2 ኬክሮስ እና ኬንትሮስ መካከል ያለውን ርቀት አስላ
በሁለት አስርዮሽ ቦታዎች (ከሚል vs. ኪሎሜትር ልወጣ ጋር) በሁለት ነጥቦች መካከል ያለውን ርቀት ለማስላት የPHP ፎርሙላ ይኸውና።
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 - ለመጀመሪያው መገኛዎ ኬክሮስ ተለዋዋጭ።
- $Longitude1 - ለመጀመሪያው አካባቢዎ ኬንትሮስ ተለዋዋጭ
- $Latitude2 - ለሁለተኛው አካባቢዎ ኬክሮስ ተለዋዋጭ።
- $Longitude2 - ለሁለተኛው አካባቢዎ ኬንትሮስ ተለዋዋጭ።
- $ ክፍል - ነባሪው ማንነት ማይሎች. ይህ እንደ ሊዘመን ወይም ሊታለፍ ይችላል። ኪ.ሜ..
ጃቫ፡ በ 2 የኬክሮስ እና ኬንትሮስ ነጥቦች መካከል ያለውን ርቀት አስላ
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 - ለሁለተኛው አካባቢዎ ኬንትሮስ ተለዋዋጭ።
- መለኪያ - ነባሪው ማንነት ማይሎች. ይህ እንደ ሊዘመን ወይም ሊታለፍ ይችላል። ኪ.ሜ..
ጃቫስክሪፕት፡ በ 2 የኬክሮስ እና ኬንትሮስ ነጥቦች መካከል ያለውን ርቀት አስላ
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 የኬክሮስ እና ኬንትሮስ ነጥቦች መካከል ያለውን ርቀት አስላ
ለማንኛውም፣ በሁለት አስርዮሽ ቦታዎች (ከሚል vs. ኪሎሜትር ልወጣ ጋር) በሁለት ነጥቦች መካከል ያለውን ርቀት ለማስላት የፓይዘን ቀመር እዚህ አለ። የዳታ ሳይንቲስት ለሆነው ልጄ ቢል ካርር ምስጋና ይድረሰው ግንዛቤዎችን ይክፈቱ, ለኮዱ.
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 ን መጠቀምም ይቻላል ፡፡ በዚህ ምሳሌ ውስጥ የእኔ አካባቢ በ $ ኬክሮስ እና $ ኬንትሮስ ከቦታዬ ተለዋጭ $ ርቀት (ማይሎች ውስጥ) ያነሱ ወይም እኩል የሆኑ መዝገቦችን ሁሉ ለማግኘት በ MySQL ውስጥ ‹MyTable› ን እጠይቃለሁ ፡፡
በአንድ የተወሰነ መዝገብ ውስጥ ያሉትን መዝገቦች በሙሉ የማግኘት ጥያቄ ርቀት በሁለት ኬክሮስ እና ኬንትሮስ መካከል ባሉት ማይሎች መካከል ያለውን ርቀት በማስላት
$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 ተለዋዋጭ ነው ፡፡
- $ ርቀት - ይህ ሁሉንም መዝገቦች ያነሰ ወይም እኩል እንዲያገኙ የሚፈልጉት ይህ ርቀት ነው።
- ጠረጴዛ - ይህ ጠረጴዛው ነው that ያንን በጠረጴዛዎ ስም ለመተካት ይፈልጋሉ ፡፡
- ኬክሮስ - ይህ የእርስዎ ኬክሮስ መስክ ነው ፡፡
- ኬንትሮስ - ይህ የእርስዎ የኬንትሮስ መስክ ነው ፡፡
MySQL፡ በኬንትሮስ እና ኬንትሮስ በመጠቀም በኪሎሜትር ያለውን ርቀት በማስላት ሁሉንም መዝገቦች በክልል ውስጥ ሰርስሮ ማውጣት
እና በ MySQL ውስጥ ኪሎሜትሮችን በመጠቀም የ SQL ጥያቄ ይኸውልዎት-
$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 ተለዋዋጭ ነው ፡፡
- $ ርቀት - ይህ ሁሉንም መዝገቦች ያነሰ ወይም እኩል እንዲያገኙ የሚፈልጉት ይህ ርቀት ነው።
- ጠረጴዛ - ይህ ጠረጴዛው ነው that ያንን በጠረጴዛዎ ስም ለመተካት ይፈልጋሉ ፡፡
- ኬክሮስ - ይህ የእርስዎ ኬክሮስ መስክ ነው ፡፡
- ኬንትሮስ - ይህ የእርስዎ የኬንትሮስ መስክ ነው ፡፡
ይህንን ኮድ በሰሜን አሜሪካ በኩል ከ 1,000 በላይ ለሆኑ የችርቻሮ ሱቆች በተጠቀምንበት የድርጅት ካርታ መድረክ ውስጥ ተጠቀምኩበት እና በጥሩ ሁኔታ ሰርቷል ፡፡
የማይክሮሶፍት SQL አገልጋይ ጂኦግራፊያዊ ርቀት፡ STDistance
የማይክሮሶፍት SQL አገልጋይን እየተጠቀሙ ከሆነ የራሳቸውን ተግባር ይሰጣሉ። የአባላዘር በሽታ የጂኦግራፊ መረጃ አይነትን በመጠቀም በሁለት ነጥቦች መካከል ያለውን ርቀት ለማስላት.
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.
ስላካፈልከን በጣም አመሰግናለሁ። ይህ ቀላል የኮፒ እና የመለጠፍ ስራ ነበር እና በጣም ጥሩ ይሰራል። ብዙ ጊዜ አድነኸኛል።
ወደ ሲ ወደሚያልፈው ማንኛውም ሰው FYI
ድርብ ድጋድራድ (ድርብ ድግሪ) {return deg * (2 / 3.14159265358979323846); }
በጣም ጥሩ የመለጠፍ ቁራጭ - በጣም ጥሩ ሰርቷል - ላቲ-ረዥም የያዘውን የጠረጴዛ ስም ብቻ መለወጥ ነበረብኝ። እሱ በፍጥነት በፍጥነት ይሠራል .. በተመጣጣኝ ሁኔታ አነስተኛ ቁጥር ያላቸው የ lat-longs (<400) አለኝ ግን ይህ በጥሩ ሁኔታ ይመዝናል ብዬ አስባለሁ። ጥሩ ጣቢያም - አሁን በ del.icio.us መለያዬ ላይ አክዬዋለሁ እና በመደበኛነት ተመል back እመለከታለሁ ፡፡
በጣም እናመሰግናለን ፒተር እና ኬሪ! በጂአይኤስ ፕሮጄክቶች ላይ መስራት ከፈለጉ፣ እኔ እመክራለሁ፡-
በጣም አመሰግናለሁ… 😀
ቀኑን ሙሉ የርቀት ስሌቶችን ፈልጌ ፈልጌ አግኝቼዋለሁ ፣ እናም በካሬ ስኩዌር መግለጫ ውስጥ እንዴት እንደሚቀመጥ ምሳሌ በመስጠት ለሰጠኝ አመሰግናለሁ ፡፡ ዳንኤል አመሰግናለሁ እና ሰላምታ ይገባል
ለማገዝ ደስ ብሎኛል ፣ የባቡር ሐዲዶች!
አሁን በቅደም ተከተል ኬክሮስ እና ኬንትሮስ መጋጠሚያዎች ብዛት የሚወስድ እና በፖሊጎን ውስጥ ወይም ውጭ ሌላ ነጥብ ካለ ለመለየት የሚያስችለኝን ‹በ‹ ፖሊጎን ›ፒኤችፒ ተግባር ፍለጋ ላይ ነኝ ፡፡
አገኘሁት በአንድ ባለ ብዙ ማእዘን ውስጥ አንድ ነጥብ ካለ ለማወቅ እኩልነት!
የእርስዎ SQL መረጃ ያለው መግለጫ ይፈልጋል ብዬ አስባለሁ።
ይልቅ WHERE ርቀት <= $ ርቀት ሊፈልጉት ይችላሉ
HAVING ርቀት ይጠቀሙ <= $ ርቀት
አለበለዚያ ብዙ ጊዜ እና ጉልበት ስለቆጠበኝ አመሰግናለሁ ፡፡
ሰላም ዳዊ,
ማንኛውንም አይነት የቡድን መግለጫ እየሰሩ ከሆነ፣ መኖር ያስፈልግዎታል። ከላይ በምሳሌው ላይ ይህን አላደርግም.
ዳግ
ከ MySQL 5.x ጀምሮ ፣ WHERE አንቀፅ ይመልከቱ ላይ ቅጽል ስም መጠቀም አይችሉም http://dev.mysql.com/doc/refman/5.0/en/problems-with-alias.html
ከላይ በተጠቀሱት መጠይቆች ውስጥ WHERE ከማለት ይልቅ HAVING ን ይጠቀሙ
በጣም አመሰግናለሁ. በጣም ጥሩ ሥራ ሠርተዋል በእውነቱ የምፈልገው ነገር ነው ፡፡ በጣም አመሰግናለሁ.
ይህን ኮድ ስላጋሩ በጣም እናመሰግናለን። ብዙ የዕድገት ጊዜ አድኖኛል። እንዲሁም፣ የ HAVING መግለጫ ለ MySQL 5.x አስፈላጊ መሆኑን ስላመለከቱ ለአንባቢዎችዎ እናመሰግናለን። በጣም አጋዥ።
አንባቢዎች ከእኔ የበለጠ ብልህ በመሆናቸው ተባርኬያለሁ!
🙂
ከላይ ያለው ቀመር ብዙ ጊዜ እየቆጠበኝ ነው። በጣም አመሰግናለሁ.
እንዲሁም በNMEA ቅርጸት እና በዲግሪዎች መካከል መቀያየር አለብኝ። በዚህ URL ከገጹ ግርጌ ላይ ቀመር አግኝቻለሁ። http://www.errorforum.com/knowledge-base/16273-converting-nmea-sentence-latitude-longitude-decimal-degrees.html
ይህንን እንዴት ማረጋገጥ እንደሚቻል ማንም ያውቃል?
አመሰግናለሁ!
ሃሪ
ሰላም,
ሌላ ጥያቄ. ከታች እንዳለው ለNMEA ሕብረቁምፊዎች ቀመር አለ?
1342.7500 ፣ N ፣ 10052.2287 ፣ ኢ
$GPRMC,032731.000,A,1342.7500,N,10052.2287,E,0.40,106.01,101106,,*0B
አመሰግናለሁ,
ሃሪ
እኔ ደግሞ WHERE ለእኔ አይሰራም ነበር. ወደ HAVING ቀይሮታል እና ሁሉም ነገር በትክክል ይሰራል። መጀመሪያ ላይ አስተያየቶቹን አላነበብኩም እና ጎጆ ምረጥን በመጠቀም እንደገና ጻፍኩት። ሁለቱም በትክክል ይሰራሉ.
በ mysql ለተፃፈው ስክሪፕት በጣም አመሰግናለሁ ፣ ጥቂት ጥቃቅን ማስተካከያዎችን ማድረግ ነበረበት (HAVING) 🙂
ደስ የሚል ሥራ
በማይታመን ሁኔታ አጋዥ ፣ በጣም አመሰግናለሁ! ከ “WHERE” ይልቅ በአዲሱ “HAVING” ላይ አንዳንድ ችግሮች አጋጥመውኝ ነበር ፣ ግን አንድ ጊዜ አስተያየቶችን እዚህ ላይ ካነበብኩ (በብስጭት ጥርሶቼን ከፈጨኝ ግማሽ ሰዓት ያህል በኋላ = P) በጥሩ ሁኔታ እየሠራሁ አገኘሁት ፡፡ አመሰግናለሁ ^ _ ^
አመሰግናለሁ ብዙ ይሠራል
እንደዚያ የመረጥ መግለጫ በጣም ስሌት በጣም ከባድ እና ስለዚህ ዘገምተኛ እንደሚሆን ያስታውሱ። ብዙ እነዚያ መጠይቆች ካሉዎት ነገሮችን በፍጥነት በፍጥነት ሊያወዛውዝ ይችላል።
በጣም ያነሰ ጠንከር ያለ አቀራረብ በ SQUARE አካባቢ በተሰላ ርቀት የተገለፀውን የመጀመሪያ (ጥሬ) ምረጥ ማለትም "በ lat1 እና lat2 መካከል ባለው ኬክሮስ እና በሎን1 እና በሎን2 መካከል ካለው የሠንጠረዥ ስም * ምረጥ"። lat1 = targetlatitude – latdiff, lat2 = targetlatitude + latdiff፣ከሎን ጋር ተመሳሳይ ነው። latdiff ~= ርቀት / 111 (ለኪሜ) ፣ ወይም ርቀት/69 ለማይል ከ 1 ዲግሪ ኬክሮስ ~ 111 ኪሜ (ትንሽ ልዩነት ምድር ትንሽ ሞላላ ስለሆነች ፣ ግን ለዚህ ዓላማ በቂ ነው)። londiff = ርቀት / (abs(cos(deg2rad(latitude)))*111)) - ወይም 69 ማይሎች (ለተለዋዋጭነት መለያ ትንሽ ትልቅ ካሬ መውሰድ ትችላለህ)። ከዚያ የዚያን ውጤት ውሰዱ እና ወደ ራዲያል ምረጥ ይመግቡት. ልክ ከወሰን ውጭ መጋጠሚያዎችን መለያ ማድረግን አይርሱ - ማለትም ተቀባይነት ያለው የኬንትሮስ ክልል ከ -180 እስከ +180 እና ተቀባይነት ያለው የኬክሮስ ክልል -90 እስከ +90 - የእርስዎ ላትዲፍ ወይም ሎንዲፍ ከዚህ ክልል ውጭ የሚሮጥ ከሆነ . በአብዛኛዎቹ ሁኔታዎች ይህ በፓስፊክ ውቅያኖስ በኩል ባለው መስመር ላይ ከዋልታ እስከ ምሰሶ ድረስ ባለው መስመር ላይ ያለውን ስሌት ብቻ ስለሚነካ ተግባራዊ ላይሆን እንደሚችል ልብ ይበሉ፣ ምንም እንኳን የቹኮትካ እና የአላስካን ክፍል የሚያቋርጥ ቢሆንም።
በዚህ የምንፈጽመው ይህንን ስሌት በሚያደርጉበት የነጥብ ብዛት ላይ ከፍተኛ ቅነሳ ነው ፡፡ በግምት በእኩል በተሰራጨው የመረጃ ቋት ውስጥ አንድ ሚሊዮን ዓለም አቀፍ ነጥቦች ካሉዎት እና በ 100 ኪ.ሜ ውስጥ መፈለግ ከፈለጉ የመጀመሪያዎ (ፈጣን) ፍለጋዎ 10000 ስኩዌር ኪ.ሜ አካባቢ ነው ምናልባትም ወደ 20 የሚጠጉ ውጤቶችን ያስገኛል 500 ሜ.ሜ ስኩዌር ኪ.ሜ አካባቢ) ፣ ይህ ማለት ከአንድ ሚሊዮን ጊዜ ይልቅ ለዚህ ጥያቄ ውስብስብ የሆነውን የርቀት ስሌት 20 ጊዜ ያካሂዳሉ ማለት ነው ፡፡
የእኛ… ካሬ "ራዲየስ" እየተመለከትን ስለሆነ በምሳሌ… ውስጥ አነስተኛ ስህተት በ 50 ኪ.ሜ (በ 100 ሳይሆን) ይሆናል ፡፡
ድንቅ ምክር! እኔ በእውነቱ የውስጡን ካሬ የሚጎትት ተግባር ከፃፈ ገንቢ ጋር ሰራሁ እና በመቀጠል የተቀሩትን ነጥቦች ለማካተት እና ለማግለል በፔሪሜትር ዙሪያ 'ካሬዎች' የሚያደርግ ተግባር ከፃፈ። ውጤቱ በሚያስደንቅ ሁኔታ ፈጣን ውጤት ነበር - በሚሊዮኖች የሚቆጠሩ ነጥቦችን በማይክሮ ሰከንድ ውስጥ መገምገም ይችላል።
የእኔ አካሄድ በእርግጠኝነት 'ድፍረት' ግን አቅም ያለው ነው። እንደገና አመሰግናለሁ!
ዳግ ፣
የላቲ ረጅም ነጥብ በፖሊጎን ውስጥ እንዳለ ለመገምገም mysql እና php ን ለመጠቀም እየሞከርኩ ነበር። ይህን ተግባር እንዴት ማከናወን እንደሚቻል የገንቢ ጓደኛዎ ማንኛውንም ምሳሌዎችን እንዳተመ ታውቃለህ። ወይም ጥሩ ምሳሌዎችን ታውቃለህ. በቅድሚያ አመሰግናለሁ.
ታዲያስ ሁላችሁም ይህ የእኔ የሙከራ 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
እና ሚስቅል ርቀቱን ፣ እንደ አምድ እንደሌለ እየነገረኝ ነው ፣ ቅደም ተከተልን መጠቀም እችላለሁ ፣ ያለ የትም ማድረግ እችላለሁ ፣ እና እሱ ይሠራል ፣ ግን ከእሱ ጋር አይደለም…
“WHERE ርቀት” ን በ “HAVING ርቀት” ይተኩ።
እንደ ማራኪ ይሠራል ፣ እናመሰግናለን ፣ ዳግላስ!
ይህ በጣም ጥሩ ነው ፣ ሆኖም ወፎቹ እንደሚበሩ ሁሉ ፡፡ የ google ካርታዎችን ኤ.ፒ.አይ.ን በሆነ መንገድ በዚህ መንገድ መሞከር እና ማካተት በጣም ጥሩ ነው (ምናልባት መንገዶችን በመጠቀም ወዘተ) የተለየ የመጓጓዣ ዘዴ በመጠቀም ሀሳብ ለመስጠት ብቻ ፡፡ ለተጓዥው ሻጭ ችግር ቀልጣፋ መፍትሄ ለመስጠት የሚያስችለኝን በ PHP ውስጥ የማስመሰል የማጣሪያ ተግባር ገና አላደርግም ፡፡ ግን ይህን ለማድረግ አንዳንድ ኮዶችዎን እንደገና ለመጠቀም እችል ይሆናል ብዬ አስባለሁ ፡፡
ሃይ ዳግላስ ፣
ለዚህ መጣጥፍ በጣም አመሰግናለሁ - እኔን ብዙ ጊዜ አድነኸኛል ፡፡
ደህና ሁን,
ናምሩድ @ እስራኤል
ጥሩ መጣጥፍ! በሁለት ነጥቦች መካከል ያለውን ርቀት እንዴት ማስላት እንደሚቻል የሚገልጹ ብዙ መጣጥፎችን አግኝቻለሁ ግን የ SQL ቅንጥጥን በእውነት እፈልግ ነበር ፡፡
እናመሰግናለን ብዙ ጥሩ ይሰራል
ለዚህ ቀመር በጣም አመሰግናለሁ። በእኔ ላይ በሚበላው የመደብር አካባቢ ፕሮጀክት ላይ የተወሰነ ጊዜ ተላጨ።
አንድ ጥቅል አመሰግናለሁ። ይህ ትንሽ የኮድ መስመር በመደብር መገኛ ፕሮጀክት ውስጥ ብዙ ጊዜ አድኖኛል!
# 1054 - ያልታወቀ አምድ ‹ርቀት› በየትኛው ሐረግ ውስጥ
ማፅደቅ
አንድ ነው አዚም! ችግሩ ምንድን ነው :-/? "ርቀቱን" እንዴት እንደሚፈታ - የአምድ ችግር? እርዳን እባክህ !! 🙂
ከ WHERE ይልቅ HAVING ን ለመጠቀም ይሞክሩ
ችግሬን የሚፈታ ይህንን ገጽ በመጨረሻ ለማግኘት የ 2 ቀናት ምርምር። የእኔን የዎልፍራም አልፋዬን አጥፍቼ በሂሳብዎ ላይ ብራሹን የተሻልኩ ይመስላል። ከ WHERE ወደ HAVING የተደረገው ለውጥ በስርዓት ውስጥ የእኔ ስክሪፕት አለው። አመሰግናለሁ
በአንቀጽ ይልቅ የት
ርቀት <50
እናመሰግናለን ጆርጂ። እኔ አምድ ‹ርቀት› አልተገኘም ብዬ ቀጠልኩ ፡፡ አንዴ WHERE ን ወደ HAVING ከቀየርኩ በኋላ እንደ ማራኪ ይሠራል!
ይህ በዚህ ላይ ያገኘሁት የመጀመሪያ ገጽ ቢሆን ተመኘሁ ፡፡ ብዙ የተለያዩ ትዕዛዞችን ከሞከርኩ በኋላ በትክክል የሚሠራው ይህ ብቻ ነበር ፣ እና ከራሴ የውሂብ ጎታ (ዳታቤዝ) ጋር ለማስማማት በሚያስፈልጉ አነስተኛ ለውጦች ፡፡
በጣም አመሰግናለሁ!
ይህ በዚህ ላይ ያገኘሁት የመጀመሪያ ገጽ ቢሆን ተመኘሁ ፡፡ ብዙ የተለያዩ ትዕዛዞችን ከሞከርኩ በኋላ በትክክል የሚሠራው ይህ ብቻ ነበር ፣ እና ከራሴ የውሂብ ጎታ (ዳታቤዝ) ጋር ለማስማማት በሚያስፈልጉ አነስተኛ ለውጦች ፡፡
በጣም አመሰግናለሁ!
በጣም አመሰግናለሁ!
በጣም አመሰግናለሁ!
ኮዱ ከእንግዲህ እየታየ አይመስለኝም ፡፡ ምናልባት ፋየርፎክስ ሊሆን ይችላል?
በቃ በፋየርፎክስ እና በ Chrome ውስጥ ሁለቱንም ሞክሬያለሁ እና እየታየ ነው ፡፡ ድጋሚ ሞክር?
ታዲያስ. በጣም አመሰግናለሁ. ይህ እንደ ማራኪ ይሠራል ፡፡
ዳግላስ በጣም አመሰግናለሁ። ይህ ፍጹም እየሰራ ነው ፡፡
ይህ ቀመር እንደሚሰራ አውቃለሁ ፣ ግን የምድር ራዲየስ የት እንደሚወሰድ ማየት አልቻልኩም ፡፡ እባክዎን ማንም ሊረዳኝ ይችላል?
ቲም ለሐቨርሲን ቀመር (ይህ ኮድ አይደለም) ሙሉ ማብራሪያ ለማግኘት የዊኪፔዲያ ጽሑፍን ይመልከቱ- http://en.wikipedia.org/wiki/Haversine_formula
ቆንጆ! ይህ እጅግ ረድቶኛል!
ታላላቅ ነገሮች ዳግላስ። የሁለት ነጥቦችን ረዥም / ላታ / ተሸካሚ በመስጠት የመስቀለኛ ነጥቡን ለማግኘት ሞክረዋል?
ገና ያንን አላደረጉም ፣ ካን!
ዳግላስ አመሰግናለሁ ፣ የ SQL ጥያቄ በትክክል የፈለግኩትን ነው ፣ እናም እኔ እራሴ መፃፍ አለብኝ ብዬ አሰብኩ ፡፡ ምናልባት ከሰዓታት ኬክሮስ ኬንትሮስ የመማሪያ ቅኝት ምናልባት አድነኸኛል!
የስህተት መልእክት ማግኘቴን ቀጠልኩ በ MySQL ጥያቄ ላይ ያልታወቀ አምድ ‹ርቀት› በ ‹የት አንቀጽ› ውስጥ ፡፡
ፒተር እባክዎን ሌሎች አስተያየቶችን ያንብቡ ፡፡ አንዳንድ ሰዎች ለ WHERE / HAVING የተለየ አገባብ መጠቀም የነበረባቸው ይመስላል ፡፡
ለዚህ ታላቅ መጣጥፍ አመሰግናለሁ! ኮዱን በዲቢዬ ላይ ብቻ ሞክረው በጣም ጥሩ ሰርተዋል!
ዳግላስ ፣ ለዚህ አስደናቂ ኮድ አመሰግናለሁ። በጄፒኤስ ማህበረሰብ መግቢያ ላይ ይህን እንዴት ማድረግ እንዳለብኝ ጭንቅላቴን እየሰነጠቅኩኝ ነው ፡፡ ሰዓታትን አድነኸኛል ፡፡
ለመስማት ምርጥ ፣ አመድ!
ይህንን ጠቃሚ ጽሑፍ ስለለጠፉ አመሰግናለሁ ፣
ግን በሆነ ምክንያት መጠየቅ እፈልጋለሁ
በ MySQL DB እና በተጠቃሚዎች ወደ ፒኤችፒ በተገቡት ቅንጅቶች መካከል ያለውን ርቀት እንዴት ማግኘት ይቻላል?
የበለጠ በግልጽ ለመግለጽ
1. user የተገለጸውን ውሂብ ከ db እና ከተጠቃሚው ራሱ ኮዶች ለመምረጥ [id] ን ማስገባት አለባቸው
2.የ php ፋይል [id] ን በመጠቀም ዒላማውን ውሂብ (ኮርፖሬሽኖችን) ያግኙ እና ከዚያ በተጠቃሚ እና በዒላማው ነጥብ መካከል ያለውን ርቀት ያሰሉ
ወይም በቀላሉ ከዚህ በታች ካለው ኮድ ርቀትን ማግኘት ይችላል?
$ qry = "SELECT *, ((acos (sin ((.. $ latitude. * * pi () / 180)) * * sin ((" Latitude` * pi () / 180)) + cos ((". $ ኬክሮስ። ”* pi () / 180)) * cos ((“ Latitude` * pi () / 180)) * cos (((“. $ longitude.” - “Longitude`) * pi () / 180) ))) * 180 / pi ()) * 60 * 1.1515 * 1.609344) እንደ ርቀት ከ “MyTable` WHERE ርቀት> =“. $ ርቀት. ” >>>> ከዚህ ያለውን ርቀት “ማውጣት” እችላለሁን?
እንደገና አመሰግናለሁ,
ቲሚ ኤስ
በጭራሽ ፣ በ “php” ውስጥ “ተግባር” እንዴት እንደሚሰራ አውቃለሁ
$ dis = getDistanceBetweenPointsNew ($ userLati, $ userLongi, $ lati, $ longi, $ unit = 'Km')
በጣም አመሰግናለሁ!!
እሺ ፣ እኔ የሞከርኩት ሁሉ እየሰራ አይደለም ፡፡ እኔ የምለው ፣ ያለኝ ይሠራል ፣ ግን ርቀቶቹ ርቀዋል ፡፡
ማንም ሰው በዚህ ኮድ ውስጥ ምን ችግር እንዳለ ማየት ይችላል?
ከሆነ (መነሻ ($ _ POST ['ገብቷል'])) {$ z = $ _POST ['zipcode']]; $ r = $ _POST ['ራዲየስ']; አስተጋባ "ውጤቶች ለ". $ z; $ sql = mysql_query (“Select DISTINCT m.zipcode, m.MktName, m.LAAddSt, m.LocAddCity, m.LocAddState, m.x1, m.y1, m.verified, z1.lat, z2.lon, z1. ከተማ ፣ z1.state ከ mrk m ፣ zip z1 ፣ zip z2 WHERE m.zipcode = z1.zipcode እና z2.zipcode = $ z AND (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)))) <= $ r ") ወይም መሞት (mysql_error ()); ($ row = mysql_fetch_array ($ sql)) {$ store1 = $ ረድፍ ['MktName']]። ""; $ store = $ ረድፍ ['LocAddSt']። ”” $ store. = $ ረድፍ ['LocAddCity']። ”፣“. $. ረድፍ ['ዚፕ ኮድ']; $ latitude1 = $ ረድፍ ['lat']; $ longitude1 = $ ረድፍ ['lon']; $ latitude2 = $ ረድፍ ['y1']; $ ኬንትሮስ 2 = $ ረድፍ ['x1']; $ ከተማ = $ ረድፍ ['ከተማ']; $ state = $ ረድፍ ['state']; $ dis = getnew ($ latitude1, $ longitude1, $ latitude2, $ longitude2, $ unit = 'Mi'); // $ dis = ርቀት ($ lat1, $ lon1, $ lat2, $ lon2); $ ተረጋግጧል = $ ረድፍ ['ተረጋግጧል']; ከሆነ ($ ተረጋግጧል == '1') {አስተጋባ “”; አስተጋባ "". $ ማከማቻ. ""; አስተጋባ $ dis. ”ማይል (ሮች) ሩቅ”; አስተጋባ “”; } ሌላ {አስተጋባ “”። $ ማከማቻ። ””; አስተጋባ $ dis. ”ማይል (ሮች) ሩቅ”; አስተጋባ “”; }}}
የእኔ ተግባራት. php ኮድ
ተግባር getnew ($ latitude1, $ longitude1, $ latitude2, $ longitude2, $ unit = 'Mi') {$ theta = $ longitude1 - $ longitude2; $ ርቀት = (ኃጢአት (deg2rad ($ latitude1)) * sin (deg2rad ($ latitude2))) + (cos (deg2rad ($ latitude1)) * cos (deg2rad ($ latitude2)) * cos (deg2rad ($ theta)) ) $ ርቀት = acos ($ ርቀት); $ ርቀት = rad2deg ($ ርቀት); $ ርቀት = $ ርቀት * 60 * 1.1515; ማብሪያ ($ unit) {case 'Mi': break; ጉዳይ 'ኪም': $ ርቀት = $ ርቀት * 1.609344; } መመለስ (ክብ ($ ርቀት ፣ 2)); }
የቀደመ ምስጋና
ለዚህ መጣጥፍ አመሰግናለሁ ፡፡ ከኮዴ ጋር በደንብ በመስራት ላይ። 🙂
ሄይ ዳግላስ ፣ ግሩም መጣጥፍ። ስለ ጂኦግራፊያዊ ፅንሰ-ሀሳቦች እና ስለ ኮዱ የሰጡት ማብራሪያ በእውነቱ አስደሳች ሆኖ አግኝቼዋለሁ ፡፡ የእኔ ብቸኛ አስተያየት ጥቆማውን ለማሳየት እና ለማሳየት (ለምሳሌ እንደ እስክራቫልቭ ፍሰት) ኮዱን ማስገባት ነው ፡፡ ቦታን መቆጠብ እንደሚፈልጉ ተረድቻለሁ ፣ ነገር ግን የተለመዱ የኮድ ክፍተቶች / ኢንዴንሽን እንደ አንድ ፕሮግራም አውጪ ለማንበብ እና ለመበታተን ለእኔ በጣም ቀላል ይሆንልኛል ፡፡ የሆነ ሆኖ ያ ትንሽ ነገር ነው ፡፡ ታላቁን ስራዎን ይቀጥሉ ፡፡
አመሰግናለሁ! ልጥፉን ትንሽ ቀይሬያለሁ the ግን እኩልዮቹ ብዙ ቦታ የሚይዙ እና በጣም ረጅም ስለሆኑ በጣም እንደሚረዳ እርግጠኛ አይደለሁም ፡፡
በጣም አመሰግናለሁ.
እዚህ ጋር በተግባራዊነት እየተጠቀምን አንድ ዓይነት ርቀትን እናገኛለን ፡፡.. ጥያቄን በመጠቀም የሚመጣውን ሌላ ዓይነት ርቀትን
በሁለት ግዛት መካከል ያለውን ርቀት አላሰላሁም
Muchas gracias por tan hermoso codigo
ይህ ጥሩ የኮሲነስ ተግባራት። ሂሳብ አላውቅም ፣ ግን አመሰግናለሁ!
ታላቁ ሥራ… 🙂 (y)
በምርጫው ውስጥ የትኛውን ቀመር ሁለት ጊዜ ለመጠቀም ፈጣኑ (mysql 5.9) ይመስላል-
$ ቀመር = “(((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) ”;
$ sql = 'SELECT *,'. $ ቀመር። ' እንደ ርቀት ከሠንጠረዥ የት '.. $ ቀመር።' <= '. $ ርቀት;
አመሰግናለሁ…
ካልሰራ
“የት እንዳለ”
መሥራት ከሆነ
“ርቀት”
ይህ ጽሑፍ በጣም ጥሩ ጠቃሚ ነው ፡፡
ፒኤችፒ መጀመሪያ ላይ እንደ “የግል መነሻ ገጽ” ተብሎ እንደ ቀላል የስክሪፕት መድረክ ተፈጥሯል። በአሁኑ ጊዜ PHP (ለ Hypertext ቅድመ-ፕሮሰሰር አጠር ያለው) የማይክሮሶፍት ንቁ የአገልጋይ ገጾች (ኤስፒ) ቴክኖሎጂ አማራጭ ነው ፡፡
ፒኤችፒ ተለዋዋጭ የድር ገጾችን ለመፍጠር የሚያገለግል ክፍት ምንጭ አገልጋይ-ጎን ቋንቋ ነው። ወደ ኤችቲኤምኤል ሊገባ ይችላል። ፒኤችፒ አብዛኛውን ጊዜ በሊነክስ / UNIX ድር አገልጋዮች ላይ ከ ‹MySQL› ዳታቤዝ ጋር አብሮ ጥቅም ላይ ይውላል ፡፡ ምናልባት በጣም የታወቀው የስክሪፕት ቋንቋ ነው።
በትክክል የማይሰራ ከላይ መፍትሄ አገኘሁ ፡፡
መለወጥ አለብኝ ወደ
$ qqq = "SELECT *, ((acos (sin ((.. $ latitude. * * pi () / 180)) * * sin ((" latt` * pi () / 180)) + cos ((") $ ኬክሮስ. “* pi () / 180)) * cos ((“ latt` * pi () / 180)) * cos (((”. $ ኬንትሮስ.“ - “longt`) * pi () / 180) ))) * 180 / pi ()) * 60 * 1.1515) እንደ ርቀት ከ “ምዝገባ” “;
ኩፔንድራ እናመሰግናለን!
አመሰግናለው ጌታዬ ፍፁም በሆነ መልኩ እየሰራሁ ነው… ግን አንድ ጥያቄ አለኝ ያለ አስርዮሽ ነጥብ ማውጣት ከፈለግኩ ምን ማድረግ እችላለሁ…?
በቅድሚያ አመሰግናለሁ.
ጤና ይስጥልኝ ፣ እባክዎን በዚህ ላይ በእርግጥ እገዛዎን እፈልጋለሁ ፡፡
ለድር አገልጋዬ የማግኘት ጥያቄ አቀረብኩ http://localhost:8000/users/findusers/53.47792/-2.23389/20/
53.47792 = $ ኬክሮስ
-2.23389 = $ ኬንትሮስ
እና 20 = ሰርስሮ ማውጣት እፈልጋለሁ
ሆኖም ቀመርን በመጠቀምዎ በ db ውስጥ ያሉትን ሁሉንም ረድፎች ይሰበስባል
$ results = DB :: ይምረጡ (DB :: ጥሬ (“SELECT *, ((acos (sin (). $ latitude.” * pi () / 180))) * sin ((lat * pi () / 180) )) + cos ((“. $ latitude.” * pi () / 180)) * cos ((lat * pi () / 180)) * cos (((“. $ longitude.” - lng) * pi ( ) / 180)))) * 180 / pi ()) * 60 * 1.1515 * 1.609344) ከጠቋሚዎች እንደ ርቀት ርቀት> = ". $ ርቀት));
[{"Id": 1, "ስም": "Frankie Johnnie & Luigo Too", "address": "939 W El Camino Real, Mountain View, CA", "lat": 37.386337280273, "lng": - 122.08582305908, ”ርቀት”: 16079.294719663}, {“id”: 2, ”name”: “Amici’s East Coast Pizzeria”, “address”: “790 Castro St, Mountain View, CA”, “lat”: 37.387138366699, ”lng”: -122.08323669434 ፣ “ርቀት”: 16079.175940152} ፣ ““ id ”: 3,” name ”:“ የካፕ ፒዛ አሞሌ እና ግሪል ”፣“ አድራሻ ”“ 191 ካስትሮ እስ ፣ ማውንት ቪው ፣ ካ ”፣“ ላ ”37.393886566162 ”Lng”: - 122.07891845703 ፣ ”ርቀት”: 16078.381373826}, {“id”: 4, ”name”: “Round Table Piza: Mountain View”, “address”: “570 N Shoreline Blvd, Mountain View, CA”, ”Lat”: 37.402652740479, “lng”: - 122.07935333252, ”ርቀት”: 16077.420540582}, {“id”: 5, ”name”: “Tony & Alba’s Pizza & Pasta”, ”address”: “619 Escuela Ave, Mountain እይታ ፣ CA ”፣“ lat ”: 37.394012451172 ፣“ lng ”: - 122.09552764893 ፣” ርቀት ”: 16078.563225154} ፣ {“ id ”: 6,” name ”:“ Oregano’s Wood-Fired Pizza ”,” address ”:“ 4546 ኤል ካሚኖ ሪል ፣ ሎስ አልቶስ ፣ ሲኤ ”፣“ ላት ”37.401725769043 ፣“ lng ”: - 122.11464691162 ፣” ርቀት ”: 16077.937560795} ፣ {“ id ”: 7,” name ”:“ ቡና ቤቶችና ጋሪዎቹ ”፣“ አድራሻ ”:“ 24 ኋይትሊ ጎዳና ፣ ማንቸስተር ”፣“ ላቲ ”53.485118865967 ፣” lng ”: - 2.1828699111938 ፣” ርቀት ”: 8038.7620112314}]
ከ 20 ማይል ጋር ተራዎችን ብቻ ማውጣት እፈልጋለሁ ግን ሁሉንም ረድፎችን ያመጣል ፡፡ እባክዎን ምን እየሠራሁ ነው
እኔ ተመሳሳይ ጥያቄ እየፈለግሁ ግን ትንሽ ከፍ አልኩ - በአጭሩ ይህ በእያንዳንዱ አስተባባሪ በ 2 ማይል ውስጥ ሁሉንም መጋጠሚያዎች መሰብሰብ እና ከዚያ በእያንዳንዱ ቡድን ውስጥ ምን ያህል መጋጠሚያዎችን መቁጠር እና ብዙ መጋጠሚያዎችን ያለው አንድ ቡድን ብቻ ማውጣት ነው - በጣም ብዙ መጋጠሚያዎች ካሏቸው ቡድኖች መካከል ከአንድ በላይ ቡድን አለዎት - በቀላሉ ተመሳሳይ ቁጥር ካላቸው ቡድኖች የዘፈቀደ ቡድኑን ያውጡ -
በማጋራትዎ በጣም እናመሰግናለን.