在mysql中为一个位置存储一系列经纬度

时间:2019-03-26 12:18:12

标签: mysql google-maps heatmap

我正在使用Maps JavaScript API进行热图实验。

现有的API会像这样对数据点进行硬编码。

function getPoints() {
    return [
      new google.maps.LatLng(37.783791, -122.398998),
      new google.maps.LatLng(37.784177, -122.398959),
      new google.maps.LatLng(37.784388, -122.398971),
      new google.maps.LatLng(37.784404, -122.399128),
      new google.maps.LatLng(37.784586, -122.399524),
      new google.maps.LatLng(37.784835, -122.399927),
      new google.maps.LatLng(37.785116, -122.400307)
    ];
}

很明显,如果我的街道长有150个数据点,则此方法可能会变得不整洁。相反,我想将热图的这些数据点保留到mysql上。

但更具体地说,如何将经纬度坐标的范围存储到mysql中的 一个 位置。 / p>

示例:

旧金山的霍华德街(Howard Street)具有150个数据点,范围从(37.783791,-122.398998)到(37.785116,-122.400307)

我如何在mysql的范围内进行设置

enter image description here

1 个答案:

答案 0 :(得分:0)

我将在MySQL中创建两个表,一个用于街道,一个用于存储每个街道的所有数据点。

例如:

create table street (
  id int,
  name varchar(50)
);

create table data_point (
  id int,
  street_id int,
  latitude double,
  longitude double,
  constraint fk1 foreign key (street_id) references street (id)
);