У меня есть дамп данных (csv) географических названий от https://www.ordnancesurvey.co.uk/business-and-government/help-and-support/products/os-open-names.html
Мне нужно импортировать это в mysql, однако в координатах геометрии используется BNG (OSGB36). Есть ли в Mysql какие-либо функции для преобразования этих координат в wgs84 lat / long или есть другой метод sql для достижения этой цели?
другой вариант, возможно, загружает его в postgis - есть ли у postgis какая-либо функция для преобразования BNG в lat / long? Возможно, я мог бы сделать это, а затем экспортировать данные после преобразования и загрузить их в MySQL?
В postgis я мог бы сделать что-то следующее (не проверено)
select AddGeometryColumn('locations', 'the_geom', 27700, 'POINT', 2);
-- X and Y are the BNG co-ordinates
UPDATE locations SET the_geom = ST_GeomFromText('POINT(' || x || ' ' || y || ')', 27700 );
alter table locations add column lat real;
alter table locations add column long real;
update locations set long=st_x(st_transform(the_geom,4326)),
lat=st_y(st_transform(the_geom,4326));
Возможно ли выполнять функции такого типа в mysql - в основном это эквивалентные функции в mysql. Я не могу понять синтаксис? Следующее не работает в MySQL:
update locations set long=ST_X(ST_Transform(the_geom,4326)),
lat=ST_Y(ST_Transform(the_geom,4326));
Я получаю ошибку function ST_Transform does not exist
. Я использую MySQL 5.7
* ОБНОВЛЕНИЕ *
Пример данных:
NAME1 LOCAL_TYPE GEOMETRY_X GEOMETRY_Y DISTRICT_BOROUGH REGION COUNTRY
Southport Town 333510 417225 Sefton North West England