问题标签 [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.

0 投票
1 回答
1478 浏览

python - 将坐标系导出为 ESPG 代码:to_epsg() 或 ExportToEPSG()

fiona在 Python 中使用and处理坐标系时osgeo,似乎有很多方法可以通过导入/导出不同的 crs 格式来定义坐标系,例如:

菲奥娜:

奥斯吉奥:

但是,我注意到,这两个库都允许通过其 EPSG 代码轻松定义 crs,但它们都缺少反函数(将 crs 导出为 ESPG 代码)。

我得到EPSG代码的最接近的是:

但它似乎并不那么可靠,而且其他提议的解决方案似乎也包括大量的调整或至少对Web 服务的依赖。

问题

  1. 有人可以向我展示一种将 CRS 导出为 python 中的 EPSG 代码的简单、直接的方法吗?类似to_epsg()inFionaExportToEPSG()in 的东西osgeo

  2. 有人可以解释整个互联网上 EPSG 出口可能性如此短缺的理论背景,尤其是与 EPSG 代码导入的便利性相比。EPSG 代码的全部意义不在于使没有高级地理空间专业知识的人易于识别和使用坐标系吗?它不应该像 CRS 的 ID 一样服务,因此可以轻松检索吗?

0 投票
2 回答
4258 浏览

node.js - 如何将 EPSG 坐标转换为纬度/经度?

我有以下 OpenGis 数据,我想将其转换为纬度/经度坐标(谷歌地图使用)。

EPSG Registry上,我找到了 EPSG:28992 的原点位置。

我尝试使用proj4js,但我不知道如何将其放入投影中以及如何获得所需的输出。

我也试过自己计算。但我不知道我在这里做什么,也没有什么真正有意义的:(。

0 投票
1 回答
1332 浏览

gps - 如何将 EPSG:4326 转换为 EPSG:32632 Osmdroid

我通过我的 Android GPS 在 EPSG:4326 中获得了我的位置,现在我将其坐标转换为 EPSG:32632。有人有想法吗?

0 投票
0 回答
551 浏览

python - 如何更改tif文件crs

嗨,我想知道如何更改 tif 文件 crs,因为我想将我的 shapefile(称为 imd)覆盖到 tif 文件上,如果我不更改坐标,它们就无法合​​并。

这是代码:

man22.tif 文件的 CRS 为:epsg=3857,imd.shp 为 27700。非常感谢您的帮助

0 投票
1 回答
1216 浏览

python - 尝试使用 python 生成常规地理网格 - lat/lng 超出限制

我想检索美国常规网格的所有纬度/经度坐标对。我从较早的堆积问题中获取了以下代码:

资料来源:如何使用 python 生成常规地理网格?

当我的经度超过 -89.9999(-90 到 -180)时,代码不起作用,这会导致以下错误:

我不完全理解这些预测是如何工作的。有人可以帮忙吗?

0 投票
0 回答
47 浏览

wkt - 识别坐标系点

我需要以这种格式找到一个点的“正常”纬度和经度:

点 (-8114244 4999772)

我尝试使用 DBGeography.CreateFromPoint,但我认为我使用了错误的 srid。

(我在问这个问题之前已经搜索过了,但是作为数字谷歌并不是很有帮助)。

谢谢

0 投票
1 回答
2829 浏览

javascript - Proj4Leaflet 在 Leaflet 中从 4326 转换为 3857

我从上周开始研究传单,这个问题让我很生气。

数据库返回坐标以创建 Leaflet 标记(使用默认 Map.CRS EPSG3857),因此我决定使用 proj4js 将数据库坐标 4326 转换为 3857:

这些[-8515407.581757482, 382049.6844491562]不代表正确的点。

如果我反转最初的 4326 坐标 [3.429960207,-76.495207812] 并直接设置为标记,它显示完美(没有任何 proj4 转换)。

1. 为什么这种转换在 Leaflet 上不起作用,或者我应该怎么做才能让它起作用?

2.为什么反转坐标似乎有效?

3.应该如何正确解决问题?

0 投票
0 回答
259 浏览

d3.js - GPX 在 d3.js 中跟踪到 RGF93

我正在实现一个插入 GPX 轨道的 3D 表面,如本博客所述:http: //blog.mastermaps.com/2013/11/showing-gps-tracks-in-3d-with-threejs.html

我的 3D 地图是使用 RGF93 投影使用 QGIS 制作的自定义地图,我无法在 d3.js 中找到好的投影

我的地图的 gdalinfo 是

还有我正在尝试的投影(在许多其他组合中),但没有成功。我可以看到当 scale(1) 时点被放置在表面的中心,但在增加比例值时移动很远。

我想知道我做错了什么以及我的投影的适当值是什么。


编辑

我几乎找到了解决方案:

其中 terrain.center[lat, lon] 是来自 gdalinfo 的角坐标的值:中心。

即使不完全准确,点也几乎与他们的预期位置相符;它们似乎有点逆时针旋转。我尝试使用旋转值,但它只是将所有投影转换为左或右。

0 投票
1 回答
561 浏览

postgis - 使用 Landsat 和 PostGIS 按地理位置检索栅格数据

我正在进行的项目要求我在特定地理(经度/纬度)位置检索 Landsat 栅格数据。在筛选了一些教程并尝试了 GDAL、PostGIS 和 QGIS 之后,我成功地将 GeoTIFF Landsat 图像导入到 PostGIS 栅格表中,并从该表中按地理位置访问了值。但是,结果中存在一些问题:

  • 我不明白 QGIS 在其界面中使用的坐标系,因为它们的范围有数十万
  • 栅格在西班牙海岸外加载到 QGIS,而不是在美国缅因州的顶部,因为它应该是。

这是有关我的过程的一些信息。一般来说,我对 GIS 相当陌生,所以我几乎可以肯定这里有一个明显的错误:

  • 从 USGS GloVis 下载 Landsat 8 GeoTIFF 文件
  • 将乐队 5 图像重命名为对命令忍者更友好的名称。
  • 为栅格表创建 postgres 数据库并运行CREATE EXTENSION postgis;
  • 运行gdalinfo LSSampleB5.TIF,打印以下输出:

    Driver: GTiff/GeoTIFF Files: LSSampleB5Test2.TIF Size is 7871, 7971 Coordinate System is: PROJCS["WGS 84 / UTM zone 19N", GEOGCS["WGS 84", DATUM["WGS_1984", SPHEROID["WGS 84",6378137,298.257223563, AUTHORITY["EPSG","7030"]], AUTHORITY["EPSG","6326"]], PRIMEM["Greenwich",0, AUTHORITY["EPSG","8901"]], UNIT["degree",0.0174532925199433, AUTHORITY["EPSG","9122"]], AUTHORITY["EPSG","4326"]], PROJECTION["Transverse_Mercator"], PARAMETER["latitude_of_origin",0], PARAMETER["central_meridian",-69], PARAMETER["scale_factor",0.9996], PARAMETER["false_easting",500000], PARAMETER["false_northing",0], UNIT["metre",1, AUTHORITY["EPSG","9001"]], AXIS["Easting",EAST], AXIS["Northing",NORTH], AUTHORITY["EPSG","32619"]] Origin = (318285.000000000000000,5216715.000000000000000) Pixel Size = (30.000000000000000,-30.000000000000000) Metadata: AREA_OR_POINT=Point Image Structure Metadata: INTERLEAVE=BAND Corner Coordinates: Upper Left ( 318285.000, 5216715.000) ( 71d23'37.53"W, 47d 4'44.12"N) Lower Left ( 318285.000, 4977585.000) ( 71d18' 9.77"W, 44d55'42.53"N) Upper Right ( 554415.000, 5216715.000) ( 68d16'58.41"W, 47d 6' 6.11"N) Lower Right ( 554415.000, 4977585.000) ( 68d18'36.69"W, 44d56'58.62"N) Center ( 436350.000, 5097150.000) ( 69d49'20.56"W, 46d 1'29.87"N) Band 1 Block=7871x1 Type=UInt16, ColorInterp=Gray

  • 我将此输出解释为 EPSG 4326 格式(这可能是我的罪行),因此我运行以下命令将 GeoTIFF 作为 PostGIS 栅格导入:

    raster2pgsql -s 4326 -I LSSampleB5.TIF -F -t 50x50 -d | psql -U postgres rastertest

  • 这成功地导入了一个新表。然后我使用 QGIS 来直观地了解正在发生的事情。

  • Database -> DB Manager -> PostGIS -> rastertest -> public我将我的 lssampleb5 添加到画布下。

  • 我在 QGIS 中创建了一个新的 XYZ 连接,以添加 Google 卫星混合图像以供参考。我使用的 urlhttps://mt1.google.com/vt/lyrs=y&x={x}&y={y}&z={z}的最小和最大缩放分别为 0 和 19。

  • 在这里,我注意到 lssample 图层在 Google Hybrid 地图上落在西班牙海岸附近。

  • 我确保两层都在 EPSG 4326 投影上,没有变化。

  • 我不太气馁,我尝试了一个数据库查询来获取单个像素值。由于我的样本数据落在西班牙附近,因此我使用 QGIS 对附近的有效坐标对进行采样以进行查询。查询是:

    SELECT rid, ST_Value(rast, 1, ST_SetSRID(ST_Point(448956,5041439), 4326)) as b5 FROM lssampleb5 WHERE ST_Intersects(rast, ST_SetSRID(ST_Point(448956,5041439), 4326)::geometry, 1);

  • 这返回了一个有效的行 ID 和 5776 的 ST_VALUE。尝试 QGIS 显示范围之外的坐标导致没有返回条目,这并不意外。

所以,首先,我不知道 QGIS 使用的是什么坐标系。它绝对不是原始形式的经度和纬度,但据我了解,EPSG 4326 应该是地理投影。

其次,我不知道为什么 QGIS 将 Landsat 场景放错了位置,或者在这个过程中场景没有正确转换。

0 投票
0 回答
671 浏览

arcmap - 光栅中的 EPSG WKT

各位晚上好。我对 rasterio 中的翘曲选项有疑问。我有两个来自阿尔巴尼亚的栅格数据集。第一个栅格是裁剪的产物,第二个栅格是国家的边界​​。首先,我有以下预测。 在此处输入图像描述

对于第二个栅格,我有以下信息: 在此处输入图像描述

我的目标是使用栅格 2 的空间信息重新投影栅格#1。我尝试使用 rasterio,结果显示以下空间参考:Krassovsky_1942_Transverse_Mercator,并且基准未知。使用以下代码后得到此结果:

我读到可以使用 arcpy.Describe 在 ArcMap 中检索 EPGS 代码,但我想使用模块 rasterio 来完成任务。我认为使用光栅打开图像后的选项(dataset.crs)会给我 CRS 进行投影,但事实并非如此。谁能帮我解决这个问题?

非常感谢