1、geojson转化为ol-feature
const GeoJSON = new ol.format.GeoJSON();
geojson-type | GeoJSON().readFeatures() | readFeature(); |
---|---|---|
Feature | ✅ | ✅ |
FeatureCollection | ✅ | ❌ |
let geojson_features = {
type: "FeatureCollection",
features: [
{
type: "Feature",
geometry: {
type: "Point",
coordinates: [114.30, 30.50]
}
}
]
}
let geojson = {
type: "Feature",
geometry: {
type: "Point",
coordinates: [114.30, 30.50]
}
}
/* new ol.format.GeoJSON().readFeature */
var ols = new ol.format.GeoJSON().readFeatures(geojson); //Feature|FeatureCollection
console.log(ols)
1)加载本地的geojson数据
var source = new ol.source.Vector({
format:new ol.format.GeoJSON(),
url:"./data/data.json"
})
var layer = new ol.layer.Vector({
source
})
map.addLayer(layer)
2)加载网络的geojson数据
var source = new ol.source.Vector({
format:new ol.format.GeoJSON(),
url:"https://geo.datav.aliyun.com/areas_v3/bound/130000_full.json"
})
var layer = new ol.layer.Vector({
source
})
map.addLayer(layer)
2、ol-feature转化为geojson
let features = source.getFeatures()
/* 转化ol要素为geojson */
let line = new ol.format.GeoJSON().writeFeaturesObject(features);
console.log(line);
var data = {
type: "FeatureCollection",
features: [
{
type: "Feature",
geometry: {
type: "Point",
coordinates: [114.30, 30.50]
},
properties: {
id: 1001,
name: "武汉"
}
},
{
type: "Feature",
geometry: {
type: "Point",
coordinates: [118, 30.50]
},
properties: {
id: 1002,
name: "苏州"
}
}
]
}
/* geojson数据转化ol-feature */
var features = new ol.format.GeoJSON().readFeatures(data);