Определение системы координат шейп-файла, когда неизвестно?

Ответы:

49

Всегда есть метод "грубой силы":

  1. Возьмите слой с известной системой координат, который должен перекрывать ваш неизвестный слой.

  2. Теперь сделайте некоторые обоснованные предположения о том, какой проекцией может быть неизвестный слой. (UTM, Plate Carree и т. Д.). Спроецируйте свой известный слой системы координат в каждую проекцию, пока не найдете тот, который максимально соответствует неизвестному слою.

brenth
источник
1
это мой метод тоже. Я использую два разных программного обеспечения, чтобы «доказать» это. Вы могли бы также изучить этот вопрос для некоторых основных указаний относительно прогнозов. gis.stackexchange.com/questions/2769/…
Брэд Несом
6
Вы могли бы немного упростить шаг 2, просто изменив проекцию dataframe (ArcMap) и позволив известному слою перепроектировать на лету.
Брэндон Коупленд
13
Обратите внимание, что вы не должны проецировать данные. Вы должны определить проекцию. Проецирование данных меняет координаты. Определение проекции просто назначает проекцию для этих данных и сообщает программе, в какой проекции уже находятся данные. Это два разных инструмента в ArcMap, «Определить проекцию» - это тот, который вы хотите использовать.
Шон
Я предпочитаю читать значения координат, обычно я могу сказать, являются ли они десятичными градусами, метрами или футами (сложнее различить), а затем перейти к лучшей системе. Начните с WGS 84, если он отображается в десятичном формате, UTM - в метрах, в плоскости - в футах У меня когда-то был один, который никто не мог исправить (для гравитационных аномалий). Это был государственный самолет США с линейной единицей ...... километров. Из того факта, что это было близко, я мог сказать, что у меня была правильная система, но состояние было крошечным, ага, километры были линейной единицей.
Если вы не знаете - просто ГИС
33

Я продвигаю комментарии Mapperz и Brandon Copeland, добавляя ответ, который использует их технику.

  1. Если у вас есть ArcGIS Desktop, добавьте некоторые справочные данные, которые покрывают ту же область, в ArcMap. Эти справочные данные должны иметь правильное определение системы координат (проекции).
  2. Добавить данные в неизвестную систему координат.
  3. Исследуйте, какие возможные системы координат используются в этой области. Одним из мест для проверки является реестр EPSG .
  4. Установите систему координат фрейма данных в соответствии с возможностями. Если данные-с-известными-координатами совпадают с данными-без-известных-координат, вы, вероятно, определили систему координат.

Этот метод использует преимущество того факта, что ArcMap может конвертировать данные в новую систему координат в памяти. Данные-без-известных-координат не могут быть преобразованы, поэтому они просто отображаются. Проецируя известные данные в память, мы можем быстро увидеть, какие у них есть координаты в различных возможных системах координат.

mkennedy
источник
4
Примечание: в QGIS перепроектирование в памяти называется «на лету».
Подземье
3
Это также называется «на лету» в ArcGIS! Я постоянно нахожу много людей, которые не понимают эту фразу, поэтому я пытаюсь использовать вместо этого «в памяти».
Mkennedy
Эта ссылка еще действительна? Кажется, немного более запутанным, чем я помню, однако есть этот epsg-registry.org
GISKid
1
@GISKid Ты прав. Я думаю, что сайт epsg-registry.org опубликовал дату, когда я написал этот ответ. Я обновлю.
mkennedy
1
Еще один замечательный ресурс: epsg.io
GISKid
29

Поскольку этот вопрос никогда не устареет, я создал сайт, который использует метод грубой силы . Если вы перетащите заархивированный shp + shx на карту, он отобразит его в каждой системе координат, доступной в PostGIS. Предполагая, что вы знаете, как выглядит «правильно», вы можете увеличить эту область и нажать на многоугольник, чтобы получить файл .prj из epsg.io.

JMK
источник
15
Выдающаяся идея, но я думаю, что веб-сайт на самом деле не работает
Фабио Диас
22

Есть две замечательные ссылки от Esri, которые подробно расскажут об этом:

Саймон
источник
1
downloads2.esri.com/MappingCenter2007/arcGISResources/more/… - это недавняя публикация в центре ресурсов (раздел картирования), в которой рассматривается процесс, аналогичный предложению
Brenth
22

На моей последней работе у меня был слой геологических данных (полигон) с именем «FSU_Geol.shp». Мой босс дал мне это и попросил выяснить некоторые вещи. Во-первых, клиенту был передан этот шейп-файл, а файла .prj не было, поэтому он хотел, чтобы я это выяснил. Он также хотел, чтобы я выяснил, какие категории геологии. Я мог бы продолжать и продолжать, но давайте перейдем к погоне ... Я гуглил это, и я закончил ЗДЕСЬ .

