我是靠谱客的博主 落后电脑,最近开发中收集的这篇文章主要介绍gdal-ogr2ogr空间数据转换 示例使用常用格式驱动,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 

ogr2ogr 是一个地理要素数据格式转换工具。

 

示例

 

追加数据至一个已存在的图层:

ogr2ogr -update -append -f PostgreSQL PG:dbname=warmerda abc.tab

 

将数据由 ETRS_1989_LAEA_52N_10E 转为 EPSG:4326 投影,并裁剪至指定的范围:

ogr2ogr -wrapdateline -t_srs EPSG:4326 -clipdst -5 40 15 55 france_4326.shp europe_laea.shp

 

使用 -fieldmap 选项:源图层的第一个字段用来填充目标图层的第三个字段(index2:第三),源图层的第二个字段忽略,第三个字段用来填充目标图层的第五个字段:

ogr2ogr -append -fieldmap 2,-1,4 dst.shp src.shp

 

使用

 

ogr2ogr
[--help-general] [-skipfailures] [-append] [-update]
[-select field_list] [-where restricted_where|@filename]
[-progress] [-sql <sql statement>|@filename] [-dialect dialect]
[-preserve_fid] [-fid FID] [-limit nb_features]
[-spat xmin ymin xmax ymax] [-spat_srs srs_def] [-geomfield field]
[-a_srs srs_def] [-t_srs srs_def] [-s_srs srs_def]
[-f format_name] [-overwrite] [[-dsco NAME=VALUE] ...]
dst_datasource_name src_datasource_name
[-lco NAME=VALUE] [-nln name]
[-nlt type|PROMOTE_TO_MULTI|CONVERT_TO_LINEAR|CONVERT_TO_CURVE]
[-dim XY|XYZ|XYM|XYZM|2|3|layer_dim] [layer [layer ...]]
高级选项 :
[-gt n]
[[-oo NAME=VALUE] ...] [[-doo NAME=VALUE] ...]
[-clipsrc [xmin ymin xmax ymax]|WKT|datasource|spat_extent]
[-clipsrcsql sql_statement] [-clipsrclayer layer]
[-clipsrcwhere expression]
[-clipdst [xmin ymin xmax ymax]|WKT|datasource]
[-clipdstsql sql_statement] [-clipdstlayer layer]
[-clipdstwhere expression]
[-wrapdateline] [-datelineoffset val]
[[-simplify tolerance] | [-segmentize max_dist]]
[-addfields] [-unsetFid]
[-relaxedFieldNameMatch] [-forceNullable] [-unsetDefault]
[-fieldTypeToString All|(type1[,type2]*)] [-unsetFieldWidth]
[-mapFieldType type1|All=type2[,type3=type4]*]
[-fieldmap identity | index1[,index2]*]
[-splitlistfields] [-maxsubfields val]
[-explodecollections] [-zfield field_name]
[-gcp ungeoref_x ungeoref_y georef_x georef_y [elevation]]* [-order n | -tps]
[-nomd] [-mo "META-TAG=VALUE"]* [-noNativeData]

 

概述

 

本程序用于地理要素数据集的文件格式转换。在处理过程中还可以进行多种转换操作,如:根据空间和属性选择要素,过滤属性,设置输出的坐标系(坐标系转换),以及重投影(投影转换)。

 

选项

此处仅列出常用选项

 

  • -f format_name :

 

输出文件的格式,如:

 

-f "ESRI Shapefile"
-f "TIGER"
-f "MapInfo File"
-f "GML"
-f "PostgreSQL"

 

若没有指定格式,则基于扩展名推测输出格式。

自 GDAL 2.3 引入。支持格式列表位于GDAL首页,矢量格式见 https://www.gdal.org/ogr_formats.html

 

  • -append :追加数据至现有图层(而不是创建新的图层)。

 

  • -overwrite :删除输出图层,重新创建一个空的图层(重写)。

 

  • -update :以 update 模式打开输出数据源(而不是创建一个新的文件)。

 

  • -select 字段列表 :

从输入图层拷贝到新图层的字段列表,以逗号分隔。当输入图层含有重复字段名时,仅第一个字段会保留,后面重复的字段将被跳过。默认为 all注意:不能和 -append 一起使用,如要在追加模式下的筛选字段,请使用 -fieldmap-sql

 

  • -progress :在终端显示进度。Only works if input layers have the "fast feature count" capability.

 

  • -sql sql语句 :需要执行的 SQL 语句。执行的结果(表、图层)将被保存到输出中。

 

  • -where restricted_where :属性查询 (类似 SQL WHERE)。

 

  • -skipfailures :发生错误时基继续,跳过失败要素。

 

  • -lco :图层创建选项(参考驱动详情)。

 

高级选项

 

  • -oo NAME=VALUE:
    输入文件打开选项(各选项详见各格式驱动的页面)。
  • -doo NAME=VALUE:
    输出目标(Destination)数据集打开选项(见驱动详情),仅在使用 -update 模式时有效。
  • -gt n:
    每次事务处理的要素数量。当输出至 DBMS 时可改善性能。
  • -forceNullable:
    当源数据的字段不能为NULL时,不再继承此属性,使输出图层可以为 NULL。

 

常用格式驱动

此处介绍驱动的常用选项,请持续更新。

 

GeoJSON

 

数据源

 

  • HTTP URL
  • .geojson 或 .json 格式的文本文件
  • GeoJSON 格式的输入流

 

图层创建选项(lco)

 

COORDINATE_PRECISION=number :坐标的精度,int数字。默认为15位(GeoJSON2008),一般我们使用7位即可(RFC 7946)。去掉尾部的0时可能不会严格遵守该精度("Smart" truncation)。

 

RFC7946=YES/NO:(OGR >= 2.2)是否使用 RFC 7946 标准,默认为NO,即GeoJSON2008。最好设为YES,RFC 7946 为最新 JSON 标准,且 Mapbox 使用的 RFC 8142 标准也由 RFC 7946 修改,不同之处涉及到坐标精度、要素类型、分隔符等。

 

示例

 

将 ESRI Shapefile 转换为 RFC 7946 GeoJSON 文件:

 

ogr2ogr -f GeoJSON cities.json cities.shp -lco RFC7946=YES

 

PostgreSQL / PostGIS

 

主要用于从 Postgre 数据库读数据。在该驱动中,SQL语句直接传给 数据库执行,而不是由OGR执行。

 

连接数据库

 

PG:dbname=databasename

PG:"dbname='databasename' host='addr' port='5432' user='x' password='y'"

 

ESRI File GDB

使用内置的 OpenFileGDB 驱动

 

支持 .gdb 目录的读取

 

示例

 

从 GDB 中读取数据并存入 PostGIS:

 

ogr2ogr -overwrite -f "PostgreSQL" PG:"host=myhost user=myuser dbname=mydb password=mypass" "C:somefolderBigFileGDB.gdb" "MyFeatureClass"

 

最后

以上就是落后电脑为你收集整理的gdal-ogr2ogr空间数据转换 示例使用常用格式驱动的全部内容,希望文章能够帮你解决gdal-ogr2ogr空间数据转换 示例使用常用格式驱动所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部