Руководство пользователя для разработчиков
Обработка геопространственных данных
Обработка геопространственных данных через SQL API легка. По умолчанию the_geom
возвращается прямо из базы данных в формате, называемом Well-Known Binary. Существует несколько способов преобразования ваших геометрий в более полезные форматы.
Первый способ - использовать метод format=GeoJSON, описанный выше. Другие можно обработать непосредственно с помощью SQL-запросов. Например, заключение the_geom
в функцию, называемую ST_AsGeoJSON, позволит использовать JSON для ваших данных, но строку GeoJSON только для столбца геометрии. В качестве альтернативы, использование функции ST_AsText вернет вашу геометрию в виде Well-Known Text.
ST_AsGeoJSON
Вызов
https://maps.epsilonmetrics.ru/user/{user}/api/v2/sql?q=SELECT cartodb_id,ST_AsGeoJSON(the_geom) as the_geom FROM {table_name} LIMIT 1
Результат
{
time: 0.003,
total_rows: 1,
rows: [
{
cartodb_id: 1,
the_geom: "{"type":"Point","coordinates":[-97.3349,35.4979]}"
}
]
}
ST_AsText
Вызов
https://maps.epsilonmetrics.ru/user/{user}/api/v2/sql?q=SELECT cartodb_id,ST_AsText(the_geom) FROM {table_name} LIMIT 1
Результат
{
time: 0.003,
total_rows: 1,
rows: [
{
cartodb_id: 1,
the_geom: "POINT(-74.0004162 40.6920918)",
}
]
}
В библиотеке PostGIS существуют более продвинутые методы для извлечения значимых данных из вашей геометрии. Изучите документацию PostGIS и ознакомьтесь с такими функциями, как ST_XMin, ST_XMax, ST_AsText и так далее.
Все данные, возвращаемые из столбца the_geom
, находятся в WGS 84 (EPSG:4326). Вы можете быстро изменить это на лету с помощью SQL. Например, если вы предпочитаете геометрии, использующие проекцию Hanoi 1972 (EPSG:4147), используйте ST_Transform.
ST_Transform
https://maps.epsilonmetrics.ru/user/{user}/api/v2/sql?q=SELECT ST_Transform(the_geom,4147) FROM {table_name} LIMIT 1
Epsilon Metrics также хранит второй столбец геометрии, the_geom_webmercator
. Мы используем его внутренне для создания ваших картографических тайлов максимально быстро. В пользовательском интерфейсе он скрыт, но виден и доступен для использования. В этом столбце мы храним перепроецированную версию всех ваших геометрий с использованием Web Mercator (EPSG:3857).