node.js - 如何将大型 KML 文件解析为 JSON
问题描述
我正在设计一个显示香港地区交通密度的地图应用程序。我必须使用从运输署网站提供的 .kmz 文件中提取的 .kml 文件中的路段数据。
这些数据是公开的,可以在这里找到:https ://data.gov.hk/en-data/dataset/hk-td-tis_15-road-network-v2/resource/aa45b44d-a08b-4638-92d0-1295d815982a
该文件非常大,大约 500MB。
我正在使用 Node.js 处理数据。我只想提取街道名称、街道代码和路段的坐标,以便可能存储在与每个街道代码对应的名称的 json 文件中。
例如,街道代码为 10000 的街道的 json 文件将为 10000.js。或者将来可能将该数据存储在数据库中。
主要问题是文件很大,我无法将其存储在内存中以使用 kml 解析器对其进行解析。
解决方案
如果您指的是 GeoJSON,我可以建议 2 个选项:
- togeojson,可以在浏览器和 CLI 中使用。
- kml2geojson基于 Python 的库。
如果要将其转换为TopoJSON,可以将 KML 转换为 GeoJSON,然后使用topojson将 GeoJSON 转换为 TopoJSON。
推荐阅读
- android - 使用手势同时滚动多个 ViewPager
- floating-point - TCL 中的十六进制和浮点数 (IEEE 754) 之间的转换
- magento - 如何以编程方式在 magento 2 中创建礼品卡产品
- python - 使用 PySpark 和 Databricks 环境通过另一个临时表更新临时表
- python - Is "os.urandom" funcion in Python really a random function?
- google-colaboratory - 如何在 Colab Pro 上上传大文件
- reactjs - 如何在 Redux 中创建另一个包含两个 reducer 的状态来更新状态
- windows - 如何使用 CDO.Message 从 Windows Docker IIS 2019 以经典 ASP 发送电子邮件
- python - 每次程序运行时使用 openpyxl 在 excel 中写入新行
- java - Java Frame setSize,setLocation不起作用