0

Proj4JS で、同じコードを使用した 2.4.3 が座標を完全に異なるものに変換するのはなぜですか? このフィドルを参照してください。

左側の proj4js リソースの順序を入れ替えた場合。2.3.3 は正確に変換され、2.4.3 は完全に間違って変換されることがわかります。

この質問ですぐに使用できる2つの例も含めました。

http://jsfiddle.net/8ztfhes0/17/

編集 - もう少し調査を行います。この問題は実際にはバージョン 2.3.16 で発生することがわかりました。2.3.15までは問題ありません。

コミット コメント = 2.3.16 の「より良い tmerc プロジェクションを追加」

2.4.3 サンプル

proj4.defs("EPSG:26910","+proj=utm +zone=10 +ellps=GRS80 +datum=NAD83 +units=m +no_defs");
    var source = new proj4.Proj('EPSG:26910');  
    var dest = new proj4.Proj('EPSG:4326');      
    $("#lat").val(4970142.88145653);
    $("#lng").val(500532.52879695);
    $("#convert").on("click", function(){
        var p = new proj4.Point($("#lng").val(), $("#lat").val() );
        proj4.transform(source, dest, p);
        console.log("X : " +p.x + " \nY : " + p.y);
        alert("X : " +p.x + " \nY : " + p.y);
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.4.3/proj4.js"></script>
    
    Lng : <input type="number" id="lng" />
    Lat : <input type="number" id="lat" />
    <button id="convert">Convert</button>
    

2.3.3 例

proj4.defs("EPSG:26910","+proj=utm +zone=10 +ellps=GRS80 +datum=NAD83 +units=m +no_defs");
    var source = new proj4.Proj('EPSG:26910');  
    var dest = new proj4.Proj('EPSG:4326');      
    $("#lat").val(4970142.88145653);
    $("#lng").val(500532.52879695);
    $("#convert").on("click", function(){
        var p = new proj4.Point($("#lng").val(), $("#lat").val() );
        proj4.transform(source, dest, p);
        console.log("X : " +p.x + " \nY : " + p.y);
        alert("X : " +p.x + " \nY : " + p.y);
    });
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/proj4js/2.3.3/proj4.js"></script>
    
    Lng : <input type="number" id="lng" />
    Lat : <input type="number" id="lat" />
    <button id="convert">Convert</button>
    

4

1 に答える 1