シェープファイルを再投影する方法は?


10

QGISプロジェクトを再投影したかったのですが、そのようなオプションはありません。回答を検索するときogr2ogr、各ベクターレイヤー(この例ではシェープファイル)を再投影することにより、このタスクの提案が表示されます。ただし、期待した結果が得られません。

C:\temp>ogrinfo -al -so misc.shp
INFO: Open of `misc.shp'
      using driver `ESRI Shapefile' successful.

Layer name: misc
Geometry: Line String
Feature Count: 10
Extent: (21.267388, 42.015857) - (21.270225, 42.017470)
Layer SRS WKT:
PROJCS["MGI_Balkans_zone_7_deprecated",
    GEOGCS["GCS_MGI",
        DATUM["Militar_Geographische_Institute",
            SPHEROID["Bessel_1841",6377397.155,299.1528128]],
        PRIMEM["Greenwich",0],
        UNIT["Degree",0.017453292519943295]],
    PROJECTION["Transverse_Mercator"],
    PARAMETER["latitude_of_origin",0],
    PARAMETER["central_meridian",21],
    PARAMETER["scale_factor",0.9999],
    PARAMETER["false_easting",7500000],
    PARAMETER["false_northing",0],
    UNIT["Meter",1]]
id: Integer (10.0)

C:\temp>ogr2ogr -t_srs EPSG:4326 misc_re.shp misc.shp

C:\temp>ogrinfo -al -so misc_re.shp
INFO: Open of `misc_re.shp'
      using driver `ESRI Shapefile' successful.

Layer name: misc_re
Geometry: Line String
Feature Count: 10
Extent: (-34.004490, 0.000230) - (-34.004490, 0.000230)
Layer SRS WKT:
GEOGCS["GCS_WGS_1984",
    DATUM["WGS_1984",
        SPHEROID["WGS_84",6378137,298.257223563]],
    PRIMEM["Greenwich",0],
    UNIT["Degree",0.017453292519943295]]
id: Integer (10.0)

したがって、新しいファイルは地理座標系を変更しましたが、投影されていません。
どうやってするか?


シェープファイルを再投影しようとしていますか?プロジェクトファイルには.qqs末尾があり、シェープファイルはで終わり.shpます。プロジェクトファイルを再投影することはできないと思いますが、私は間違っている可能性があります。
djq

1
私は、あなたがすでにQGISの「オンザフライ」再投影を知っていると思います。これにより、あらゆるベクターレイヤーを再投影できます。
steko

@steko:「オンザフライ」がdjqの答えである場合、はい、私はすでにそれを知っていました。
zetah

1
いいえ、それは別の方法であり、データを永久に変更します。オンザフライ再投影はQGISプロジェクトでのみ定義され、レイヤーの視覚化方法に影響しますが、基になるファイルには影響しません。
steko

ありがとう、私はそれについて知りませんでした、そしてそれをグーグルすることはあなたが何を意味しているかを私に示しました。それはまさに私が必要としたものです。昨日最後のコメントしか投稿できなかったとしたら...私はそこにたどり着くために多くのタイピングをしました;)
zetah

回答:


20

シェープファイルを再投影する場合、その1つの方法QGISは、ファイルをロードright-clickし、レイヤーでを選択してSave As…、次のウィンドウを表示することです。

ここに画像の説明を入力してください

browse横をクリックCRSすると、ファイルを保存する新しいプロジェクションを選択できます。

編集:

1つのフォルダー内のすべてのshapfileを再投影するには、次のようなものが機能します。

set "str1=_projected"
for %f in (E:\data\*.shp) do ogr2ogr -t_srs EPSG:4326 %str1%"misc_re.shp %f

(私はこれをテストしておらず、Windows での文字列連結に不慣れです。また、ogr2ogrの問題も解決していません。ただし、このコードスニペットはフォルダーをループし、各ファイルで何かを実行します。)


はいそれは素晴らしいですが、私はすべてのレイヤーに対してそれをしなければならず、それは時間がかかります。コマンドラインを使用して、すべてのシェープファイルを一度に再投影することを望んでいました(forループを使用)
zetah

すべてのシェープファイルが1つのフォルダーにありますか?
djq

はい、同じフォルダにあります
zetah 12/12/12

あなたの努力に感謝します、しかしあなたは私の質問を実際に読みましたか?
zetah

3
はい... qgisプロジェクトファイルを再投影することはできません。それが私が最初の答えを出した理由です。次に、シェープファイルを一括で再投影したいと思いました。これを行う1つの方法は、コマンドラインを使用してogrでフォルダー内のすべてのファイルをループすることです(別の方法は、シェープファイルのフォルダーにogrを渡すことができるかどうかを確認することです)。
djq
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.