Как конвертировать Lon Lat в Geomtry в Openlayers? - PullRequest
0 голосов
/ 17 апреля 2020

Теперь. У меня был Лон Лат. Я хочу конвертировать Lon Lat в Geomtry в Openlayers. Но я не знаю. Исключая мою проблему: я хочу преобразовать 106.62639994087715 11.00448399644145 [LON LAT] в 0101000020E61000002812C7EF16A85A409024F4B94B022640 [GEOMTRY] Пожалуйста, помогите мне. Ткс все.

Ответы [ 3 ]

2 голосов
/ 17 апреля 2020

Если ваша карта отображается в проекции 4326 (широта, долгота), тогда просто используйте новую точку ([долгота, широта]) для создания геометрии точки. В противном случае вы должны преобразовать широту / долготу в определенную проекцию, используя ol / proj.fromLonLat ([Long, Lat],) см. официальные документы

1 голос
/ 17 апреля 2020

Если я понял, что вы хотите, вы можете получить геометрию (Точка в вашем случае) следующим образом:

new ol.geom.Point(ol.proj.transform([lon, lat], 'EPSG:4326', 'EPSG:3857'))

ol.proj.transform используется для преобразования координат, потому что обычно веб-карта использует EPSG:3857 в то время как lat / long находятся в ESPG:4326.

0 голосов
/ 22 апреля 2020

Чего вы хотите добиться, так это получить двоичное представление геометрии, найденное вами в базе данных. Я не думаю, что это возможно достичь в OpenLayers, и я не думаю, что вам это нужно. Вы можете получить желаемый результат, если выполните его в PostgreSQL / PostGIS: SELECT ST_GeomFromText ('POINT (106.62639994087715 11.00448399644145)', 4326);

...