Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Leaflet 传单:俄罗斯-芬兰边界geoJson覆盖错误_Leaflet_Geojson_Topojson - Fatal编程技术网

Leaflet 传单:俄罗斯-芬兰边界geoJson覆盖错误

Leaflet 传单:俄罗斯-芬兰边界geoJson覆盖错误,leaflet,geojson,topojson,Leaflet,Geojson,Topojson,我在用电话 我使用ogr2ogr通过以下命令创建geoJson文件: ogr2ogr -f GeoJSON geo_world_50m.json ne_50m_admin_0_countries.shp 然后,我使用以下命令创建一个topoJson文件: topojson --id-property iso_n3 -p name=admin -p name -p iso_a3=iso_a3 -p iso_a3 -o topo_world_50m.json geo_world_50m.json

我在用电话

我使用ogr2ogr通过以下命令创建geoJson文件:

ogr2ogr -f GeoJSON geo_world_50m.json ne_50m_admin_0_countries.shp
然后,我使用以下命令创建一个topoJson文件:

topojson --id-property iso_n3 -p name=admin -p name -p iso_a3=iso_a3 -p iso_a3 -o topo_world_50m.json geo_world_50m.json
一旦我有了topoJson文件,我就将其加载到传单中:

$.getJSON('topo_world_50m.json', function (data) {
    var country_geojson = topojson.feature(data, data.objects.geo_world_50m);
    country_layer.addData(country_geojson);
});
我试过1:50米的锉刀,也试过1:10米的天然土锉刀。两者都给了我俄罗斯的这一部分,在芬兰边境被颠倒过来


有没有办法解决这个问题?谢谢

如果使用geoJson会发生什么?对于像这样的管理0级地理位置(国家级),geoJson在细节方面可能就足够了。当你从geo->topo?

开始时,听起来好像有些东西丢失了。。。这是传单上的一个已知问题,我这样解决:

函数onEachShapeFeature(特征,图层){
var bounds=layer.getBounds&&layer.getBounds();
//根据您的数据,可能需要调整精度
if(bounds&(Math.abs(bounds.getEast()+bounds.getWest())<0.1){
var latlongs=layer.getLatLngs();
latlongs.forEach(函数(形状){
形状。forEach(功能(绳索){
如果(帘线长度<0){
c.lng+=360;
}   
}); 
}); 
layer.setLatLngs(latlongs);
}
}
var countries=L.geoJson(数据{
onEachFeature:onEachShapeFeature,
});

我知道这很有意思。。。但这是我发现的最好的方法。

当我转换为topo时,您可能对发生的问题是正确的。topo文件小得多,这使得额外的步骤很值得。作为一个临时解决方案,我已经过滤掉了俄罗斯和斐济(有相同的问题),因为我不需要它们的形状来完成这个项目。直接从shp转换为topojson也有这个问题。使用geojson文件可以解决这个问题。很高兴听到这个消息!祝你好运,问题解决了吗?怎么用?