用于编译地图数据的命令行工具。
项目描述
# 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。
用于从各种数据源生成综合[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 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 65e0e8db129953987fe44b015fefd5c75a7350a41fd7119f0a0b624f94918080 |
|
MD5 | 8cdfef28247c135dfbd73325c37e8773 |
|
BLAKE2b-256 | 7e1c5efa20803f564b82b4a06d6500f447ed49d6fa3b4976162a15c060180119 |