在未知时识别Shapefile的坐标系?


Answers:


49

总有一种“蛮力”方法:

  1. 拍摄具有已知坐标系的图层,该图层应与未知图层重叠。

  2. 现在对未知层的投影进行一些有根据的猜测。(UTM,Plate Carree等)。将您已知的坐标系图层投影到每个投影中,直到找到与未知图层尽可能匹配的图层为止。


1
这也是我的方法。我使用两种不同的软件来“证明”它。您可能还会仔细阅读此问题,以获取有关投影的一些基本方向。gis.stackexchange.com/questions/2769/...
布拉德Nesom

6
您可以通过仅更改数据框(ArcMap)投影并让已知图层即时重新投影来稍微简化步骤2。
布兰登·科普兰

13
请注意,您不应该投影数据。您应该定义投影。投影数据会更改坐标。定义投影只是将一个投影分配给该数据,并告诉软件该数据已经在哪个投影中。这是ArcMap中的两个不同工具,“定义投影”是您要使用的工具。
肖恩

我更喜欢阅读坐标值,通常可以分辨出它们是十进制度,米还是英尺(难于区分),然后移至最佳系统。如果出现小数,则从WGS 84开始;如果以米为单位,则从UTM开始;如果以英尺为单位,则从状态平面开始。我曾经有一个人无法修复的(用于重力异常)。这是美国国家飞机,千米的线性单位。从事实可以看出,我拥有正确的系统,但状态很小,啊千米是线性单位。
如果您不知道-GIS

33

我通过添加使用他们的技术的答案来促进Mapperz和Brandon Copeland的评论。

  1. 如果您拥有ArcGIS Desktop,请将一些覆盖相同区域的参考数据添加到ArcMap。该参考数据必须具有有效的坐标系(投影)定义。
  2. 将数据添加到未知坐标系中。
  3. 研究在此领域使用了哪些可能的坐标系。检查的地方之一是EPSG注册中心
  4. 将数据框的坐标系设置为可能。如果带有已知坐标的数据与不带有已知坐标的数据对齐,则您可能已经确定了坐标系。

该技术利用了ArcMap可以将数据转换为内存中新坐标系这一事实。没有已知coordsys的数据无法转换,因此只能显示。通过将已知数据投影到内存中,我们可以快速查看其在各种可能的坐标系中的坐标。


4
旁注:在QGIS中,内存中的重新投影称为“即时”。
昏暗

3
在ArcGIS中也称为“即时”!我一直在找很多人,尽管他们不理解这个短语,所以我一直在尝试使用“内存中”。
mkennedy 2011年

此链接仍然有效吗?似乎比我记得的要复杂得多,但是有这个epsg-registry.org
GISKid,

1
@GISKid你是对的。我认为在撰写此答案时,epsg-registry.org网站的日期为后。我会更新。
mkennedy

1
另一个很棒的资源:epsg.io
GISKid

29

由于这个问题永远不会变老,因此我建立了一个执行蛮力方法站点。如果将压缩的shp + shx拖到地图上,它将在PostGIS中可用的每个坐标系中进行映射。假设您知道“正确”的外观,则可以缩放到该区域并单击多边形以从epsg.io获取.prj文件。


15
优秀的想法,但我觉得这网站是不是真正的工作
法比奥·迪亚斯


22

在上一份工作中,我有一层名为“ FSU_Geol.shp”的地质数据(多边形)。我的老板把它给我,并要求我找出一些事情。首先,客户端将他交给了这个shapefile,并且没有.prj文件,所以他希望我自己弄清楚。他还希望我弄清楚什么是地质学。我可以继续前进,但是随它去吧……。我用谷歌搜索了,最后到了这里

命名约定中的首字母缩写词代表“前苏联的地表地质”,而Google搜索将我“直接”引到了来历(USGS)。我可能需要了解的有关shapefile的所有信息都位于我点击的顶部链接。我并不是说Google可以找到任何东西,但我刚大学毕业,只是“暗中摸索”,然后看看我得到的反馈!

