2017-11-02 10 views
0

브라우저에서 전단지를 사용하여 일부 gis 파일을 보려고했습니다. http://lsi.iiit.ac.in:8095/lsiviewer 또는 http://mapshaper.org/과 같은 다른 페이지에서 볼 때 올바르게 표시됩니다. 그러나 전단에서 볼 때 파일이 제대로 표시되지 않습니다. 왜곡되어 있습니다. 모양이 표시되는 방식을 https://drive.google.com/drive/folders/0BxYlN9E2saSzSnEwMHVoRGhBYTQ?usp=sharing리플렛 geojson을 볼 때의 왜곡

여기

은 "좋은"의 2 개 스크린 샷이와 "나쁜"방법 : 여기

는 Shape 파일 아카이브이다 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>

+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를 사용하고 있다는 것입니다 : 31300은 전단지가 EPSG : 3857 ("Web Mercator")을 사용할 때입니다. 날 올바른 길로 안내해 줬어. –