Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 基于坐标的mysql区域查找_Php_Mysql_Sql - Fatal编程技术网

Php 基于坐标的mysql区域查找

Php 基于坐标的mysql区域查找,php,mysql,sql,Php,Mysql,Sql,我有一个区域表,所有区域都是x,y到xy和一个名称 我希望能够根据一组坐标(x,y)进行搜索和查找,如果它位于一个区域的10米范围内 这些地区的地图范围是从-6000,-6000到60006000 表中的列有:名称、键、cox1、cox2、coy1、coy2。 从这里我可以看出,第一个坐标是最小的数字 它们总是整数,所以不用担心小数点,例如-3918、-4017、-3069、-2970 可能有多个区域重叠,在这种情况下,我需要返回所有这些区域 这将从网页传递 几个例子 cox1,cox2,co

我有一个区域表,所有区域都是x,y到xy和一个名称

我希望能够根据一组坐标(x,y)进行搜索和查找,如果它位于一个区域的10米范围内

这些地区的地图范围是从-6000,-6000到60006000

表中的列有:名称、键、cox1、cox2、coy1、coy2。 从这里我可以看出,第一个坐标是最小的数字

它们总是整数,所以不用担心小数点,例如-3918、-4017、-3069、-2970

可能有多个区域重叠,在这种情况下,我需要返回所有这些区域

这将从网页传递

几个例子

  • cox1,cox2,coy1,coy2

  • -3918,-4017,-3069,-2970

  • -3905,-3962,-2393,-2330

  • -683,-683,-1459,-1459

  • 43364243,-4412,-432

好的,这似乎是我想要的,但这是非常偶然的。 如果我交换x1和x2,或者y1和y2,它将以某种组合工作,但并不总是这样

    SELECT RegionNames.Name FROM RegionNames 
    WHERE ( -3500 between RegionNames.cox2 and RegionNames.cox1 )
    AND ( -3000 between RegionNames.coy1 and RegionNames.coy2 )

e、 g.假设您有这样的区域:

 Name          fromX     fromY     toX      toY  
 NorthEast      0          0       6000     6000
 NorthWest     -6000       0         -1     6000
 Name        X      Y
 MyCity    -2000   550
等等

你有这样的城市:

 Name          fromX     fromY     toX      toY  
 NorthEast      0          0       6000     6000
 NorthWest     -6000       0         -1     6000
 Name        X      Y
 MyCity    -2000   550
尝试:

 Select city.name, region.name from city
 join region on ((city.X between region.fromX and region.toX) 
 and (city.y between region.fromY and region.toY))

你试过什么?另外,为了简化操作,请始终尝试包含4/5个样本行,这些样本行应与给定的查询相匹配,而这些查询不应是我所没有想到的。虽然单个坐标集不是来自另一个表。感谢您的使用,请考虑接受答案。PS:城市表只是一个例子,看看如何使用中间的想法;)。