解析golang中的GeoJson数据

q1qsirdb  于 2022-11-26  发布在  Go
关注(0)|答案(1)|浏览(384)

我想解析一个JSON文件,该文件包含一个国家/地区的要素集合。
我正在使用此软件包https://github.com/tidwall/geojson
我这样打开文件:

jsonFile, err := os.Open("filename.json")
if err != nil {
    return nil, err
}
defer jsonFile.Close()

data, err := ioutil.ReadAll(jsonFile)
if err != nil {
    return nil, err
}

然后我使用以下代码解析文件:

obj, err := geojson.Parse(string(data), geojson.DefaultParseOptions)
if err != nil {
    return nil, err
}

但它返回一个geojson.Object,我需要一个要素列表
谁能帮我一下

tzdcorbm

tzdcorbm1#

问题已解决
//打开json文件

jsonFile, err := os.Open(filename)
if err != nil {
    return nil, err
}
defer jsonFile.Close()

//读取文件

data, err := ioutil.ReadAll(jsonFile)
if err != nil {
    return nil, err
}

//解析成单个geojson.Object

obj, err := geojson.Parse(string(data), geojson.DefaultParseOptions)
if err != nil {
    return nil, err
}

//将geojson.Object类型转换为geojson.FeatureCollection

fc, ok := obj.(*geojson.FeatureCollection)
if !ok {
    return nil, errors.Newf(errors.Internal, nil, "cannot convert into feature collection")
}

相关问题