【问题标题】:VSI File API support in ogr2ogrogr2ogr 中的 VSI 文件 API 支持
【发布时间】:2013-07-20 01:06:26
【问题描述】:

在 ogr2ogr 中似乎对流输入的支持很弱。例如,为什么我可以这样做:

curl "http://data.usgin.org/arizona/wfs?service=WFS&version=1.1.0&
request=GetFeature&typeName=azgs:activefaults&maxFeatures=10" | 
ogr2ogr -f "KML" /vsistdout/ /vsistdin/

...但我不能这样做:

curl "http://data.usgin.org/arizona/wfs?service=WFS&version=1.1.0&
request=GetFeature&typeName=azgs:activefaults&maxFeatures=10&
outputformat=application/json" | ogr2ogr -f "KML" /vsistdout/ /vsistdin/

第一个请求对源层使用“WFS”驱动程序,第二个请求对源层使用“GeoJSON”驱动程序。第一个工作正常,但第二个给了我:

ERROR 1: GeoJSON parsing error: unexpected end of data (at offset 6000)
ERROR 4: Failed to read GeoJSON data
FAILURE:
Unable to open datasource `/vsistdin/' with the following drivers.

【问题讨论】:

    标签: streaming geojson ogr


    【解决方案1】:

    您使用的是什么版本的 GDAL?从 gdal-2.2.0 开始,这似乎已修复,因为此命令似乎有效:

    $ ogr2ogr --version
    GDAL 2.2.0, released 2017/04/28
    
    $ curl "http://data.usgin.org/arizona/wfs?service=WFS&version=1.1.0&request=GetFeature&typeName=azgs:activefaults&maxFeatures=10&outputformat=application/json" | ogr2ogr -f "KML" /vsistdout/ /vsistdin/
    

    【讨论】:

      【解决方案2】:

      如果您在使用早期 gdal 版本或其他格式时遇到此问题,只需添加有关 stdin 上格式的信息,例如

      curl "http://data.usgin.org/arizona/wfs?service=WFS&version=1.1.0&
      request=GetFeature&typeName=azgs:activefaults&maxFeatures=10&
      outputformat=application/json" | ogr2ogr -f "KML" /vsistdout/ GeoJSON:/vsistdin/
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-03
        • 1970-01-01
        • 1970-01-01
        • 2022-01-09
        • 2013-10-12
        相关资源
        最近更新 更多