Я сохранил в одно поле таблицы геопространственные данные. Его тип Polygon
.
Если использовать такой запрос:
SELECT AsWKT(area) as `polygon` FROM geo.info_buildings;
Я получаю следующий тип результата, например:
POLYGON((55.4295824 36.8635427),(55.4296539 36.8636714),
(55.4291776 36.8644788),(55.4290999 36.86435)
Я хочу знать, как я могу разобрать/десериализовать объект Polygon
из команд SQL таким образом, чтобы я мог получить longitude/latitude
из каждой точки Polygon
.
Насколько я понимаю, способ десериализации:
Внимание
У меня не было хороших навыков в SQL, поэтому следующий псевдокод - это всего лишь концепция/идея, так что будьте терпеливы и добры, пожалуйста :) и простите мне мое отсутствие знаний в области MySQL.
1). Сделайте что-то похожее на блок foreach()
.
Псевдокод:
foreach (Point p in Polygon) { ... }
2). Затем в этом блоке foreach
сделайте что-нибудь. как:
foreach (Point p in Polygon)
{
SET @var1 = p.GetLatitude();
SET @var2 = p.GetLongitude();
}