Аббревиатура в соглашении об именах расшифровывалась как «геология поверхности бывшего Советского Союза», и поиск в Google привел меня «прямо» к источнику (USGS). Все, что мне когда-либо нужно было знать об этом шейп-файле, было в верхней ссылке, которую я нажал. Я не говорю, что Google может найти что-нибудь и все , но я только что закончил университет и просто сделал «выстрел в темноте», и посмотрите на отзывы, которые я получил!

В другом случае кто-то в офисе скачал несколько шейп-файлов, используя пакетную функцию. На данный момент я не помню название программного пакета, но файлы .prj отсутствовали. Я просто вошел в метаданные в ArcCatalog, и я действительно нашел там свой ответ. Опять же, не цитируйте меня, но я думаю, что там был URL-адрес источника.

С того дня я «начинаю» с поиска в Google, если в метаданных нет подсказок!

Дано
источник
18

Спросите у производителя.

Если вы знаете общие CRS для своего географического региона, вы можете попробовать некоторые из них. Но спрашивать лучше.

Подземье
источник
Единственная проблема в том, что я не могу его спросить ... Это была первая мысль, которая у меня возникла.
комм
Тогда вам придется пойти грубой силой, как сказал Брент.
Подземье
18

Я действительно люблю этот веб-инструмент: http://projfinder.com/ . Проверьте свой файл и найдите некоторые координаты. Увеличьте примерно то же место на земном шаре и дайте ему угадать.

johanvdw
источник
На самом деле это лучший инструмент, который я нашел. Guesswork в ArcMap не очень полезен в долгосрочной перспективе или если вы не знаете, что это должно быть. Не могу помочь с доморощенными системами координат и их отсутствием полностью, но кто может!
Мартин
Жаль, что он больше не работает - кто-нибудь знает, к кому обратиться?
Свентечие
16

Не инструмент (я не знаю ни одного существующего, который позволил бы вам сделать это), но посмотрите ответ @ mkennedy на Как я могу преобразовать эту точку в WKID 4326? , Она объясняет, как она пришла к правильной пространственной привязке. SpatialReference.org и терпение будут вашими друзьями.

Кроме того, Esri предоставляет руководство о том, как угадать систему координат (хотя я предпочитаю метод mkennedy, если вы знаете немного больше о данных).

Саша Иветик
источник
13

Лучший ответ, который я нашел на этот вопрос, не является техническим: выясните, откуда пришли ваши данные. Агентства и организации, как правило, согласуются с использованием прогнозов. Знаете, это пришло из вашего штата DOT? Посмотрите на остальные их данные и посмотрите, что они вам говорят. Не знаете, откуда это? Обоснованное предположение, скорее всего, отправит вас по правильному пути.

По крайней мере, это делает решение проблемы грубой силой немного более выполнимым!

Джейсон Бейкер
источник
11

На данный момент серьезно устарел, но Вернер Флэйк и Биргит Клаус опубликовали Find Projection на ArcScripts в 2007 году. К сожалению, я не думаю, что там есть исходный код. Он основан на VBA, поэтому его можно использовать только в ArcGIS Desktop v9.2 и, возможно, 9.3. Он включает в себя два шейп-файла с интересующими областями из набора данных геодезических параметров EPSG, которые можно использовать для сужения возможностей.

Blue Marble Geographic Calculator и Geographic Transformer имеют инструменты восстановления системы координат.

mkennedy
источник
Спасибо за отзыв Мелита. Код там (* .frm). Лицензия является общественным достоянием. PrjFinder является дополнением к книге «Работа с проекциями и преобразованиями данных в ArcGIS» (2006).
Мэтт Вилки
4

Попробуйте программу ogrinfo, поставляемую как часть GDAL.

См. Как получить доступ к метаданным Shapefile с помощью OGR?

Таким образом, ogrinfo может не предоставить вам информацию о проекции без файла .prj, но это все еще полезный инструмент, который поможет вам изучить список возможных проекций.

Например:

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

Этот ответ подсказывает мне, что шейп-файл использует систему отсчета, основанную на метрах, а не на градусах.

Предполагая, что вы знаете, откуда примерно данные, у вас теперь есть более короткий список возможных прогнозов.

Другие лучшие практики могут быть следующими:

  • Спросите людей, которые сначала предоставили вам данные, даже если они точно не знают, у них должен быть список возможных прогнозов, которые можно было бы рассмотреть в первую очередь.
  • Посмотрите, есть ли какие-либо связанные метаданные.

Вероятно, лучше начать с какой-то известной позиции, чем пытаться использовать грубую силу с нуля.

NMTOKEN
источник
1
Это не отвечает на вопрос, который был задан.
Дан С
1
Если нет файла prj, hen ogrinfo не вернет результатов для информации о системе координат.
Девдатта Тенгше
4

