「傾斜した地球」の標高データセットを再投影する


8

オーストラリアが北極にある次の例のように、「傾斜した地球」の地図を作成したいと思います。

ここに画像の説明を入力してください http://i1048.photobucket.com/albums/s379/laskaris_mods/tilted_earth.jpg

私が使用しているソフトウェア、Geocart 3を使用して、このような.jpegなどの画像形式でマップを再投影できます。ただし、標高データセットをこの方法でnetcdf形式(ETOPO .grdデータ)に再投影するだけです。 「傾斜した地球」の正確な標高データがあります。

これを行うことができるGISソフトウェアはありますか?


Cartotalkでも質問:cartotalk.com/index.php?showtopic=9050 daan strebeが、Geocart 3がTIFFをサポートしていると報告しました(ソフトウェアでTIFF CRSを識別する必要があります)。
mkennedy 2013

1
しかし、TIFFの実際の標高データを再投影する必要があります。Geocartはそうは思いません。また、netcdf形式で実行できるようにしたいと考えています。
Laskaris 2013

セルのサイズ/場所が変更されたため、セルの値を再サンプリング/再計算する必要がありますが、それは発生しているはずです。なぜそうではないと思いますか?ポイントを再投影しても、標高/ z / H値には影響しません。
mkennedy 2013

そうです、Geocartを使用したTIFFで動作します。私はそこで間違っていました。どうもありがとうございました!さて、netcdfで同じことができれば、さらに良いでしょう。
Laskaris 2013

回答:


1

これは、python netCDF4、Projection4ライブラリpyprojおよびnumpyを使用して実行できます。netcdfファイルのCRSと傾斜地球のCRSを知っていれば、EPSGコードが利用可能であれば非常に簡単です。手順は

  1. まず、netCDF4ライブラリを使用してnetcdfファイルをPythonにインポートします。
  2. 緯度と経度のnetcdfファイルをクエリし、配列として保存します。
  3. 現在のnetcdfファイルCRSと必要な傾斜地球CRSを定義します。CRSがない場合は、プロジェクションを定義できます。たとえば、lccカスタムプロジェクションをEPSG:4326に変換し、コードが機能するようにします。 import pyproj
    tc={'proj':'lcc','width':'width_meters','height':'height_meters','lat_0':cen_lat,'lon_0':cen_lon,'lat_1':truelat1,'lat_2':truelat2} proj1=pyproj.Proj(tc) proj2_out='+init=EPSG:4326' proj2=pyproj.Proj(proj2_out) lat2,lon2=[],[] for k, l in zip(lon,lat): lat1,lon1=pyproj.transform(proj1,proj2,k,l) lat2.append(lon1) lon2.append(lat1)
  4. 配列lat2およびlon2には、再投影されたlat long値が含まれています。その値を使用して、python ogrライブラリを使用してNetcdfファイルまたはtiffを再作成します。

この答えは、ステップ1から2の手始めになるかもしれません。または、Pythonライブラリpyprojを使用したプロジェクション変換の拡張紹介を参照してください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.