# MapGISReader **Repository Path**: XQT09/mapgis-reader ## Basic Information - **Project Name**: MapGISReader - **Description**: 解析MapGIS文件的小工具 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-03-20 - **Last Updated**: 2026-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # MapGIS 文件读取工具用户手册 ## 简介 本命令行工具旨在读取并将 **MapGIS** 文件转换为 **GeoJSON** 格式。它支持处理单个文件或包含 MapGIS 数据的整个文件夹。该工具能够处理点(`.wp`)、线(`.wl`)和面(`.wt`)数据类型,并允许将多个文件合并为一个 GeoJSON 输出。 --- ## 安装 ### 前提条件 - 系统上已安装 **Python 3.10+**。 - 需要的 Python 包: - `argparse` - `json` - `os` - `shapely`(用于几何操作) - `MapGISReader` 模块: - 确保 `MapGISReader.py` 位于 `utils` 目录下,或已安装在您的 Python 环境中。 ### 设置步骤 1. **克隆或下载** 包含脚本和 `MapGISReader` 模块的项目仓库。 2. **导航** 到项目目录: ```bash cd path/to/project_directory ``` 3. **安装依赖项**: ```bash pip install shapely ``` --- ## 使用方法 在命令行中使用以下语法运行脚本: ```bash python index.py [选项] ``` ### 选项说明 - `-i`, `--file` `<文件路径>`: - 指定要处理的输入 **MapGIS 文件**。 - `--folder` `<文件夹路径>`: - 指定包含要处理的 **MapGIS 文件的文件夹**。 - `-m`, `--merge`: - **合并** 所有处理的文件为一个输出文件。 - `-o`, `--output` `<输出名称>`: - 指定 **输出文件的名称**(不包含扩展名)。 - `-f`, `--format` `<格式>`: - 指定 **输出格式**(当前仅支持 `'json'`)。 - 默认为 `'json'`。 **注意**:您必须提供 `--file` 或 `--folder` 选项之一,但 **不能同时提供**。 --- ## 示例 ### 1. 处理单个文件 将单个 MapGIS 文件转换为 GeoJSON: ```bash python index.py -i path/to/input_file.wp -o output_name ``` - **解释**: - 读取 `input_file.wp`。 - 将其转换为 GeoJSON 格式。 - 将输出保存为 `output_name.json`。 ### 2. 处理文件夹中的多个文件 将文件夹中的所有 MapGIS 文件转换为各自的 GeoJSON 文件: ```bash python index.py --folder path/to/folder ``` - **解释**: - 处理指定文件夹中的所有 `.wp`、`.wl` 或 `.wt` 文件。 - 将每个文件转换为 GeoJSON 格式。 - 将每个输出文件保存,名称与输入文件相同,但扩展名为 `.json`。 ### 3. 合并多个文件为单个输出 将文件夹中的所有 MapGIS 文件合并为一个 GeoJSON 文件: ```bash python index.py --folder path/to/folder -m -o merged_output ``` - **解释**: - 处理文件夹中的所有 MapGIS 文件。 - 将所有要素合并到一个 GeoJSON 对象中。 - 将合并后的输出保存为 `merged_output.json`。 --- ## 选项详情 ### 输入选项 - **`-i`, `--file`**: - 当您只有一个 MapGIS 文件需要转换时使用。 - 示例:`-i data/sample.wp` - **`--folder`**: - 当您有多个 MapGIS 文件在一个目录中时使用。 - 示例:`--folder data/mapgis_files` ### 输出选项 - **`-o`, `--output`**: - 指定输出文件的自定义名称(不包含扩展名)。 - 如果未提供,输出文件将使用输入文件或文件夹的基本名称。 - 示例:`-o converted_data` - **`-f`, `--format`**: - 当前仅支持 `'json'`。 - 默认值为 `'json'`。 ### 合并选项 - **`-m`, `--merge`**: - 当处理文件夹中的多个文件时,使用此选项可将所有要素合并为一个 GeoJSON 文件。 - 如果不使用此选项,每个文件将分别转换并保存。 --- ## 支持的文件类型 - **点数据**:`.wp` - **线数据**:`.wl` - **面数据**:`.wt` --- ## 错误处理 - 如果同时提供了 `--file` 和 `--folder`,程序将显示错误: ```plaintext ValueError: 只能提供文件或文件夹中的一个参数 ``` - 如果指定的文件或文件夹不存在,程序将显示错误: ```plaintext FileNotFoundError: 文件 {file_or_folder} 未找到 ``` - 请确保 `MapGISReader` 模块已正确安装且可访问。 --- ## 依赖项 - **Python 标准库**: - `argparse` - `json` - `os` - **第三方库**: - `shapely`(通过 `pip install shapely` 安装) - **自定义模块**: - `MapGISReader` 位于 `utils.MapGISReader` --- ## 附加信息 - **编码**: - 程序在读取和写入文件时使用 UTF-8 编码。 - **字符集**: - 确保 MapGIS 文件编码正确,以避免解码错误。 --- ## 联系与支持 - 如有问题、建议或需要协助,请联系开发者或访问项目的仓库页面。 --- **免责声明**:本用户手册旨在协助用户有效地操作 MapGIS 文件读取工具。该工具应根据适用的法律法规合法使用。