Чтобы добавить к другим ответам в этом посте, я бы добавил следующее:

Как: определить неизвестную проецируемую систему координат с помощью ArcMap

Предоставить конкретную проверку на NAD1927

Если координаты указаны в десятичных градусах, например, между долготой от -180 до +180 и широтой от -90 до +90, укажите географическую систему координат (данные), используемую для данных. До версии 9.2 ArcMap по умолчанию назначает данные GCS_Assumed_Geographic_1. Это помещает данные в базу данных NAD_1927.

К тому же

Если данные находятся в Соединенных Штатах и ​​показывают степень, в которой координаты слева от десятичного знака составляют 6, 7 или 8 цифр, данные, вероятно, проецируются в системы координат плоскости штата или UTM.

FAQ: Основы проектирования: что нужно знать специалисту по ГИС

Эта страница содержит несколько проверок при определении проекций, что важно при попытке определить неизвестную систему координат.

Следующие понятия являются основополагающими для понимания использования картографических проекций в ArcGIS. Обратите внимание, что тема прогнозов чрезвычайно широка, и эта статья может касаться лишь нескольких важных тем.

  1. Системы координат, также известные как картографические проекции, являются произвольными обозначениями для пространственных данных. Их цель состоит в том, чтобы обеспечить общую основу для общения о конкретном месте или области на поверхности земли. Наиболее важной проблемой при работе с проекциями карты является знание, что такое проекция, и наличие правильной информации о системе координат, связанной с набором данных.

  2. Когда были разработаны первые картографические проекции, ошибочно предполагалось, что Земля плоская. Позже это предположение было пересмотрено, и земля считалась совершенной сферой. В 18 веке люди начали понимать, что земля не была идеально круглой. Это было началом концепции картографического сфероида.

  3. Чтобы более точно представить местоположения на земной поверхности, создатели карт изучили форму Земли (геодезия) и создали концепцию сфероида. Затем были разработаны географические системы координат (GCS), которые включают в себя данные, единицы измерения и простой меридиан. Данные привязывают сфероид к определенной части земной поверхности. Последние данные разработаны так, чтобы хорошо соответствовать всей поверхности Земли.

  4. Наиболее часто используемые датумы в Северной Америке:

• NAD 1927 (Североамериканское датум 1927) с использованием сфероида Clarke 1866
• NAD 1983 (Североамериканский датум 1983) с использованием сфероида GRS 1980
• WGS 1984 (World Geodetic Survey 1984) с использованием сфероида WGS 1984

Более новые сфероиды разработаны на основе спутниковых измерений и являются более точными, чем те, которые были разработаны Кларком в 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. Принцип хорошего управления данными заключается в получении параметров проекции из источника данных, предоставляющего данные. Не делайте обоснованного предположения о проекции данных, потому что результатом будет неточная база данных ГИС. Необходимые параметры следующие:

• Проекция
• Единицы измерения
• ЗОНА (для UTM)
• Зона FIPS (для плоскости штата)
• Базовая точка

В зависимости от проекции могут потребоваться другие параметры. Например, проекции Альберса и Ламберта требуют следующих параметров:

• 1-я стандартная параллель, в градусах, минутах и ​​секундах (DMS)
• 2-я стандартная параллель (DMS)
• Центральный меридиан (DMS)
• Широта начала проекций (DMS)
• Ложное восточное направление и единицы измерения
• Ложное северное направление и единицы измерения
• Сдвиг по оси X и единицы измерения
• Сдвиг по оси Y и единицы измерения

whyzar
источник
Что мне делать, если у меня есть слой сетки, который просто показывает неизвестную систему координат, и я не могу ничего ему назначить? Благодарю.
AndrewLebron
2

У меня была такая же проблема, когда я работал над своим проектом (DEMs). Одна из ЦМР имела неизвестные координаты и не может быть спроецирована, поэтому я сделал «географическую привязку» с использованием инструмента « Географическая привязка» в ArcMap . После геопривязки вы получите свой prj.file.

NDR
источник
0

Посмотрите на этот сайт:

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

Я разработчик этого бесплатного инструмента. Возможно, этот инструмент поможет вам найти и определить правильную проекцию вашего шейп-файла. Это основано на идее 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

Вы можете различать географическую и картографическую координаты, первые широты / долготы в градусах, а север-восток - в метрах. Если файл имеет форму, вы можете вывести координаты геометрии с помощью shapelib-1.3.0 и посмотреть значения. ..

Натана
источник
0

Ты можешь сделать это с Фионой.

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

Вы получите ответ как

    {'init': 'epsg:4326'}
Сандип Непал
источник
Вы уверены, что это будет работать без файла .prj? как Фиона узнает?
JR
Нет без файла .prj, он не будет работать
Sandip Непал