为各种地理空间数据集生成元数据
girder-geospatial的Python项目详细描述
大梁空间
安装
在系统上安装gdal版本2或更高版本。
要安装车轮,请运行:
pip install gdal -f https://manthey.github.io/large_image_wheels/
如果不安装车轮:
- 按照上述说明将gdal安装到系统中
- 通过运行
gdal-config --version
检查系统gdal版本
- pip安装相应版本的gdal
运行
python -c "import gdal"
- 安装地理空间插件和所需类型软件包。
pip install girder-geospatial pip install girder-geospatial-raster \ girder-geospatial-vector \ girder-geospatial-grid
- 通过在girder config file中添加以下内容来启用大梁缓存:
[cache]enabled= True cache.global.backend ="dogpile.cache.memory" cache.request.backend ="cherrypy_request"
用法
上载地理空间文件
在大梁中启用插件后,只需上传gdal或ogr可以处理的地理空间文件。 要查看支持格式的列表,请参阅gdal和ogr格式文档。 此插件响应upload file事件。文件上载将触发一个处理程序,在上载的文件项上自动设置地理空间元数据。
- < P> ^ {STR 1 } $在已经存在的项< /强>上创建地理空间元数据
如果你已经有数据在大梁,你不想重新上传你的数据。有一个 获取项目ID并在项目上创建地理空间元数据的终结点。
curl '{girderApiUrl}/item/{itemId}/geometa' -X PUT
此端点将检查文件并将“geometa”密钥附加到给定项。
-
{ { 1 } }在现有项目上创建任意地理空间元数据
有些用户可能想要更多地控制他们正在保存的内容。可以使用选项2中的相同端点 在base schema之后创建任意元数据。 换言之,只要您有在基中定义的所需参数 模式,您可以为自己的目的添加自己的附加数据。
curl '{girderApiUrl}/item/{itemId}/geometa?geometa={geospatialMetadata}' -X PUT
查询Mongo的地理空间数据集
要查询mongo,请使用具有所需查询参数的以下端点。
curl '{girderApiUrl}/item/geometa?{necessaryQueryStringParameters} -X GET
此终结点接受许多地理空间查询,包括:
- WKT几何与关系
- 边界框和关系
- GeoJSON几何与关系
- 纬度、经度和半径。
当提供纬度、经度和半径时,关系将始终“在”而不是 “相交”。这可能会产生意外的结果。我们建议使用选项1、2或3 上面。
另外,请注意这些选项是互斥的,因此不能同时传递geojson和bounding 框选项。如果相互排斥,Opensearch Geo Schema validators将引发异常 传递参数。
从项目获取geometa
要获取项目的地理空间元数据,请调用以下端点:
curl '{girderApiUrl}/item/{itemId}/geometa' -X GET
流浪的例子
目前有2 vagrant examples可以快速启动和运行。 如果安装此插件时遇到问题,请检查 ubuntu-16.04和 ubuntu-18.04。
运行测试
cd geometa pip install -r requirements-dev.txt pytest -n 4