Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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
Javascript 将横向/纵向放置在具有D3的方位角Qualarea地图上_Javascript_D3.js_Geo - Fatal编程技术网

Javascript 将横向/纵向放置在具有D3的方位角Qualarea地图上

Javascript 将横向/纵向放置在具有D3的方位角Qualarea地图上,javascript,d3.js,geo,Javascript,D3.js,Geo,我试图在地图上绘制一些纵横点,但无法使它们显示在正确的位置 点应该在旧金山。我有一本书 您为d3.geo指定了错误的纬度和经度,并且输出的方向也错误。这与按约定(N/S然后E/W)显示它们的方式相反,但它更符合跨接然后向上/向下的图形约定 从D3 API地理参考中: 投影函数采用两个元素的数字数组 表示位置[经度、纬度]的坐标,以及 返回一个类似的两元素数字数组,该数组表示 投影像素位置[x,y] 为了解决这个问题,我已经反转了FeatureCollection的坐标: var latlong

我试图在地图上绘制一些纵横点,但无法使它们显示在正确的位置

点应该在旧金山。我有一本书


您为d3.geo指定了错误的纬度和经度,并且输出的方向也错误。这与按约定(N/S然后E/W)显示它们的方式相反,但它更符合跨接然后向上/向下的图形约定

从D3 API地理参考中:

投影函数采用两个元素的数字数组 表示位置[经度、纬度]的坐标,以及 返回一个类似的两元素数字数组,该数组表示 投影像素位置[x,y]

为了解决这个问题,我已经反转了FeatureCollection的坐标:

var latlong = {"type":"FeatureCollection","features":[
    {"type":"Feature","geometry":{"type":"Point","coordinates":[-122.0423922,37.3838312]},"properties":{"timestampMs":1415894666875}},
etc...
并反转了你的图的坐标

    .attr("cx", function (d) { return projection(d.geometry.coordinates)[0]; })
    .attr("cy", function (d) { return projection(d.geometry.coordinates)[1]; })

其他一切都很好。在这里修正。很多时候都是小事情

您为d3.geo指定了错误的纬度和经度,并且输出的方向也错误。这与按约定(N/S然后E/W)显示它们的方式相反,但它更符合跨接然后向上/向下的图形约定

从D3 API地理参考中:

投影函数采用两个元素的数字数组 表示位置[经度、纬度]的坐标,以及 返回一个类似的两元素数字数组,该数组表示 投影像素位置[x,y]

为了解决这个问题,我已经反转了FeatureCollection的坐标:

var latlong = {"type":"FeatureCollection","features":[
    {"type":"Feature","geometry":{"type":"Point","coordinates":[-122.0423922,37.3838312]},"properties":{"timestampMs":1415894666875}},
etc...
并反转了你的图的坐标

    .attr("cx", function (d) { return projection(d.geometry.coordinates)[0]; })
    .attr("cy", function (d) { return projection(d.geometry.coordinates)[1]; })

其他一切都很好。在这里修正。很多时候都是小事情

你是不是刚把你的长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长/长?它们通常输出为long/lat,因此cx将使用[0]和cy[1]。您的lat/long是不是用错了方向?它们通常输出为long/lat,因此cx需要[0]和cy[1]。啊,我甚至没有想到先交换GeoJson数据中的坐标,这完全有道理!谢谢:)一个小小的额外观察。您可以将cx和cy组合成一个转换语句,这可以缩短代码:。attr(“transform”,function(d){return“translate”(+projection(d.geometry.coordinates)+”);})啊,我甚至没有想到先交换GeoJson数据中的坐标,这完全有道理!谢谢:)一个小小的额外观察。您可以将cx和cy组合成一个transform语句,使代码更短:。attr(“transform”,function(d){return“translate”(+projection(d.geometry.coordinates)+”);}