问题标签 [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.
javascript - Leaflet.js - 在地图视图上拟合 geoJSON 坐标
我有一个 Leaflet.js 地图,上面有来自外部 JSON 文件的点和线串。
如果我添加: map.setView(new L.LatLng(0,0), 10);
它将以纬度和经度 0,0 为中心定位地图。如何设置它以使地图中心和缩放适合 JSON 中的所有点?
jquery - 将点击功能添加到传单点
使用以下代码使用 Leaflet 将 json 点添加到地图。
我想添加功能,以便单击该点会弹出一个弹出窗口,其中包含来自 geojson 文件的更多信息。这是如何实现的?
php - PHP、geojson 和 openlayers
我完全坚持使用 openlayers 编写脚本。我在 postgis 中有数据库,其中包含每行的坐标和高度值,甚至几何列。我创建带有提交按钮的表单,仅根据用户输入的值检索数据。当我按下提交按钮时,PHP 正在获取正确的数据并转换为我已显示为结果的 JSON 格式。有人知道如何将这些结果加载到 openlayers 层并显示这些点吗?那是主页:
PHP 查询是这样的:
在我看来,这应该有效,但根本没有。也许有人知道出了什么问题。感谢您的任何建议,因为我真的有足够的自己的。
serialization - 使用 Jackson Parser 反序列化 GeoJSON
我正在尝试将 GeoJSON 反序列化为相应的 POJO。对于每个 GeoJSON 类型(点、线串、多边形等),我都有一个 Java 对象。我想让杰克逊使用 GeoJSON 实体的类型字段来使用相应的 Java 类。例如,假设我有以下 GeoJSON 实体:
对于第一个对象,Jackson 应该使用点类并相应地反序列化坐标字段。对于第二个对象,Jackson 应该使用 LineString 对象,对于第三个对象,应该使用多边形对象。
我知道您可以在 Jackson 中编写自定义反序列化器,但我只看到用于单个对象字段的反序列化器。就我而言,我认为我必须为整个 GeoJSON 实体编写一个反序列化器,因为根据类型字段,整个表示会发生变化。
也许有人可以提示我在这种情况下该怎么做?也许有一些我没有读过的聪明把戏?
谢谢。
map - 如何从 GeoJSON 文件中获取边界框值?
我有 GeoJSON 文件。但问题是,我不知道这个文件的投影。现在,我想覆盖在我的底图(OSM)上。我该怎么做?此 GeoJSON 文件包含斯德哥尔摩地区周围的特征。如何为此设置边界框?我尝试了几个来自托管站点的 openlayers 示例。但是,那些对我不起作用。我从(http://dev.openlayers.org/releases/OpenLayers-2.11/examples/all-overlays.html)得到了一个与我想要的非常相似的例子。我检查了他使用边界框的源代码。但问题是,如果我删除边界框,这个例子就不起作用(我与给定的数据绑定了这个)。我不知道,我的 json 文件有什么问题吗?贝娄,我给出了一些样本数据。格式正常吗?正如我所说,我尝试了不同的方式。有时我从脚本中读取 json 文件就好了。但,它无法显示特色叠加地图。贝娄,我给出了示例代码,显示了我是如何尝试的。
代码示例----
提前致谢。
map - 如何从 openlayers 读取外部 GeoJSON 文件?
我必须通过 OpenLayers 画一些线。线要素编码为 GeoJSON 格式。我的代码适用于硬编码的 GeoJSON 功能。但是,如果我将此功能放在单独的文件中并尝试加载它。它只是行不通。我不知道加载外部 GeoJSON 文件有什么问题。我已经给出了两个代码。
代码 1:
代码 2:此代码显示无法加载功能的错误
提前致谢
php - 使用哪个正则表达式将此字符串转换为数组?
从 mysql 中的地理空间列中,我得到以下字符串值,我想将其转换为数组。最终目标是将其转换为 geoJSON。
该字符串有 3 个坐标对,x 和 y 坐标用空格分隔,坐标对用逗号分隔。确切的数字是未知的和可变的。也POLYGON
可以不同于三种不同的设置。
以我对注册的一点了解。表达我想出了这个:
用双括号的坐标部分作为不确定部分。
谁能帮我解决这个问题?
编辑最终生成的数组应如下所示:
mongodb - GeoJSON 用于平面图
在评估表示办公室平面图的不同技术(因此,基本上是 3d 几何数据和 2d 表示)时,我遇到了许多用于客户端表示的新 javascript 包。
我看到了使用 openlayers.org 的建议,但恐怕大多数功能对我没有用。我目前正在考虑使用 d3js.org 渲染 svg 模型。
- 努力学习 openlayers 值得吗?从 GeoJson 渲染平面图会更容易吗?
- 在 GeoJson 中存储平面图(坐标 + 高度、宽度、深度数据)有什么好处。我打算使用MongoDB,听说它原生支持geoJson。或者用自定义结构(类)存储数据是否足够。我对 GeoJson 了解不多,不确定数据是否需要地理空间。到目前为止,我看到的所有示例都与地图有关,而不是与几何形状有关。
php - 使用 PHP 将 MySQL-spatial 更改为 geoJson
我有一个形状文件,我想通过使用传单 (http://leaflet.cloudmade.com/) 在网络上显示它。由于传单只支持geoJSON,我应该将shp文件更改为geoJSON。这很容易,因为我可以在 Quantum-GIS 中使用“另存为”功能。
虽然我可以使用 geojson 作为数据库(通过以编程方式读取、编辑和写入文件),但我认为使用“真实”数据库会更好。MySQL 是最流行的一种,它支持空间数据,所以我决定使用 MySQL。
场景是:
- 将 shp 更改为 MySQL(我使用 ogr2ogr,只需运行以下命令:ogr2ogr -f "MySQL" MySQL:"geo,user=root,host=localhost,password=toor" -lco engine=MYISAM airports.shp)
- 将 MySQL 数据库提取到 geojson <--这是问题所在
- 使用 ajax 获取 geojson 并更改布局 <- 这应该很容易,我对 JQuery 很好
My MySQL 表中有一个列,其类型为“GEOMETRY”,请看下面的表定义:
有什么办法可以将这样的表格更改为 geojson 格式?(我更喜欢简单的方法,但如果没有,只需将列更改为数组即可)
编辑: 我使用 phayes 编写的 geophp。 https://github.com/phayes/geoPHP/wiki/Example-format-converter。这解决了主要问题。只需要在添加功能等方面有点混乱。有更简单的解决方案吗?