在另一种情况下,办公室中的某人已使用批处理功能下载了许多shapefile。我现在不记得软件包的名称,但是缺少.prj文件。我只是进入ArcCatalog中的元数据,并且实际上在那里找到了答案。同样,不要引用我,但是我认为那里有一个指向源的URL。

从那一天开始,如果元数据中没有任何线索,我会从Google搜索开始!


18

询问制作人。

如果您知道您所在地理区域的通用CRS,则可以尝试其中的一些。但是问好些。


唯一的问题是我不能问他...这也是我的第一个想法。
com

然后,您必须像brenth所说的那样进行暴力破解。
昏暗

18

我真的很喜欢这个网络工具:http : //projfinder.com/。检查您的文件并查找一些坐标。放大到地球上大约相同的位置并进行猜测。


这实际上是我找到的最好的工具。从长远来看,或者如果您不知道应该怎么做,ArcMap中的猜测工作并没有真正有用。不能帮助自制坐标系统并且完全缺乏坐标系统,但是谁可以!
马丁

太糟糕了,它不再起作用-有人知道与谁联系吗?
sventechie


13

对于这个问题,我找到的最佳答案是非技术性的:找出数据的来源。机构和组织倾向于与其使用预测相一致。知道它来自您所在州的DOT吗?查看他们的其余数据,看看它能告诉您什么。不知道它来自哪里?有根据的猜测很可能使您走上正确的道路。

至少这使得用蛮力解决问题变得更加可行!


11

此时严重过时,但是Werner Flacke和Birgit Klaus 于2007年在ArcScripts上发布了Find Projection。不幸的是,我认为源代码不存在。它基于VBA,因此仅可在ArcGIS Desktop v9.2和9.3中使用。它的确包含两个shapefile,它们具有EPSG大地测量参数数据集所关注的区域,可用于缩小可能性。

Blue Marble Geographic Calculator和Geographic Transformer具有坐标系统恢复工具。


感谢小费Melita。代码在那里(* .frm)。该许可证是公共领域。PrjFinder是《在ArcGIS中处理投影和基准转换》一书的配套书(2006)。
马特·威尔基2011年

4

尝试使用GDAL随附的ogrinfo程序

请参阅如何使用OGR访问Shapefile元数据?

因此,如果没有.prj文件,ogrinfo可能不会为您提供投影信息,但是它仍然是帮助您调查潜在投影列表的有用工具。

例如:

Geometry: Polygon
Feature Count: 269 
Extent: (320000.000000, 505000.000000) - (323000.000000, 511000.000000) 

该响应向我表明shapefile正在使用基于米而非度的参考系统。

假设您知道数据的大致来源,那么现在可以得到的投影比较短。

其他最佳做法可能是:

  • 首先询问那些为您提供数据的人,即使他们不确切地知道应该首先列出哪些可能的预测。
  • 查看是否有任何关联的元数据。

最好从一些已知的位置开始,而不是从头开始尝试蛮力。


1
这不能回答所提出的问题。
Dan C

1
如果没有prj文件,那么hen ogrinfo将不返回任何坐标系统信息结果。
Devdatta Tengshe 2014年

4

要添加到本文中的其他响应中,我将添加以下内容:

如何:使用ArcMap识别未知的投影坐标系

提供有关NAD1927的特定检查

如果坐标以十进制度为单位,例如在-180和+180之间,在-90和+90之间,则标识用于数据的地理坐标系(基准)。在9.2版之前,默认情况下,ArcMap将GCS_Assumed_Geographic_1分配给数据。这会将数据放置在NAD_1927基准面上

此外

如果数据在美国,并且显示小数点左边的坐标是6、7或8位数字的程度,则该数据可能会投影到州平面或UTM坐标系。

常见问题解答:投影基础知识:GIS专业人员需要了解的内容

该页面提供了一些确定投影的检查,这对协助识别未知坐标系非常重要。

