我用shp和json格式可视化了来自奥地利的Opendata。我可以用传单绘制数据,但是标记和痕迹都被移开了.因此,我联系了负责部门,得到了以下答复-我不知道如何在传单中处理这一问题:
模具几何尺寸设计-Daten für Tirol
ist MGI_Austria_GK_West
参数: MGI_Austria_GK_West WKID: 31254 Authority: EPSG
投影: Transverse_Mercator
False_Easting: 0,0 False_Northing:-500000,0 Central_Meridian: 10,33333333333333 Scale_Factor: 1,0 Latitude_Of_Origin: 0,0线性单位:米(1,0)
ETRS_1989_To_WGS_1984+MGI_To_ETRS_1989_5
该代码运行良好,但我如何实现wgs?
var mymap = L.map('map').setView([47.25, 11.39], 14)
L.tileLayer('https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png', {
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
}).addTo(mymap);
var markers = L.markerClusterGroup();
var geoJsonLayer;
shp("natur/RNA_NSGEBPolygon").then(function(geojson){
//do something with your geojson
console.log(geojson);
geoJsonLayer = L.geoJSON(geojson, {
filter: function(feature, layer) {
if(feature.properties){
return true;
}//End if
},//end filter
onEachFeature: function(feature, layer){
layer.bindPopup(feature.properties.NAME);
}
})//end L.geojson
//.addTo(mymap);
markers.addLayer(geoJsonLayer);
mymap.addLayer(markers);
mymap.fitBounds(markers.getBounds());谢谢你的帮助
发布于 2020-04-14 18:14:39
我认为这是因为您以latlng格式接收数据,但是L.geoJSON需要lnglat。
在您的coordsToLatLng中添加L.geoJSON以进行转换:
geoJsonLayer = L.geoJSON(geojson, {
filter: function(feature, layer) {
if(feature.properties){
return true;
}//End if
},//end filter
onEachFeature: function(feature, layer){
layer.bindPopup(feature.properties.NAME);
},
coordsToLatLng: function (coords) {
// latitude , longitude, altitude
//return new L.LatLng(coords[1], coords[0], coords[2]); //Normal behavior
return new L.LatLng(coords[0], coords[1], coords[2]);
}
})//end L.geojson
//.addTo(mymap);发布于 2020-04-15 15:33:47
我下载了QGIS (Freeversion)
导入SHP文件并将其导出为Geojson层。重要的是对话框:"KBS“,在这里您可以更改为:"EPSG: 4326-WGS84”,所以我管理了正确的实现.干杯
https://stackoverflow.com/questions/61210173
复制相似问题