跳转到主要内容

用于编译地图数据的命令行工具。

项目描述

# mapturner

用于从各种数据源生成综合[TopoJSON](https://github.com/mbostock/topojson/wiki/Command-Line-Reference)的命令行工具。用于使用D3制作快速矢量地图。

重要链接

* 仓库:https://github.com/nprapps/mapturner
* 问题:https://github.com/nprapps/mapturner/issues

## 安装

您需要安装以下非Python依赖项

* ogr2ogr (GDAL):`brew install ogr2ogr`
* topojson@1.6.27: (topojson 2+不兼容)

mapturner 本身可以通过pip安装

```
pip install mapturner
```

注意:由于`mapturner`依赖于topojson 1.x(topojson的旧版本),我们建议在项目根目录中运行以下命令安装此版本的topojson:

```
npm install -g topojson@1.6.27 --prefix node_modules
```

要全局安装topojson@1.6.27,请运行

```
npm install -g topojson@1.6.27
```

`mapturner`将首先在项目内部搜索已安装的topojson二进制文件,如果找不到,则回退到在您的$PATH上搜索topojson二进制文件。


开发者安装过程

```
git clone git://github.com/nprapps/mapturner.git
cd mapturner
mkvirtualenv mapturner

使用pip安装依赖项:

python setup.py develop
```

## 使用方法

定义一个YAML配置文件,例如以下示例。有效的选项列表在文档的后续部分。

```
bbox: '77.25 24.28 91.45 31.5'
layers
countries
type: 'shp'
path: 'http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_admin_0_countries.zip'
id-property: 'NAME'
properties
- 'country=NAME'

cities
type: 'shp'
path: 'http://www.naturalearthdata.com/http//www.naturalearthdata.com/download/10m/cultural/ne_10m_populated_places_simple.zip'
id-property: 'name'
properties
- 'featurecla'
- 'city=name'
where: adm0name = 'Nepal' AND scalerank < 8

quakes
type: 'csv'
path: 'examples/nepal.csv'
all-properties: True
```

然后运行它!

```
mapturner input.yaml output.json
```

当前支持的图层类型:

* ESRI Shapefile (`shp`)
* GeoJSON或TopoJSON (`json`)
* CSV (`csv`)

## 工作原理

对于配置文件中定义的每个图层

* 如果路径是URL,则文件将被下载并缓存到本地。(在后续运行中不会重新下载。)
* 如果路径指向一个压缩文件,则将解压缩。
* 所有图层将被裁剪到指定的边界框(使用 ogr2ogr)。
* 对于每个图层,如果指定了 `where` 属性,则将根据该子句过滤图层数据。
* 对于每个图层,将删除未在 `properties` 数组中指定的图层中所有字段(以减小文件大小),除非指定了 `all-properties`,在这种情况下将保留所有字段。
* 对于每个图层,如果设置了 `id-property`,则将从该属性设置数据作为图层中特征的唯一标识符。
* 图层将被转换为[TopoJSON](https://github.com/mbostock/topojson/wiki/Command-Line-Reference)。

在处理完每个图层后,所有图层将被连接到一个单独的TopoJSON文件中。每个图层的键名将用于在输出中识别它。

## 完整配置选项列表

对于所有图层类型

* `type`:图层的类型。有效的类型是 `shp`、`json`(GeoJSON或TopoJSON)和 `csv`。**(必需)**
* `path`:图层数据文件的路径(相对或绝对)。**(必需)**
* `id-property`:从数据文件中用于作为特征唯一标识符的属性。另请参阅[TopoJSON命令行文档](https://github.com/mbostock/topojson/wiki/Command-Line-Reference)。
* `properties`:要保留在输出中的数据属性列表。所有其他属性将被丢弃。
* `all-properties`:如果为true,则保留此图层的所有属性。
* `where`:一个类似SQL的查询谓词,将根据该子句过滤特征数据。此查询语法与[ogr2ogr](http://www.gdal.org/ogr2ogr.html)完全相同。

仅限CSV图层

* `latitude`:包含点/特征纬度的数据列的名称。
* `longitude`:包含点/特征经度的数据列的名称。

## 缓存数据

缓存的Shapefile存储在`~/.mapturner`中。您可能希望定期清空此文件夹以释放空间并确保下载最新的Shapefile。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。

源分发

mapturner-0.2.1.tar.gz (6.9 kB 查看哈希值)

上传于 源代码

支持者