MIT License

项目介绍

CarlosBergillos/xplane_apt_convert 是一个托管在 GitHub 上的开源项目,主要使用 Python 编写,采用 MIT License 许可证,目前获得 26 个 Star、4 次 Fork。

仓库全名
CarlosBergillos/xplane_apt_convert
开源许可证
MIT License
Star 数
26
Fork 数
4

README 摘要

X-Plane apt.dat convert xplaneaptconvert is a Python package and CLI application allowing to convert X-Plane airport data to GIS-friendly formats like GeoJSON or ESRI Shapefile. Input X-Plane apt.dat files are used as input. Two input modes exist: Load a local apt.dat file. Automatically download airport-specific files from the X-Plane Scenery Gateway. Note: Only tested with apt.dat files version 1100. Output The…

完整内容见 GitHub 原始 README 或本页 。

常见问题

xplane_apt_convert 用什么语言开发?

主要使用 Python 编写,采用 MIT License 许可证,目前有 26 个 Star。

xplane_apt_convert 可以免费商用吗?

仓库采用 MIT License 许可证,可免费使用与修改,商业使用请遵守许可证条款(例如保留版权声明与许可声明)。

如何获取 xplane_apt_convert 的源码?

可以直接克隆仓库:git clone https://github.com/CarlosBergillos/xplane_apt_convert.git,默认分支为 main;安装与运行步骤见仓库 README。

xplane_apt_convert 最近还在维护吗?

仓库最近一次更新为 5月18日,当前没有未关闭的 Issue;Star 数为 26,可作为社区活跃度的参考。

关于

GitHub 原始描述(英文)

Convert X-Plane airport data to GIS-friendly formats like GeoJSON or ESRI Shapefile.

描述取自 GitHub 官方 API,保持仓库作者书写的原文。

简要分析

热度分
37
价值分
17
活跃状态
活跃

语言占比

Python

README

X-Plane apt.dat convert

Package version Supported Python versions Wheel support License

xplane_apt_convert is a Python package and CLI application allowing to convert X-Plane airport data to GIS-friendly formats like GeoJSON or ESRI Shapefile.

Example LELL airport layout

Input

X-Plane apt.dat files are used as input. Two input modes exist:

Note: Only tested with apt.dat files version 1100.

Output

The following output formats are supported:

Format Extension
ESRI Shapefile .shp
FlatGeobuf .fgb
GeoJSON .geojson
GeoJSON lines (GeoJSONSeq) .geojsonl
GeoPackage (GPKG) .gpkg
GML .gml
OGR_GMT .gmt
SQLite .sqlite

Supported Features

The following airport features are supported:

  • Windsocks (row code 19)
  • Ground signs (row code 20)
  • Runways (row code 100)
  • Pavement areas (taxiway and aprons) (header row code 110)
  • Ground markings (linear features) (header row code 120)
  • Airport boundary (header row code 130)
  • Aircraft startup locations (parking and gates) (row code 1300)
  • Airport metadata (row code 1302)

Installation

The xplane_apt_convert Python package can be installed using pip:

pip install xplane_apt_convert

Python 3.10 and above

When using Python 3.10 and above, you might encounter the following error during the installation of the bezier dependency: The BEZIER_INSTALL_PREFIX environment variable must be set.

To solve it, you can install the pure Python version of the bezier package by running:

BEZIER_NO_EXTENSION=true pip install bezier --no-binary=bezier

And then try installing xplane_apt_convert again.

See dhermes/bezier/issues/283 for more details about this issue.

CLI Basic Usage

Convert an airport in a local apt.dat file to GeoJSON:

python -m xplane_apt_convert -a LEBL -i ./apt.dat -o ./out/ -d GeoJSON

Convert multiple airports:

python -m xplane_apt_convert -a LEBL,LEGE,LERS,LELL -i ./apt.dat -o ./out/ -d GeoJSON

Download the recommended airport data files from the X-Plane Scenery Gateway and convert them:

python -m xplane_apt_convert -a LEBL,LEGE,LERS,LELL -g -o ./out/ -d GeoJSON

Other output file formats are available using the -d option, for example GeoJSON, ESRI Shapefile, or GPKG.

For information about all available options run the command using --help.

CLI help

Python Basic Usage

Convert an airport in a local apt.dat file to GeoJSON:

from xplane_airports.AptDat import AptDat
from xplane_apt_convert import ParsedAirport

input_file = "./apt.dat"
airport_id = "LEBL"

with open(input_file, "r") as f:
    apt_dat = AptDat.from_file_text(f.read(), input_file)

apt = apt_dat.search_by_id(airport_id)

p_apt = ParsedAirport(apt)
p_apt.export("./airport.geojson")

Download an airport from the X-Plane Scenery Gateway and convert it to ESRI Shapefile:

from xplane_airports.gateway import scenery_pack
from xplane_apt_convert import ParsedAirport

airport_id = "LEBL"

recommended_pack = scenery_pack(airport_id)
apt = recommended_pack.apt

p_apt = ParsedAirport(apt)
p_apt.export("./airport.shp", driver="ESRI Shapefile")

See the function’s docstring for more information on all the allowed arguments.

License

This software is licensed under the terms of the MIT License.

评论

暂无评论