我正在开发一个需要从地形图(不同颜色表示的不同高程)获取数据的PHP应用程序。我需要做两件事:
使用此地图(800x600),找到一种方法来确定特定城市的确切像素位置。例如,旧金山正好位于121x585。
使用上面(1)中的位置,我需要阅读该位置的确切颜色。
注意:地图提供者不提供基于位置的数据,只提供彩色地图。我怀疑需要多个库来将坐标映射到地图上的位置(通过比率?)然后使用OCR来读取颜色。
是否有任何PHP库/工具可以执行此操作?你怎么把它拉下来?
答案 0 :(得分:1)
我可能没有完全理解这个问题,但你应该把你想要的位置映射到一个数组(对象?)
$city_mapping = array(new City("San Francisco", 121, 585), new City....); //Map your cities to an array.
应将City
定义为包含这些变量的类。
然后使用 imagecolorat()
检查颜色。
答案 1 :(得分:1)
一旦知道了像素坐标,就可以很容易地将PHP的内置GD库用于任意像素的sample the color。
棘手的一点是确定要采样的像素,这可能会变得相当棘手。地球是球状的,地图使用各种projections来产生二维表示。如果您知道如何投影彩色地图图像,并且您知道(0,0)处像素的纬度/经度,您应该能够编写一个函数来将lat / long转换为像素坐标。