2013-05-08 1 views
4

можно найти место с в кадрирования в сводной таблице, как:таблица Fusion пространственного запрос

SELECT * FROM <tableid> WHERE ST_INTERSECTS(<location_column>, RECTANGLE(LATLNG(B, Y), LATLNG(A, X)) 

Теперь мой вопрос, можно ли найти место внутри многоугольника неправильной формы (кроме прямоугольника или круга) и отобразить его на карте?

Точнее, у меня есть таблица слияния с несколькими многоугольниками неправильной формы (с использованием kml). Другая таблица слияния с данными точек в ней, которые лежат внутри полигонов первой таблицы. Теперь я хочу отфильтровать многоугольник в первой таблице с помощью таблицы api fusion, чтобы я мог видеть только точки внутри этого многоугольника, используя логику пересечения.

+0

Можете ли вы дать нам stucture из файл, который вы загрузили в таблицу слияния Google? Благодарю. –

ответ

2

Используйте небольшой КРУГ вокруг точки. Если ваш <location_column> содержит многоугольники, <latitude>/<longitude> координаты точки, которую вы ищете:

SELECT * FROM <tableid> WHERE ST_INTERSECTS(`<location_column>`, 
CIRCLE(LATLNG(`<latitude>`, `<longitude>`), 0.5)) 
+0

Есть ли другие ключевые слова, кроме RECTANGLE & CIRCLE? Я имею в виду, могу ли я найти точки в нерегулярном полигоне? – mpsbhat

+0

Вы можете найти точки (маленькие круги) в многоугольнике, определяемом KML, в столбце с типом местоположения. Вы посмотрели на мои примеры? – geocodezip

+0

Я ... Я прошел через ваши примеры. Это хорошо. Вместо окна поиска можно использовать раскрывающееся меню, чтобы я мог выбрать регион, и при выборе карты будут отображаться все точки в таблице слияния, которые лежат внутри этого региона (что-то вроде вашего примера 2, в котором показаны все точки в пределах круглая область). – mpsbhat

Смежные вопросы