Php 基于坐标的mysql区域查找
我有一个区域表,所有区域都是x,y到xy和一个名称 我希望能够根据一组坐标(x,y)进行搜索和查找,如果它位于一个区域的10米范围内 这些地区的地图范围是从-6000,-6000到60006000 表中的列有:名称、键、cox1、cox2、coy1、coy2。 从这里我可以看出,第一个坐标是最小的数字 它们总是整数,所以不用担心小数点,例如-3918、-4017、-3069、-2970 可能有多个区域重叠,在这种情况下,我需要返回所有这些区域 这将从网页传递 几个例子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
- cox1,cox2,coy1,coy2
- -3918,-4017,-3069,-2970
- -3905,-3962,-2393,-2330
- -683,-683,-1459,-1459
- 43364243,-4412,-432
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:城市表只是一个例子,看看如何使用中间的想法;)。