Запрос в столбце геометрии (созданный файлом kml)?

Если вы запросите с

содержит игнорирование регистра

то запрос вернет данные, но делает это медленно.

Как я могу запросить столбец геометрии в сводной таблице?

Я создал файл kml с помощью Google Maps, который был импортирован в таблицу слияния Google. Когда я пытаюсь найти долготу и широту в столбце geometry, чтобы вернуть имена зон, где долгота и широта совпадают в одной или нескольких точках внутри полилинии.

Столбец геометрии в моем случае хранит полилинию следующим образом:

Текущее значение ячейки:

<LineString><coordinates>
-99.832771,16.88472,0.0
-99.832703,16.88558,0.0
-99.832703,16.88558,0.0
-99.831383,16.885441,0.0 
..... 
</coordinates></LineString>

Теперь я пробую запрос tableid = 3427749:

http://fusiontables.googleusercontent.com/fusiontables/api/query?sql=
SELECT name FROM 3427749 
WHERE ST_INTERSECTS('geometry',RECTANGLE(LATLNG(32.618591,-115.441528),LATLNG(31.954109,-115.212509)))

и верните void, но если вы попытаетесь нарисовать те же координаты в прямоугольнике, вы это хорошо увидите, и если вы посмотрите на таблицу, эта область содержит действительные координаты для моего запроса.

Рисуем ту же область:


 var boudns = new google.maps.LatLngBounds(new google.maps.LatLng(32.618591, -115.441528),    new google.maps.LatLng(31.954109,-115.212509));

 var rectOptions = {
          strokeColor: "#000000",
          strokeOpacity: 0.6,
          strokeWeight: 2,
          fillColor: "#000000",
          fillOpacity: 0.2,
          bounds: boudns
        };
 rect.setOptions(rectOptions);

 var myOptions = {
      center: new google.maps.LatLng(23.926013,-101.90918),
      zoom: 5,
      mapTypeId: google.maps.MapTypeId.ROADMAP
    }
 map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);

 rect.setMap(map);

//You need implement a div with id map_canvas and put the code in `<script>` tags.

Что случилось? Любая помощь, пожалуйста?


person Alfonso    schedule 05.04.2012    source источник


Ответы (1)


Вы неправильно указали широту в поиске RECTANGLE.

Из справочных документов FT SELECT.

The syntax is: RECTANGLE(<lower_left_corner>, <upper_right_corner>)

У тебя есть:

ST_INTERSECTS('geometry',RECTANGLE(LATLNG(32.618591,-115.441528),LATLNG(31.954109,-115.212509)))

Широта 32.618591 > 31.954109 Когда я переключил эти широты и запустил ваш запрос, я получил одно имя "Мехикали - Эль Фаро"

person Eric Bridger    schedule 05.04.2012
comment
Большое спасибо, вся эта работа не дает мне хорошо подумать. Благодаря вам я могу закончить свой тезис JIT. Привет +++КАРМА - person Alfonso; 06.04.2012