为各种地理空间数据集生成元数据

girder-geospatial的Python项目详细描述


大梁空间

CircleCIcodecov

安装

  1. Install girder

  2. 在系统上安装gdal版本2或更高版本。

    • 要安装车轮,请运行:

        pip install gdal -f https://manthey.github.io/large_image_wheels/
      
    • 如果不安装车轮:

      • 按照上述说明将gdal安装到系统中
      • 通过运行gdal-config --version
      • 检查系统gdal版本
      • pip安装相应版本的gdal
  3. 运行

python -c "import gdal"
  1. 安装地理空间插件和所需类型软件包。
pip install girder-geospatial
pip install girder-geospatial-raster \
            girder-geospatial-vector \
            girder-geospatial-grid
  1. 通过在girder config file中添加以下内容来启用大梁缓存:
[cache]enabled= True
cache.global.backend ="dogpile.cache.memory"
cache.request.backend ="cherrypy_request"

用法

  1. 上载地理空间文件

    在大梁中启用插件后,只需上传gdal或ogr可以处理的地理空间文件。 要查看支持格式的列表,请参阅gdalogr格式文档。 此插件响应upload file事件。文件上载将触发一个处理程序,在上载的文件项上自动设置地理空间元数据。

  2. < P> ^ {STR 1 } $在已经存在的项< /强>

    上创建地理空间元数据

    如果你已经有数据在大梁,你不想重新上传你的数据。有一个 获取项目ID并在项目上创建地理空间元数据的终结点。

    curl '{girderApiUrl}/item/{itemId}/geometa' -X PUT
    

    此端点将检查文件并将“geometa”密钥附加到给定项。

  3. { { 1 } }在现有项目上创建任意地理空间元数据

    有些用户可能想要更多地控制他们正在保存的内容。可以使用选项2中的相同端点 在base schema之后创建任意元数据。 换言之,只要您有在基中定义的所需参数 模式,您可以为自己的目的添加自己的附加数据。

    curl '{girderApiUrl}/item/{itemId}/geometa?geometa={geospatialMetadata}' -X PUT
    
  4. 查询Mongo的地理空间数据集

    要查询mongo,请使用具有所需查询参数的以下端点。

    curl '{girderApiUrl}/item/geometa?{necessaryQueryStringParameters} -X GET
    

    此终结点接受许多地理空间查询,包括:

    1. WKT几何与关系
    2. 边界框和关系
    3. GeoJSON几何与关系
    4. 纬度、经度和半径。

    当提供纬度、经度和半径时,关系将始终“在”而不是 “相交”。这可能会产生意外的结果。我们建议使用选项1、2或3 上面。

    另外,请注意这些选项是互斥的,因此不能同时传递geojson和bounding 框选项。如果相互排斥,Opensearch Geo Schema validators将引发异常 传递参数。

  5. 从项目获取geometa

    要获取项目的地理空间元数据,请调用以下端点:

    curl '{girderApiUrl}/item/{itemId}/geometa' -X GET
    

流浪的例子

目前有2 vagrant examples可以快速启动和运行。 如果安装此插件时遇到问题,请检查 ubuntu-16.04ubuntu-18.04

运行测试

cd geometa
pip install -r requirements-dev.txt
pytest -n 4

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

推荐PyPI第三方库


热门话题
SimpleDataFormat如何在Java中使用DateFormat解析月份完整格式字符串?   java如何使用JBPM引导规则创建规则流组?   java将SQL和应用程序服务器从Windows 2003迁移到Windows server 2012 R2   java游戏!Intellij IDEA中的2.0控制台无法工作   java如何获取线程内分配的变量值?   java Android翻译动画导致Clicklistener问题   当前平台不支持java桌面API   java删除hashmap条目的方法是什么   用Spring MVC提供Java模型的RDF表示?   JAVA未安装Java的计算机上的lang.UnsupportedClassVersionError   java SQLite从3个表中获取使用组合的对象列表   来自的TLS握手错误的java云数据流BQ输出挂起作业   java如何使用SPARQL进行排名?   java如何在Netbeans 7.1.2中设置${user}的值?   java如何删除括号内的字符串?