-1

现在。我有朗叻。我想在 Openlayers 中将 Lon Lat 转换为 Geomtry。但我不知道。例如我的问题:我想将 106.62639994087715 11.00448399644145 [LON LAT] 转换为0101000020E61000002812C7EF16A85A409024F4B94B022640 [GEOMTRY] 请帮帮我。谢了。

4

3 回答 3

2

如果您的地图以 4326 投影(纬度,经度)显示,则只需使用 new Point([Long,Lat]) 创建点几何体,否则您应该使用 ol/proj.fromLonLat([Long) 将纬度/经度转换为特定投影, Lat], ) 见官方文档

于 2020-04-17T15:31:21.207 回答
1

如果我明白你想要什么,你可以得到这样的几何图形(在你的情况下是点):

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

ol.proj.transform用于转换坐标,因为通常 webmap 使用while EPSG:3857lat/long are in ESPG:4326

于 2020-04-17T19:44:20.703 回答
0

您想要实现的是获取您在数据库中找到的几何图形的二进制表示。我认为在 OpenLayers 中不可能实现这一点,而且我认为您不需要它。如果您在 PostgreSQL/PostGIS 中执行此操作,您可以获得所需的结果: SELECT ST_GeomFromText('POINT(106.62639994087715 11.00448399644145)', 4326);

于 2020-04-22T10:23:28.507 回答