问题标签 [geojson]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4094 浏览

c# - 关于如何使用 JSON.NET 创建自定义 GeoJson 序列化程序的建议?

我将尝试创建一个 C# 库,以使用Json.NET(用于序列化)和GeoAPI.NET(用于几何定义) 将对象序列化为GeoJSON 。

我已经考虑过两种不同的序列化实现方法,但我不清楚哪一种是最好的方法。他们是:

方法 1 - 自定义属性

第一种方法涉及创建几个自定义属性,这些属性可以应用于任何类以修改序列化。例如,一个类可能被这样装饰:

然后序列化对象将非常简单:

这种方法的优点是任何业务对象都可以转换为 GeoJSON 对象,前提是它具有所需的属性(例如 Geometry )。缺点是我需要创建许多自定义属性来支持序列化。此外,这会产生“混淆”业务对象的影响。

最后,我还没有确定 JSON.NET 是否可以使用这种方法,但似乎可以。

方法 2 - 自定义 JsonConverter

第二种方法涉及为各种类型创建自定义转换器。例如,我可能有一个 GeoJsonConverter,当传递给定类型的对象时,比如 Feature,GeoJSON 对象被创建。这可能看起来像:

然后我就可以像这样序列化到 GeoJson:

这里的优点是这似乎更容易创建。我已经证明,这种方法可以通过一个非常简单的原型实现。此外,如果我链接到NetTopologySuiteFeature ,则该类已经定义。

缺点是我的业务对象需要Feature在序列化之前映射到 a 。不过,这可能被认为是一个优势,因为这可能会提供层之间的自然解耦。在这两种情况下肯定会与 GeoAPI 紧密耦合,而在后者则与 NetTopologySuite 紧密耦合。我想我可以接受。

我知道其他几个可用的 GeoJson 序列化程序,例如GeoJson.NET ,但是我想要一种与 Json.NET API 一致的方法,因为这是我们选择的序列化程序。

您是否看到为什么一种方法比另一种方法更受青睐的任何明显原因?也许还有另一种我不知道的方法?

仅供参考,我倾向于第二种方法。似乎它会更容易实现,并且整体上会更干净。我也碰巧喜欢它会创建的域对象和 GeoJson 对象之间的自然边界。

0 投票
3 回答
2025 浏览

iphone - 编辑 JSON-Parser 以解析 geoJSON?

我想在我的 iPhone 应用程序中使用 geoJSON 格式的数据。这是一个 JSON 解析器,但没有 geoJason 解析器。任何人都可以帮助我吗?如何编辑 JSON 解析器才能成功解析 geoJSON?

那里有用于 Objective-C 的 geoJson 解析器吗?

非常感谢。

0 投票
3 回答
4261 浏览

php - json_encode 在arrayObject vs array() 上表现不同

我在php中有一个函数:

输出:

现在我已经将数组重写为这样的对象:

但这会将输出更改为:

这使得它无法用作 OpenLayers 的 geoJSON。为什么 json_encode 函数会这样?我可以关闭索引号的设置吗?这是一个可能的小错误吗?

0 投票
1 回答
1251 浏览

kml - Polymaps.org 和 KML / GeoJSON 中的绘图线

有人玩过 Polymaps.org KML 解析器吗?对我来说,这个例子似乎甚至不起作用。

我有一个现有的 KML 文件,该文件是从一个非常简单的数据库生成的 - 我有一个地标名称,以及该地标的 lat/long 十进制表示法。我有数百个这样的路由——我想做的很简单,Polymaps 很完美,但是 GeoJSON 示例有限,Polymaps 示例更有限。

有没有 GeoJSON 专家可以提供帮助?我基本上想创建一个 GeoJSON 流,它采用我的地标名称、纬度和经度并创建一条线来形成一条路线。

0 投票
2 回答
2250 浏览

svg - 在哪里可以找到使用 2 位或 3 位国家代码的国家/地区的 SVG 或 GeoJSON?

