标签: geojson

给定geoJSON对象,在d3中居中地图

目前在d3中,如果您要绘制一个geoJSON对象,则必须对其进行缩放并对其进行翻译,以使其达到所需大小并将其翻译以使其居中.这是一个非常乏味的反复试验,我想知道是否有人知道更好的方法来获得这些价值观?

所以,例如,如果我有这个代码

var path, vis, xy;
xy = d3.geo.mercator().scale(8500).translate([0, -1200]);

path = d3.geo.path().projection(xy);

vis = d3.select("#vis").append("svg:svg").attr("width", 960).attr("height", 600);

d3.json("../../data/ireland2.geojson", function(json) {
  return vis.append("svg:g")
    .attr("class", "tracts")
    .selectAll("path")
    .data(json.features).enter()
    .append("svg:path")
    .attr("d", path)
    .attr("fill", "#85C3C0")
    .attr("stroke", "#222");
});
Run Code Online (Sandbox Code Playgroud)

到底如何获得.scale(8500)和.translate([0,-1200]),而一点一点去?

geojson d3.js topojson

133
推荐指数
4
解决办法
6万
查看次数

GeoJSON和TopoJSON之间的区别

GeoJSON和TopoJSON之间的区别是什么?我何时使用另一个?

GitHub上TopoJSON描述意味着TopoJSON文件缩小了80%.那么为什么不一直只使用TopoJSON呢?

gis geojson d3.js topojson

83
推荐指数
2
解决办法
3万
查看次数

将geoJSON对象直接加载到谷歌地图v3中

我正在尝试使用我存储在mongodb中的平面图来创建地图.如果我将JSON放入文件中,我可以使用它来调用它map.data.loadGeoJson('myfile.json')

但是,每次构建地图时我都不想保存文件,而是宁愿直接写一个对象.像这样的东西:

var tempObject = {
    "type": "FeatureCollection",
    "features": [
      {
        "type": "Feature",
        "properties": {
          "letter": "G",
          "color": "blue",
          "rank": "7",
          "ascii": "71"
        },
        "geometry": {
          "type": "Polygon",
          "coordinates": [
            [
              [123.61, -22.14], [122.38, -21.73], [121.06, -21.69], [119.66, -22.22], [119.00, -23.40],
              [118.65, -24.76], [118.43, -26.07], [118.78, -27.56], [119.22, -28.57], [120.23, -29.49],
              [121.77, -29.87], [123.57, -29.64], [124.45, -29.03], [124.71, -27.95], [124.80, -26.70],
              [124.80, -25.60], [123.61, -25.64], [122.56, -25.64], [121.72, -25.72], [121.81, -26.62],
              [121.86, -26.98], [122.60, -26.90], [123.57, -27.05], [123.57, -27.68], …
Run Code Online (Sandbox Code Playgroud)

json google-maps geojson google-maps-api-3

35
推荐指数
1
解决办法
3万
查看次数

GeoJson世界数据库

我正在开发一个项目,需要使用d3.js显示国家和城市的地图.

实际上,D3支持GeoJson格式.通常,我猜,GeoJson格式是从其他格式转换而来的.

我找到了一些有这个GeoJson数据的地方:

http://mbostock.github.com/protovis/ex/countries.js

但是,这只是一个国家列表,我正在寻找一些服务或程序,使我能够设置ID,获取此格式,并将其转换为GeoJson,或更好地在GeoJson中获取它.

谢谢!!

svg geojson d3.js

31
推荐指数
2
解决办法
3万
查看次数

如何在Mongoose Schema中表示MongoDB GeoJSON字段?

MongoDB 2.4允许使用GeoJSON对象和一系列我想要使​​用的简洁函数和索引.

它希望GeoJSON对象以如下格式存储:

loc: {
  type: 'Polygon',
  coordinates: [[[-180.0, 10.0], [20.0, 90.0], [180.0, -5.0], [-30.0, -90.0]]]
}
Run Code Online (Sandbox Code Playgroud)

所以在Mongoose中,人们会认为模式定义如下:

loc: { type: 'string', coordinates: [[['number']]] }
Run Code Online (Sandbox Code Playgroud)

但目前存在两个问题:

  1. 有一个名为"type"的字段搞砸了Mongoose的模式解析,因为它允许在表单字段中定义字段:{type:,index:}等.

  2. Mongoose不喜欢嵌套数组.

解决这个问题的一种方法是简单地使用mongoose.Schema.Types.Mixed,但我觉得必须有更好的方法!

schema geospatial mongoose mongodb geojson

29
推荐指数
4
解决办法
2万
查看次数

PHP/Mongo geoJSON循环无效

我将一些坐标传给mongo进行地理搜索.如果坐标不相交(例如图8),它可以正常工作.但当两条线相交时,就会给出loop is not valid.有没有办法找到交叉点并将所有这些循环分开?

注意可能有很多.

编辑:我添加了示例查询和错误.请注意,我理解它为什么会发生,我只是想知道是否有一些已知的方法将这些循环分成单独的多边形(某些算法或Mongo内).

查询:

db.items.find({
    "address.location": {
        "$geoWithin": {
            "$geometry": {
                "type": "Polygon",
                "coordinates": [[
                    [-97.209091, 49.905691],
                    [-97.206345, 49.918072],
                    [-97.178879, 49.919399],
                    [-97.165146, 49.907903],
                    [-97.164459, 49.892865],
                    [-97.180939, 49.889326],
                    [-97.197418, 49.895077],
                    [-97.200165, 49.902596],
                    [-97.203598, 49.919399],
                    [-97.216644, 49.928682],
                    [-97.244797, 49.927356],
                    [-97.255096, 49.913209],
                    [-97.209091, 49.905691]
                ]]
            }
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

错误:

Error: error: {
    "waitedMS" : NumberLong(0),
    "ok" : 0,
    "errmsg" : "Loop is not valid: [
            [ -97.209091, 49.905691 ]
            [ -97.206345, 49.918072 ],
            [ -97.17887899999999, 49.919399 …
Run Code Online (Sandbox Code Playgroud)

php mongodb geojson

29
推荐指数
1
解决办法
1379
查看次数

如何与地图外部的传单标记图层进行交互?

我有一个传单地图,显示从GeoJSON渲染的公共艺术作品的点.在地图旁边,我创建了一个来自相同GeoJSON数据的片段列表,并且希望能够从地图外部的列表中单击某个项目,并在地图上显示相关标记的弹出窗口.

如何通过点击事件将项目列表链接到各自的标记?

我的map.js文件如下所示:

var map;
var pointsLayer;

$(document).ready(function () {
    map = new L.Map('mapContainer');
    var url = 'http://{s}.tiles.mapbox.com/v3/mapbox.mapbox-streets/{z}/{x}/{y}.png';
    var copyright = 'Map data © 2011 OpenStreetMap contributors, Imagery © 2011 CloudMade';
    var tileLayer = new L.TileLayer(url, {
        attribution: copyright
    });
    var startPosition = new L.LatLng(41.883333, - 87.633333);
    map.on('load', function (e) {
        requestUpdatedPoints(e.target.getBounds())
    });
    map.setView(startPosition, 13).addLayer(tileLayer);
    map.on('moveend', function (e) {
        requestUpdatedPoints(e.target.getBounds())
    })
});

function requestUpdatedPoints(bounds) {
    $.ajax({
        type: 'GET',
        url: '/SeeAll',
        dataType: 'json',
        data: JSON.stringify(bounds),
        contentType: 'application/json; …
Run Code Online (Sandbox Code Playgroud)

javascript jquery geojson leaflet

28
推荐指数
2
解决办法
3万
查看次数

我如何/在哪里获得非美国国家,省和行政区域的geoJSON数据?

我需要多个国家/地区的州,省和地区的geoJSON格式路径.最容易获得的geoJSON数据适用于美国各州和国家级边界,而不适用于国内/地区.此geoJSON将用于使用D3.js创建地理可视化.

shapefile geojson d3.js

28
推荐指数
3
解决办法
3万
查看次数

使用Python中的geoJSON指向Polygon

我有一个包含大量多边形的geoJSON数据库(特别是人口普查区),我有很多长的纬度点.

我希望有一个有效的Python代码来识别给定坐标所在的人口普查区域,但到目前为止我的谷歌搜索还没有透露任何内容.

谢谢!

python gis geometry geojson

28
推荐指数
2
解决办法
2万
查看次数

在D3.js/GeoJSON/TopoJSON/Shapefile中平滑弧/绘图点(沿途某处)

我一直在寻找答案,我无法弄明白.

  • 我最终从基于网格的数据(GRIB文件)创建TopoJSON文件.
  • 我可以很容易地将数据内插到更精细的分辨率网格,因此缩小时绘图点看起来更平滑,但是当放大时,不可避免地会看到块状网格点.
  • 我也研究过简化,这确实有点帮助,但不是很平滑.
  • 我正在使用D3来渲染数据.
  • 这可以在前端完成,还是应该/可以在原始TopoJSON数据中完成?
  • 我基本上不希望你能够告诉它它是一个网格,即使你放大了10,000%.
  • 这是我所追求的一个例子:

在此输入图像描述

javascript gis geojson d3.js topojson

26
推荐指数
1
解决办法
998
查看次数