一键获取乡镇json脚本

2023-11-10 21:23:48 浏览数 (2)

简言

BIGEMAP是一个广泛使用的地理信息系统工具,它提供了许多功能,包括地图可视化、空间分析和数据管理。然而,使用BIGEMAP获取乡镇街道信息可能会比较复杂和繁琐,需要花费大量的时间和精力。还不支持mac端为了解决这个问题,我们可以使用个人编写的自动提取脚本来简化这个过程。

本文将介绍一个个人编写的自动提取脚本,用于从BIGEMAP中获取乡镇街道信息。该脚本基于JavaScript编程语言,利用区县级 geojson,实现了自动化获取乡镇街道数据的功能。我们将提取到的乡镇街道信息存储到json文件中,以便后续的数据分析和可视化。这个过程也可以通过脚本来实现,避免了手动操作文件的麻烦。

总之,我编写的自动提取脚本可以大大简化从BIGEMAP中获取乡镇街道信息的流程,提高工作效率。通过自动化脚本的使用,我们可以更快速、准确地获取乡镇街道数据。

效果展示

这里以杭州市上城区为例

代码展示

  • 代码仅供参考
  • 区县的 geojson文件
  • echarts地图可用
代码语言:javascript复制
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://cdn.bootcss.com/FileSaver.js/1.3.8/FileSaver.js"></script>
    <style>
        input {
            width: 100%;
            height: 200px;
            opacity: 0;
            position: absolute;
            top: 0;
            left: 0;
        }

        .file {
            width: 100%;
            height: 200px;
            border: 1px dashed #ccc;
            display: flex;
            align-items: center;
            justify-content: center;
            color: #8e8e8e;
        }
    </style>
</head>

<body>
    <input multiple id="file" type="file"></input>
    <div class="file">导入文件</div>
    <script>
        document.getElementById('file').addEventListener('change', (e) => {
            // 获取文件数量
            let fileList = e.target.files;
            for (let j = 0; j < fileList.length; j  ) {
                let reader = new FileReader();
                reader.readAsText(fileList[j], 'UTF-8');
                reader.onload = async (e) => {
                    let fileContent = JSON.parse(e.target.result);
                    for (let i = 0; i < fileContent.features.length; i  ) {
                        let fileName = fileContent.features[i].properties.name   ".json";
                        let obj = {
                            features: [fileContent.features[i]],
                            type: "FeatureCollection"
                        }
                        let data = JSON.stringify(obj);
                        var blob = new Blob([data], { type: "application/json" });
                        // 循环下载
                        await saveAs(blob, fileName);
                    }
                }
            }

        }, false)
    </script>
</body>
</html>

我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!

0 人点赞