将 GeoJSON 坐标转换为其他投影以用于草坪.js
Convert GeoJSON coordinates to other projection to use with Turf.js
我有一个使用 NAD-83 UTM 投影的 GeoJSON 特征集合,因此坐标以米为单位。我想将这个要素集合与 Turf.JS 库一起使用来执行一些轮廓。
问题是 Turf.JS 只采用 WGS84 坐标。当我使用 UTM 投影在网格上进行轮廓绘制时,生成的等值线具有错误的坐标(-XXXXXXXXX、XXXXXXXX)。
如何将我的 GeoJSON 文件转换为具有 WGS84 坐标而不是 UTM ?
这是我的代码:
var receptors1 = new ol.layer.Vector({
name: "Receptors",
visible: true,
source: new ol.source.Vector({
url: "url.json",
format: new ol.format.GeoJSON()
})
});
map.addLayer(receptors1);
receptors1.getSource().on('change', function(evt){
var source = evt.target;
if(source.getState() === 'ready'){
var feats = source.getFeatures();
var newForm = new ol.format.GeoJSON();
featColl = newForm.writeFeaturesObject(feats);
var breaks = [0, 1, 2, 3, 4, 5];
isolined = turf.isolines(featColl, 'Max', 15, breaks);
var vectorSource = new ol.source.Vector({
features: (new ol.format.GeoJSON()).readFeatures(isolined)
})
var isoShow = new ol.layer.Vector({
source: vectorSource
})
map.addLayer(isoShow);
}
})
要将 GeoJSON 传递给 Turf.js,请执行
var formatOptions = {featureProjection: map.getView().getProjection()};
featColl = newForm.writeFeaturesObject(feats, formatOptions);
要将 Turf.js 的结果添加回您的源,请执行
features: newForm.readFeatures(isolined, formatOptions)
相关文章:
- 将函数的上下文应用于javascript变量
- keyup事件处理程序更改焦点不适用于快速键入
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- PHP中的setcookie仅适用于localhost
- 包括用于facebook评论框的JavaScript SDK
- 如何检测用于WebGL的专用或集成显卡
- ng更改事件不适用于Dropdown
- 用于搜索的聚合物嵌套绑定
- jQuery表单添加不适用于下拉列表
- Rails/JSON:如何将JSON用于jquery UI自动完成表单
- JS编译器/包管理器,用于版本控制
- 将CSS应用于printWindow.print();在Javascript中
- 用于'魔术串'属性
- 用于检查数组中是否存在元素的javascript自定义方法
- 谷歌地图API v3不适用于移动浏览器或PhoneGap
- 在ajax成功后,cluetip不适用于首次点击活动元素
- D3.js模式不适用于弧形或圆环图
- AngularJS单选筛选不适用于Name、Description和Field4复选框值
- 将 GeoJSON 坐标转换为其他投影以用于草坪.js