gpt4 book ai didi

javascript - Openlayers:不支持的 GeoJSON 类型:未定义

转载 作者:行者123 更新时间:2023-11-28 03:20:47 28 4
gpt4 key购买 nike

如果有人记得或看过我之前的帖子,我试图解析 GeoJSON 字符串,但取得的成功有限。该问题已解决,但我有一个包含大约 80k 行的 geojson 文件。我取出 .js 文件中的字符串,并尝试将 geojsonObject 指向 geojson 文件的文件路径。这看起来很简单,但现在我在 Microsoft Edge 的控制台中收到“不支持的 GeoJSON 类型:未定义”。错误指向bundle-url.js

不知道出了什么问题。

控制台中链接的 .js 文件中的代码:

var bundleURL = null;
function getBundleURLCached() {
if (!bundleURL) {
bundleURL = getBundleURL();
}

return bundleURL;
}

function getBundleURL() {
// Attempt to find the URL of the current script and use that as the base URL
try {
throw new Error;
} catch (err) {
var matches = ('' + err.stack).match(/(https?|file|ftp|chrome-extension|moz-extension):$
if (matches) {
return getBaseURL(matches[0]);
}
}

return '/';
}

function getBaseURL(url) {
return ('' + url).replace(/^((?:https?|file|ftp|chrome-extension|moz-extension):\/\/.+)\/$
}

exports.getBundleURL = getBundleURLCached;
exports.getBaseURL = getBaseURL;

我的 .js 文件中的代码。 url 指向与 .js 位于同一文件夹中的 geojson 文件:

var geojsonObject = {
url: './locality.geojson',
format: new GeoJSON()
}

var vectorSource = new VectorSource({
features: new GeoJSON().readFeatures(geojsonObject, {
dataProjection: 'EPSG:4326',
featureProjection: 'EPSG:3857'
})
});

我已经将我的 geojson 通过了两个验证器,没有出现任何问题。这一切都在本地主机(Ubuntu VPS)上使用 npm。

如上所述,geojson 文件有 80k 行长,所以我无法将其全部放在这里,所以这里是一个片段;

{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "Point",
"coordinates": [ -6.65073,54.34794 ]
},
"properties": {
"Site":"ARMAGH"
}
},

最佳答案

您要求 GeoJSON 对非 GeoJSON 形式的对象进行 readFeaturesgeojsonObject 没有 type,因此您会收到“不支持的 GeoJSON 类型:未定义”错误。

...readFeatures({ url: ..., format: ... /* there's no type! */})

看看this reproduction有关 readFeatures 期望的对象类型的示例。

我怀疑你真正想要的是这样的:

var vectorSource = new VectorSource({
url: './locality.json',
format: new GeoJSON({ featureProjection: "EPSG:3857" })
});

您通常会根据适合的情况使用 urlformatfeaturesreadFeatures

关于javascript - Openlayers:不支持的 GeoJSON 类型:未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59177194/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com