自动化地理空间特征工程库

geomancer的Python项目详细描述


Geomancer Logo

PyPIBuild StatusRead the DocsCoveralls githubLicense: MIT

geomancer是一个地理空间特征工程库。它利用地理空间 数据,例如OpenStreetMap (OSM)旁边的 像bigquery这样的数据仓库。您可以使用它来创建、共享和迭代 下游任务的地理空间要素(分析、建模, 可视化等)。

功能

geomancer可以对所有类型的矢量数据执行地理空间特征工程。 (即点、线、多边形)。

  • 用于地理空间要素工程的要素基本体
  • 能够切换数据仓库(bigquery、sqlite、postgresql(正在进行
  • 使用我们的拼写手册编译和共享您的功能

设置和安装

安装库

可以使用pip安装Geomancer。

$ pip install geomancer

这将为我们支持的每个数据仓库安装all依赖项。如果 您希望仅对特定仓库执行此操作,然后可以添加 标识符:

$ pip install geomancer[bq] # For BigQuery
$ pip install geomancer[sqlite] # For SQLite
$ pip install geomancer[psql] # For PostgreSQL

或者,也可以克隆存储库,然后运行install

$ git clone https://github.com/thinkingmachines/geomancer.git
$ cd geomancer
$ python setup.py install

设置数据仓库

Geomancer由地理空间数据仓库提供支持:我们强烈建议使用 BigQuery作为您的数据仓库和 Geofabrik's OSM catalog作为您的 兴趣点和兴趣线的来源。

Geomancer architecture

您可以在this link中看到设置说明

基本用法

所有的功能工程功能在风水测量被称为“咒语”。为了 例如,您希望得到每个 要点。

fromgeomancer.spellsimportDistanceToNearest# Load your dataset in a pandas dataframe# df = load_dataset()dist_spell=DistanceToNearest("supermarket",source_table="ph_osm.gis_osm_pois_free_1",feature_name="dist_supermarket",dburl="bigquery://project-name",).cast(df)

您可以使用格式{column}:{filter}指定筛选器的类型。由 默认情况下,column值为fclass。例如,如果你想寻找 桥上的路,然后经过bridge:T

fromgeomancer.spellsimportDistanceToNearest# Load the dataset in a pandas dataframe# df = load_dataset()dist_spell=DistanceToNearest("bridge:T",source_table="ph_osm.gis_osm_roads_free_1",feature_name="dist_road_bridges",dburl="bigquery://project-name",).cast(df)

将多个拼写组合成一个“拼写手册”,可以将其导出为json文件。

fromgeomancer.spellsimportDistanceToNearestfromgeomancer.spellbookimportSpellBookspellbook=SpellBook([DistanceToNearest("supermarket",source_table="ph_osm.gis_osm_pois_free_1",feature_name="dist_supermarket",dburl="bigquery://project-name",),DistanceToNearest("embassy",source_table="ph_osm.gis_osm_pois_free_1",feature_name="dist_embassy",dburl="bigquery://project-name",),])spellbook.to_json("dist_supermarket_and_embassy.json")

您可以共享生成的文件,以便其他人可以重新使用您的功能提取 他们自己的数据集。

fromgeomancer.spellbookimportSpellBook# Load the dataset in a pandas dataframe# df = load_dataset()spellbook=SpellBook.read_json("dist_supermarket_and_embassy.json")dist_supermarket_and_embassy=spellbook.cast(df)

贡献

此项目对贡献者开放!贡献的形式可以是 功能请求、错误修复、文档、教程等等!我们高度重视 建议在提交Pull Request之前先提交问题。

只需分叉此存储库并发出拉取请求!我们非常感谢:

  • 新功能的实现
  • 错误报告
  • 文档
  • 测试

而且,我们有一个 CONTRIBUTING 还有一个CODE_OF_CONDUCT, 所以请看看那个!

许可证

麻省理工学院许可证©2019,思维机器数据科学

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Java程序运行时错误   JavaAndroidStudio:与往常一样,四舍五入到next.5或.0   apache使用Java以表单数据形式上载文件   带矢量的java Freeflight相机如何正确旋转?   java如何以编程方式检索有关当前项目的语言、操作系统、体系结构等信息   java Twitter4J tweet实体?   java PdfBox编码异常   java在拖动未装饰的舞台时,如何强制光标停留在窗口上   JavaSpring注释扫描优化   java无法通过IntelliJ Idea在tomcat上运行服务   java在生命周期中如何拦截请求?   java中的数组返回错误