2016-06-26 12 views
0

OL3を使用してGoogleマップに衛星画像(6471x7669 jpgファイル)をオーバーレイしようとしています。画像ファイルのメタデータと投影情報として提供されていますOpenLayersを使用してGoogleマップに画像を投影する3

Driver: JP2ECW/ERDAS JPEG2000 (SDK 3.x) 
Files: /mnt/NAIP/TN/2012/34084/m_3408403_ne_16_1_20120527_20120911.jp2 
Size is 6471, 7669 
Coordinate System is: 
PROJCS["NAD83/UTM zone 16N", 
    GEOGCS["NAD83", 
     DATUM["North_American_Datum_1983", 
      SPHEROID["GRS 1980",6378137,298.2572221010002, 
       AUTHORITY["EPSG","7019"]], 
      AUTHORITY["EPSG","6269"]], 
     PRIMEM["Greenwich",0], 
     UNIT["degree",0.0174532925199433], 
     AUTHORITY["EPSG","4269"]], 
    PROJECTION["Transverse_Mercator"], 
    PARAMETER["latitude_of_origin",0], 
    PARAMETER["central_meridian",-87], 
    PARAMETER["scale_factor",0.9996], 
    PARAMETER["false_easting",500000], 
    PARAMETER["false_northing",0], 
    UNIT["metre",1, 
     AUTHORITY["EPSG","9001"]], 
    AUTHORITY["EPSG","26916"]] 
Origin = (710739.000000000000000,3875921.000000000000000) 
Pixel Size = (1.000000000000000,-1.000000000000000) 
Metadata: 
    COLORSPACE=MULTIBAND 
    COMPRESSION_RATE_TARGET=9 
    VERSION=1 
Corner Coordinates: 
Upper Left ( 710739.000, 3875921.000) (84d41'26.44"W, 35d 0'14.31"N) 
Lower Left ( 710739.000, 3868252.000) (84d41'33.42"W, 34d56' 5.56"N) 
Upper Right ( 717210.000, 3875921.000) (84d37'11.35"W, 35d 0' 9.39"N) 
Lower Right ( 717210.000, 3868252.000) (84d37'18.55"W, 34d56' 0.64"N) 
Center  ( 713974.500, 3872086.500) (84d39'22.44"W, 34d58' 7.49"N) 
Band 1 Block=256x256 Type=Byte, ColorInterp=Undefined 
    Description = Band #1 
    Overviews: 3235x3834, 1617x1917, 808x958, 404x479, 202x239 
Band 2 Block=256x256 Type=Byte, ColorInterp=Undefined 
    Description = Band #2 
    Overviews: 3235x3834, 1617x1917, 808x958, 404x479, 202x239 
Band 3 Block=256x256 Type=Byte, ColorInterp=Undefined 
    Description = Band #3 
    Overviews: 3235x3834, 1617x1917, 808x958, 404x479, 202x239 
Band 4 Block=256x256 Type=Byte, ColorInterp=Undefined 
    Description = Band #4 
    Overviews: 3235x3834, 1617x1917, 808x958, 404x479, 202x239 

私がいる問題は、データを解釈し、(私は地理学者ではないよ)の投影を使用するかを把握することです。 900913とEPSG::私はすでに両方EPSGをテストした3857は、EPSGに変換する:4326、動作していないよう:4269:7019、EPSG:6269、EPSG

var lonlat = ol.proj.transform(evt.coordinate, 'EPSG:3857', 'EPSG:4326'); 

提供されたデータは、EPSG言及、EPSG:9001、EPSG:26916のいずれもProj4jsの定義を持っていないようです。提供されたコーナー&の中心緯度/経度座標はかなり正確です。

私の質問です:これには既存のproj4.defsがありますか?そうでない場合は、どうすれば作成できますか?これに関する助けがあれば大歓迎です。さらに、この質問を拡張し

UPDATE
:最初は、私たちは、Googleマップだけで罰金以上の静止画像を中央に配置します。 enter image description here

しかし、レイヤーが一緒に移動するときにどのような変換を使用するかはわかりません。一言で言えば、このコードの変換<transform>は何ですか?

view.on('change:center', function() { 
    var center = ol.proj.transform(view.getCenter(), <transform>, 'EPSG:4326'); 
    gmap.setCenter(new google.maps.LatLng(center[1], center[0])) 
}); 
+0

これはかなり大きなイメージです。マップの上に直接オーバーレイするのではなく、MapServerやGeoServerなどのマップサーバーを最初に使用することをお勧めします。これにより、WMSプロトコルを使用してズームレベルに基づいて最適な画像をレンダリングすることができます。 OpenLayersはWMSをサポートしています。 OL3-Google-Mapsに興味があるかもしれません。http://mapgears.github.io/ol3-google-maps/ –

+0

ご意見のありがとうございます@AlexandreDubé。画像のレンダリングは、実際には.jp2ファイル(またはより大きな衛星画像)であるため、実際には問題または問題ではありません。私たちはIIPイメージサーバを使ってこれらを効率的にレンダリングします。私はol3-google-mapsを調べました。現時点では範囲が限定されており、ol.source.ImageStaticの処理方法の例はありません。問題はOL3変換の問題として残っています。私たちは正常にGoogleマップ上にイメージを配置します(84d39'22.44 "W、34d58 '7.49" N)。しかし、レイヤーを移動すると、それらはオフになります。 – Morey

+0

静的画像ソースをサポートするためのol3-google-mapsのGitHubで問題を作成できます。学生が現在そのプロジェクトのGoogle Summer of Codeに参加しています。彼に時間があれば、彼はこれに取り組むことができます。また、プルリクエストを提供することで、自分で投稿することもできます。 –

答えて

1

あなたのソース画像は、NAD83 UTM 16N又はEPSGである:。26916は、http://spatialreference.org/ref/epsg/nad83-utm-zone-16n/

UTMは極を通じて軸を有するシリンダに投影世界の垂直6度ストリップと横メルカトル図法で見ますGoogleマップでは、球形メルカトル(水平円柱)投影(EPSG:3857)を使用しています。これらの2つのプロパティは全く異なります。再投影せずに3857マップに26916イメージを正確にオーバーレイすることはできません。

このhttp://openlayers.org/en/latest/examples/reprojection-image.htmlを見ましたか?

また、ある種のGISプログラムを使用して、画像を3857に再投影して、3857マップ(GlobalMapperなど)で簡単に合成することができます。

+0

チップ@billChadwickをありがとう。提案したように、元の.jp2ファイル(EPSG:26916)をa。に再投影しました。GTiff -s_srs epsg:26916 -t_srs epsg:3857 のgdal:gdalwarp-tiffファイル(EPSG:3857)を使用してください。新しい緯度/経度は正確です。新しく生成された.tiffファイルは6631 x 7832です。今では、ピクセル[0,0,6631,7832]からESPG:3857にOpenlaters3を使って投影する必要があります。あなたがこれを行う方法に関する提案があれば、私はそれを感謝します。 – Morey

関連する問題