javascript - 添加 MultiPolygon 几何时的投影问题
问题描述
当我添加用户在我的地图上绘制的 MultiPolygon 几何图形时,几何图形不会显示在我绘制它的位置。它显示在不同的地方。
我将几何图形发送到我的 api,他的目标是在我的 postgre 数据库中添加几何图形。所以在我的 API 中:
var geom = req.body.geom
var geom2 = "ST_GeomFromText('" + geom + "',2154)"
pool.query( 'INSERT INTO potentiel_foncier_ccry (nature, geom, nbr_lgmt) VALUES ('+ mysql.escape(nature)+','+geom2+','+mysql.escape(logement)+')'
在显示我的数据的函数中:
foncier2.getSource().addFeatures(foncier2.getSource().getFormat().readFeatures(
myGeoJSON, {
dataProjection: 'EPSG:4326',
featureProjection: 'EPSG:3857'
}));
foncier2.getSource().refresh();
foncier2.getSource().changed();
map.getView().fit(foncier2.getSource().getExtent());
}
问题来自投影?在我的数据库中,我被迫将我的几何图形存储在 EPSG:2154 中。
我在这里画的例子:
当我想显示它时在数据库中添加几何图形后,它显示在海面上:
Ps:我使用 OpenLayer 5.3.0。
解决方案
推荐阅读
- c# - 认知服务语音产生空文件
- objective-c - IOS-FreeRDP--ios 源无法运行 ENABLE_BITCODE=YES 设置不起作用
- c++ - MFC 图标没有变化
- mongodb - MongoDB查询以获取与具有多个值的键匹配的所有文档
- html - 如何制作嵌套的 ngFor?[角度和离子]
- html - 在引导程序 4 中制作一个 5 列网格
- android - 当应用程序处于后台时,带有 PendingIntent 的 Android FusedLocationClient 未接收到位置更新
- c# - 使用抽象工厂
- android-studio - 在活动中接收来自意图的值并创建一个新的 SharedPreference
- java - Java 中的 FileWriter 缓冲区在哪里?是在系统空间还是用户进程空间?