2017-11-02 18 views
0

私はブラウザでいくつかのgisファイルをリーフレットで見ようとしています。 http://lsi.iiit.ac.in:8095/lsiviewerまたはhttp://mapshaper.org/のような他のページで表示すると、正しく表示されます。しかし、それらをリーフレットで見ると、ファイルは表示されないので、歪んでしまいます。ここでリーフレットgeojsonを見たときの歪み

は、シェープファイルのアーカイブです: https://drive.google.com/drive/folders/1eH89girZ7uGEos87SCY-t26IaWdauSc3?usp=sharing

マイコード:

import { Component } from '@angular/core'; 
 
import { NavController, NavParams } from 'ionic-angular'; 
 
import * as shp from 'shpjs'; 
 
import * as L from 'leaflet'; 
 

 
@Component({ 
 
    selector: 'page-oportunidaddetalles', 
 
    templateUrl: 'oportunidaddetalles.html', 
 
}) 
 
export class OportunidaddetallesPage { 
 

 
    constructor(public navCtrl: NavController, public navParams: NavParams) { 
 
    } 
 

 
    ionViewDidLoad() { 
 

 
    var map = L.map('map', { 
 
     center: [51.505, -0.09], 
 
     zoom: 13 
 
    }); 
 

 

 
    shp("./assets/my/RETINA").then(function(geojson){ 
 
     L.geoJSON(geojson).addTo(map); 
 
    \t }); 
 

 

 
    } 
 

 
}
#map{ 
 
    position: relative !important; 
 
    height: 1200px; 
 
    width: 900px; 
 
    }
<!--this is from the ionic page, so it's just a div--> 
 
<div id="map"> 
 

 
</div>
ここ https://drive.google.com/drive/folders/0BxYlN9E2saSzSnEwMHVoRGhBYTQ?usp=sharing

は2つの、 "良い" のスクリーンショットや形状がどのように表示するか "悪い" の方法があります

+0

"良い"と "歪んだ"シェイプのスクリーンショットを添付すると役立ちます。 – ghybs

+0

外部リンクを介して共有するのではなく、画像を直接ポストにインポートしてください。 SOは、編集後のフォームでイメージインクルードボタンを使用すると、独自のイメージホスティングサービスを提供します。 – ghybs

+1

データのCRSとは何ですか? – IvanSanchez

答えて

1

https://mygeodata.cloud/converter/shp-to-geojsonのような変換ツールを使用してSHPファイルを調べると、Belge 1972/Belgian Lambert 72(EPSG:31370)座標系が使用されているようです。

ライブラリー(つまり、npmパッケージ"shpjs")は、この投影情報がデータにはない*.dbfファイルに含まれていると思われます。

あなたのSHPファイルがWGS 84(EPSG:4326)に変換されると、それはリーフレットに細かい表示されます。

Screenshot correct shapes

あなたは直接にGeoJSONにあなたのファイルを変換するために上記のリンクツールを使用することができますWGS 84は座標系を使用するため、Shapefile.jsは必要ありません。

+0

ありがとうございました@ghybs、リーフレットがEPSG:3857( "Web Mercator")を使用している場合、EPSG:31300を使用していた問題がありました。あなたは私を正しい方向に導いた –

関連する問題