我打算使用 Polymaps.org 库(与 Protovis 结合)创建一个漂亮的基于矢量的世界地图。但是,示例 (http://polymaps.org/ex/world.html) 使用来自 Thematic Mapping 的 GeoJSON,但国家按名称而不是 2 位国家代码进行编码。

当我配对我的数据时,我遇到了“俄罗斯”与“俄罗斯共和国”之类的问题。有人知道使用 ISO 2 或 3 位代码的国家/地区的 GeoJSON 文件吗?使用这些名称似乎很疯狂。

任何其他 SVG 类型的文件也会很有用。我可以创建一个,但我觉得它必须存在,我只是不知道如何找到它。

0 投票
1 回答
217 浏览

python - 近距离连接用户的最佳方式?(纬度、经度)

我创建了一个 android 应用程序,它可以近距离连接跑步者。我使用了 Tornado ServerWeb (Python) 和 No-SQL 数据库。

我的解决方案:

将用户的所有 {lon,lat}(定期更新)存储在 DataLocation 中。

当用户想查看他周围的用户时,它会向我的服务器调用特定的函数,该函数会从他当前的位置创建一个边界框。下一步是返回我的 DataLocation 在他的边界框中的用户。

这是一个好方法吗?有什么建议吗?GeoJSON 对我有用吗?我怎样才能在 Python 中做到这一点?

0 投票
1 回答
1282 浏览

django - OpenLayer+GeoJSON+Django

嗨,我尝试在我的 django 应用程序中执行该示例http://openlayers.org/dev/examples/all-overlays.html 。我使用测试服务器。要访问 urls.py 中的 road.json 文件,我写了

我更改了 html 页面,使其显示由 OpenLayer 创建的地图(根据示例文本)、位于目录数据中的图片以及 html 使用位于数据目录中的 CSS 文件。图片和CSS文件都可以正常运行,但是没有地图(只是空的矩形,就像在服务器上找不到图片时一样)。当我在浏览器地址栏中写http://127.0.0.1:8000/data/1.png我看到我的图片 http://127.0.0.1:8000/data/style.css我看到 CSS 文件,但是当我写http://127.0.0.1:8000/data/roads.json浏览器说二进制文件的内容并且它可以保存。

0 投票
1 回答
3220 浏览

javascript - 带有 GeoJson 和 Polymaps 的多边形

我是制图的初学者,并决定将 Polymaps 用于我正在从事的项目。我有一个数据集,我想通过邮政编码提供给地图。我们现在正在对县进行测试,我要做的就是让县的形状显示在地图上。

我将 geoJson 添加到地图中,并拉入我的 .json 文件。经过一些研究,我认为我需要解析 json,但我不确定如何去做,而且我无法从 Polymaps 文档中收集到太多信息。

任何见解或初学者教程都会很棒。谢谢!

0 投票
2 回答
19086 浏览

json - 在 OpenLayers 中保存和恢复几何图形

上下文:我是 OpenLayers 的一个新人,请保持温和。

从根本上说,我有一张地图,上面有一些绘制的对象。如果我理解正确,我有许多 OpenLayer.Feature.Vector(层?),上面有许多 OpenLayer.Geometry “事物”(如 LinearRing)。

目前,我似乎能够使用 .toString() 很好地表示几何。是的,我怀疑我做错了——请随时指出我正确的方向。

这会产生一个非常可读且可数据库存储的字符串,例如:

  • 点(-104.74560546875 44.2841796875)

  • 多边形((-96.52783203125 44.6796875,-96.52783203125 45.734375,-92.22119140625 45.734375,-92.22119140625 44.6796875,-96.527832087592)

  • LINESTRING(-105.71240234375 44.6796875,-106.06396484375 42.658203125,-103.55908203125 42.7021484375,-103.47119140625 45.55859375,-104.65771484375 45.20703125)

有没有一种相反的方法可以将它们从它们的来源中恢复为对象格式?

我很想使用 JSON,但似乎无法让 GeoJSON 接受我的 OpenLayer.Feature.Vector 对象(这是 CLASS_NAME 属性在我窥视内部时所说的)。

非常感谢。

0 投票
3 回答
7807 浏览

php - 将 JSON 转换为 GeoJSON

PHP 中是否有任何函数或库可用于将 Json 对象转换为 Geojson 对象?