2016-05-17 7 views
1

SQLテーブルをGeoJSONに変換する際に問題が発生しています。OGR SQL Server to GeoJSON

これは私の接続文字列です:私は、テーブルパラメータ、および無SQLを使用している場合

ogr2ogr -f "GeoJSON" "test.geojson" "MSSQL:server=(LocalDb)\v11.0;database=SpatialDataExamples;tables=test;trusted_connection=yes;Integrated Security=true;DRIVER=SQL Server Native Client 11.0;GeometryType=wkb;" -sql "SELECT * FROM test WHERE ID=1" 

、にGeoJSONが正しくエクスポートされます。結果をフィルタリングするためにsqlを指定すると、エクスポートされたファイルでジオメトリがバイナリとして返されます。

SQLポリゴンテーブルを、DocumentDBで使用できる個々のドキュメントにエクスポートしようとしています。左手とは対照的に、任意の提案がDocumentDB

で必要とされるシェープファイルのエクスポート

は直接右方向に座標を持つにGeoJSONを生成しますか?

答えて

1

これはこれが私がやったことであり、うまくいきました。

UPDATE tablename SET geom = geom.MakeValid() 
UPDATE tablename SET geom = geom.STUnion(geom.STStartPoint()); 
  • 使用ogr2​​ogrを出力するように層全体のにGeoJSONする:

  • 正しい使用ジオメトリ(反時計回りに外部リングを配向)Shape2SQL

  • を使用してSQL Serverへ

    1. アップロードシェープ

    2. QGISでレイヤーとして追加
    3. 次のpythonスクリプトを使用してループスルーしますすべての機能を選択し、geojsonファイルを選択してエクスポートする

      import qgis.core 
      import qgis.utils 
      i = qgis.utils.iface 
      l = i.activeLayer() 
      j=0 
      for feat in l.getFeatures(): 
      l.setSelectedFeatures([feat.id()]) 
      qgis.core.QgsVectorFileWriter.writeAsVectorFormat(l,'c:/ConvertedShapefiles/shape'+str(j)+'.json', 'utf-8', l.crs(), 'GeoJson', True) 
      l.removeSelection() 
      j += 1