以下概念是理解ArcGIS中地图投影用法的基础。请注意,尽管预测的主题非常广泛,但本文仅涉及几个重要主题。

  1. 坐标系,也称为地图投影,是对空间数据的任意指定。它们的目的是为地球表面上特定位置或区域的交流提供通用基础。处理地图投影时,最关键的问题是知道投影是什么,并具有与数据集关联的正确坐标系信息。

  2. 在设计第一个地图投影时,错误地认为地球是平坦的。后来对假设进行了修改,并且假设地球是一个完美的球体。在18世纪,人们开始意识到地球并不是完美的圆形。这是制图球体概念的开始。

  3. 为了更准确地表示地球表面的位置,地图制作者研究了地球的形状(大地),并提出了椭球的概念。然后设计了地理坐标系(GCS),其中包括一个基准,度量单位和一个本初子午线。基准将椭球体连接到地球表面的特定部分。最近的基准面被设计为非常适合整个地球的表面。

  4. 北美最常用的基准是:

•使用Clarke 1866椭球的NAD 1927(北美基准1927)
•使用GRS 1980椭球的NAD 1983(北美基准1983)
•使用WGS 1984椭球的WGS 1984(世界大地测量1984)

较新的椭球体是根据卫星测量结果开发的,比Clarke在1866年开发的椭球体更精确。术语“地理坐标系”和“基准”可互换使用,但是如上所述,GCS包括基准,椭球体,度量单位和本初子午线。

  1. 即使数据坐标使用相同的地图投影和参数,数据坐标也会根据这些坐标所基于的基准和椭球体而变化。

例如,下面的地理坐标是使用3种不同基准的华盛顿贝灵汉市内单个点的:

代码:DATUM X坐标Y坐标NAD_1927 -122.466903686523 48.7440490722656 NAD_1983 -122.46818353793 48.7438798543649 WGS_1984 -122.46818353793 48.7438798534299

  1. 良好的数据管理原则是从提供数据的数据源中获取投影参数。不要对数据的投影进行有根据的猜测,因为会导致不正确的GIS数据库。必要的参数如下:

•投影
•度量单位
•ZONE(对于UTM)
•FIPS区域(对于国家平面)
•基准

根据投影,可能需要其他参数。例如,Albers和Lambert投影需要以下参数:

•第一标准平行度,以度,分钟和秒(DMS)为单位
•第二标准平行度(DMS)
•中央子午线(DMS)
•投影原点的纬度(DMS)
•虚假的东距和度量单位
•虚假的北距和度量单位
• X位移和度量单位
•Y位移和度量单位


如果我有一个仅显示未知坐标系但无法为其分配任何内容的网格层,该怎么办?谢谢。
AndrewLebron

2

在我处理项目(DEM)时遇到了同样的问题。DEM之一是未知坐标,无法投影,因此我利用ArcMap中的地理配准工具进行了“地理配准” 。地理配准后,您将获得prj.file。


0

看这个网站:

http://www.egger-gis.at/shapefile-projectionfinder/

我是这个免费工具的开发商。也许此工具可以帮助您找到并定义shapefile的正确投影。它基于Aaron Racicot 的http://projfinder.com/的思想。

您也可以尝试以下特殊解决方案:

奥地利(德国):https//www.data.gv.at/anwendungen/checkaustrianprojection/

澳大利亚:https//maegger.github.io/map_australia.html

UTM-区域:https//maegger.github.io/map_utm.html


0

您可以区分地理坐标和制图坐标,第一个纬度/经度以度为单位,第二个北纬度/东以度为单位。 ..


0

您可以通过Fiona做到。

    import fiona as f
    a = fiona.open("C:\QGIS_ShapeFile\qgis\shafile_XXX.shp")
    print(a.crs)

您将得到答案

    {'init': 'epsg:4326'}

您确定没有.prj文件也可以使用吗?Fiona怎么知道?
JR

没有.prj文件,它将无法正常工作
Sandip Nepal
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.