Leaflet 传单

Leaflet 传单,leaflet,geojson,Leaflet,Geojson,有人能解释一下为什么这个传单代码可以可视化纽约州的GeoJson数据,但我不能绘制纽约市的数据。我对QGIS中的文件使用了相同的导出首选项 我使用了以下链接中的数据: 纽约市 纽约州 var map=L.map('map'{ 中间:[5,28], 缩放:3, minZoom:2, 最大缩放:18 }); L.geoJson(数据、{ 风格:功能(特征){ 返回{color:feature.properties.color}; }, onEachFeature:功能(功能,图层){ laye

有人能解释一下为什么这个传单代码可以可视化纽约州的GeoJson数据,但我不能绘制纽约市的数据。我对QGIS中的文件使用了相同的导出首选项

我使用了以下链接中的数据:

纽约市

纽约州


var map=L.map('map'{
中间:[5,28],
缩放:3,
minZoom:2,
最大缩放:18
});
L.geoJson(数据、{
风格:功能(特征){
返回{color:feature.properties.color};
},
onEachFeature:功能(功能,图层){
layer.bindPopup(特征、属性、描述);
}
}).addTo(地图);

由于问题缺乏具体性,很难说问题出在哪里。然而,我有一个很好的猜测

我按照你的链接找到了城市数据,下载了“自治区边界”形状文件,然后将其导入QGIS。坐标单位显示为英尺或米,表示它是投影数据。传单不能处理投影坐标;它需要未投影的lat/long(十进制度数)坐标。您需要执行以下步骤:

1) 找出数据的投影形式

2) 使用GIS软件(如免费、开源QGIS)将该投影指定给数据

3) 将数据重新投影到WGS 84(EPSG:4326)坐标系中


4) 将重新投影的数据另存为新的GeoJSON。

尝试将城市数据放入 Github将在底图上显示数据,您将能够看到数据是否正确

  • 不显示(geojson可能有问题)
  • 显示,但位置错误(可能是投影问题)
  • 显示在正确的位置(代码中可能存在问题)

您需要先导入一个磁贴,其中一些是付费的,但通过很少的研究,您可以找到大量的免费赠品。

您可以将其放到演示站点上吗?或者至少向我们展示geojson?
<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>
 <link rel="stylesheet" href="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.css" />
 <link rel="stylesheet" href="style_blank.css" />
</head>
<body>
<script src="http://d3js.org/d3.v3.min.js"></script>
 <script src="http://cdn.leafletjs.com/leaflet-0.7.3/leaflet.js"></script>
 <script src="sdfgsdgdfgfdsgd.js"></script>
  <div id="map"></div>
  <script>

  var map = L.map('map',{
    center: [5,28],
    zoom: 3,
    minZoom: 2,
    maxZoom: 18
  });

  L.geoJson(data, {
    style: function (feature) {
        return {color: feature.properties.color};
    },
    onEachFeature: function (feature, layer) {
        layer.bindPopup(feature.properties.description);
    }
}).addTo(map);
</script>
</body>
</html>