问题标签 [epsg]
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.
latitude-longitude - 如何从 EPSG 土地覆盖系统计算纬度/经度?
我有一个具有 4 个坐标(南北、东西)的土地覆盖面,我想计算纬度和经度。
例如,Bounding Box:West = -10.61982, East = 44.82124, North = 71.18545, South = 34.56192
有人知道基本步骤吗?
这似乎是以下问题的反面:
如何将给定坐标转换为“直径”x的边界框?
谢谢!
javascript - Openlayers 不重新投影 WMS 查询
我的项目中有一个 openlayers 地图,我想在其中添加 WMS 切片。这是我的代码:
如您所见,我正在尝试将坐标投影到EPSG:2154
(法国),以便将它们发送到 WMS 服务器。但是我的地图是空白的,因为 openlayers 没有生成具有良好投影的调用。
而不是这样的东西(从另一个不使用openlayers的网站生成):https ://ssl-geowms.lillemetropole.fr/dynmapr/dynmapr.php?in=PLU/plu&service=WMS&request=GetMap&version=1.1.1&layers=PLU %2Fplu&styles=&format=image%2Fjpeg&transparent=false&height=256&width=256&srs=EPSG%3A2154&bbox=704615.2885901299,7064111.541254971,705393.894388002,7064886.656737898
如您所见,它没有重新投影EPSG:2154
到EPSG:3857
. 还有其他问题,例如高度和宽度,但这是另一回事。如果我将边界框从工作链接复制/粘贴到第一个,它就可以工作。
java - (Geotools 库)如何将韩国坐标 (EPSG:5179) 转换为十进制度坐标 (EPSG:4326)
从韩国 2000 坐标系 (EPSG:5179) 转换为十进制度 (EPSG:4326) 时出现问题。
我们正在为韩国公司开发地理信息系统。我们将 Geotools 库用于多个后端实现。但是我现在从 EPSG:5179 转换为 EPSG:4326 时遇到问题。例如:当使用多个在线转换器(如https://epsg.io/transform#s_srs=5179&t_srs=4326 试图转换韩国坐标时:x : 1307285 y : 2229260
预期结果为(十进制度格式): x : 131.0999928 y : 40.0099722
所以现在我正在尝试使用 Geotools 库使用此文档http://docs.geotools.org/stable/userguide/library/api/jts.html进行相同的转换
我的示例测试:
因此测试在第一次坐标比较时失败,实际输出为:longitude : 140.340217725
当经度应该是 131.0999928
你有什么建议我做错了吗?先感谢您 !
java - 如何在java中将投影EPSG:3857转换为EPSG:4326(地理空间)
有没有办法在 java 中将 EPSG:3857 投影转换为 EPSG:4326?我正在使用 esri java sdk。我浏览了 esri skd 文档,但找不到将 EPSG:3857 转换为 EPSG:4326 的方法。有没有办法做到这一点?
我有一个这样的 webMercator:Point property = new Point(1.7040237624799997e7,-3099509.4953500014, SpatialReferences.getWebMercator());
并拥有这样的WSG84 Point point1 = new Point(153.089361, -26.802295, SpatialReferences.getWgs84());
我需要合并它们,因为这些点具有不同的空间参考,我无法显示地图属性。
openlayers - Openlayers/GeoServer WFS 缓存、切片或任何优化
我正在使用 OpenLayers 3.20.0 开发一个 Web 应用程序,其图层来自 GeoServer,链接到 Oracle 数据源。该应用程序主要使用 ImageWMS 层,以及用于交互和编辑的 Vector 层。问题是地图非常慢,绘制了超过 30000 条折线,我想让这个过程更快:-)
所以我想知道最好的方法是什么。我找到了两种方法:
- 在 ImageWMS 层中更改我的向量层,并仅在选择或编辑时手动加载所需的功能,但它要求我对我的代码进行一定量的修改
- 使用 VectorTile 层而不是 Vector 层,我想它应该像 ImageWMS 和瓦片系统一样工作,以便仅根据地图视图加载数据(我好吗?)
我寻找了 VectorTile 的样本,但它们的数量并不多(大部分时间都是关于 OpenLayers 2),而且文档有点差。
关于层声明的最大未知数是关于 VectorTile 源。必须定义一个 URL,我在文档中发现我必须放置 {x}/{y}/{z} 参数,但究竟在哪里,以及如何构建这个 URL?(参见https://openlayers.org/en/latest/apidoc/module-ol_source_VectorTile-VectorTile.html,“url”选项)
作为示例,我当前的 Vector 源具有这样的 URL:/geoserver/ANF/ows?service=WFS&version=1.0.0&request=GetFeature&typeName=ANF:myLayer&outputFormat=application%2Fjson
所以要定义 VectorTile 源,我如何定义我的 URL,以及在 GeoServer 端我需要做什么才能以正确的方式配置我的层?我找到了这个资源:https ://docs.geoserver.org/latest/en/user/extensions/vectortiles/tutorial.html
我在 GeoServer 上唯一不是图像类型的矢量切片格式是“application/json;type=utfgrid”。当我像示例一样将 '@pbf/{z}/{x}/{-y}.pbf' 放在我的 URL 末尾时,我得到了错误,但我想这不是正确的方法。
任何帮助将不胜感激,让我更精确地了解如何使用 GeoServer 制作 VectorTile 图层和源,或以其他方式优化我创建的地图。
非常感谢。
编辑
在一些答案之后,我来到这个代码示例:
此代码属于以下错误:
错误类型错误:无法在 ol.renderer.canvas.VectorTileLayer.drawTileImage (ol-debug.js:29886) 的 ol.renderer.canvas.VectorTileLayer.createReplayGroup_ (ol-debug.js:29814) 处读取 null 的属性“getUnits” ol.renderer.canvas.VectorTileLayer.ol.renderer.canvas.TileLayer.prepareFrame (ol-debug.js:26557) 在 ol.renderer.canvas.Map.renderFrame (ol-debug.js:30302) 在 ol.Map。 ol.Map 的 renderFrame_ (ol-debug.js:42107)。(ol-debug.js:41013) 在 ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:421) 在 Object.onInvokeTask (core.js:3815) 在ZoneDelegate.push../node_modules/zone.js/dist/zone.js.ZoneDelegate.invokeTask (zone.js:420) 在 Zone.push../node_modules/zone.js/dist/zone.js.Zone.runTask (zone.js:188)
看来问题现在来自 EPSG:2169。EPSG:3857 的示例效果很好(请参阅答案)。
我错过了什么吗?
非常感谢 !
javascript - OpenLayers:地图不使用非“标准”EPSG 代码渲染
我在使用 EPSG 3031 中的地图时遇到问题。
从我的研究中,我已经了解到投影的参数必须在 javascript 文件中定义,因此 epsg.io 在我的脚本中可以正常工作。
但是,当我在新创建的视图和转换后的中心中使用实际的 EPSG:3031 时,地图不会呈现。它起作用的唯一方法是选择EPSG:4326或3857,中心为[0,0]实际上没有任何意义。
我的 javascript 看起来像这样:
我的 html 看起来像这样:
我怎样才能让它工作,为什么它现在不起作用?
python - 使用 geopandas to_crs epsg 时出错“没有显示列”
我有这段代码,我运行它,一切都很好,但是当我使用.head() 时,列中没有显示原始代码,其余代码没有运行,因为原始数据是空的..
这是代码
我跑
显示了这个
我错过了什么?谢谢你一年的时间
openlayers - 是否有任何自动方法可以在 openlayers 中发现 epsg 代码和 proj4 到 geojson 文件?
我有一个项目来加载一些 geojson 文件,然后在 openlayers 地图中绘制。我对来自 Blumenau/Santa Catarina/Brazil(城市/州/国家)的示例文件做得很好,但是当我从巴西城市上传新文件时,他们在地图上看到了移位。
将文件上传到我的网站时,有什么方法可以自动定义 proj4 参数和 epsg 代码?实际上,该页面只上传文件并用新名称定义它,而不会更改它的数据。当我尝试上传 Santo Andre/Sao Paulo/Brazil 数据时,它是在巴西的其他州绘制的,但采用 Santo Andre 城市格式。
这是绘制的 Blumenau 数据。数据:https ://raw.githubusercontent.com/tiagoferneda/files/master/SuscetibilidadeInundacaoBlumenau.json
这是绘制在 Terra Boa 市上空的 Santo Andre 数据,距离正确位置很远。数据:https ://raw.githubusercontent.com/tiagoferneda/files/master/SuscetibilidadeInundacaoSantoAndre.json
python - Python - 使用 Adobe Illustrator 打开 .DXF 后 GeoPandas 无法工作
我正在尝试使用 GeoPandas 绘制 CAD 文件 (.dxf),然后将其保存为 KML 文件。当我尝试这样做时 - CAD 文件最终出现在错误的位置(在海洋中间 - 当它应该在佛罗里达州时)。奇怪的是,这仅在打开 .dxf 然后使用 Adobe Illustrator 保存后才会发生(以便执行清理)。如果我在不使用 Illustrator 打开和保存的情况下运行相同的过程 - 文件绘制正确。
我已经进行了大量研究 - 但似乎我使用 GeoPandas 正确地完成了所有工作(为简单起见,我将代码减少到以下几行 - 但结果是相同的 - 一旦打开 .dxf使用 Illustrator - 打开 .kml 时,它最终会出现在海洋中央!)
我不知道为什么会这样 - 任何建议都非常感谢。
swift - Swift - 从 EPSG:4326 到 3857 的坐标转换
我想知道可以用来从 4326 转换为 3857 的 Swift 库或方法。我已经引用了一些库,例如Proj4Swift和Proj.4,但无济于事。第一个链接没有可用的下载,第二个链接没有文档。有人会建议我可以用来在 Swift 中实现这一目标的库或方法吗?
我还提到了其他类似的问题,但找不到合适的解决方案。