Что такое SRID шейп-файлов census.gov?


9

Я скачал файлы округа из:

http://www.census.gov/cgi-bin/geo/shapefiles2011/main

Я не могу понять, какой SRID использовать с ними. Когда я пытаюсь сгенерировать файл класса ./manage.py ogrinspect ..., я получаю SRID -1в поле многоугольника. Я не думаю, что это правильно.

GDAL дал мне Proj4 о +proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs.

Я знаю, что SRID -1 означает неизвестно. Разве это не сделает мою геометрию бесполезной? Как я могу выяснить, какой SRID использовать?

Я действительно новичок в ГИС. Я уже скучаю по тем дням, когда Земля была плоской.

Это также может быть полезно:

SELECT PostGIS_full_version();
                                         postgis_full_version                                          
-------------------------------------------------------------------------------------------------------
 POSTGIS="1.5.3" GEOS="3.2.2-CAPI-1.6.2" PROJ="Rel. 4.7.1, 23 September 2009" LIBXML="2.7.8" USE_STATS
(1 row)

>>> import django
>>> django.VERSION
(1, 4, 0, 'final', 0)

Ответы:


18

Первый шаг к определению правильной проекции любого слоя - это найти информацию о проекции, если она есть, которая пришла с вашим слоем. В случае Shapefile, как то, что вы скачали с Census.gov , эта информация содержится в .prjфайле, сокращенно от Projection.

Вот содержимое файла проекции из данных переписи:

GEOGCS [ "GCS_North_American_1983", DATUM [ "D_North_American_1983", сфероид [ "GRS_1980", 6378137,298.257222101]], PRIMEM [ "Гринвич", 0], БЛОК [ "Степень", 0,017453292519943295]]

Основные части этого являются первые слова GEOGCS средства Geographic Coordinate System, струнный Datum : D_North_American_1983, сфероида : GRS_1980, и последняя часть БЛОКА : Degree.

Они легко соответствуют полученному вами определению Proj4 :+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs

Вы можете видеть, что датум и эллипсоид совпадают с датумом и сфериодом в ".prj". В longlatсредстве Longitude/Latitude, которое измеряется в единицах из Degrees, который соответствует файлу «.prj».

Здесь нет «никаких определений», потому что для идентификации географической системы координат не требуется никакой дополнительной информации.

Сайт для поиска пространственных ссылок: SpatialReference.org

С географической системой координат в NAD 83 сложно придумать напрямую, потому что она является частью многих других прогнозов.

Чтобы было проще, вам нужен EPSG 4269 .

Эта ссылка представляет информацию о пространственной привязке в различных форматах. Специально для PostGIS :

ВСТАВЬТЕ в значения values_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) (94269, 'epsg', 4269, '+ proj = longlat + ellps = GRS80 + datum = NAD83 + no_defs', 'GEOGCS ["NAD83", DUM "North_American_Datum_1983", SPHEROID ["GRS 1980", 6378137,298.257222101, AUTHORITY ["EPSG", "7019"]]], AUTHORITY ["EPSG", "6269"]], PRIMEM ["Гринвич", 0, AUTHORITY [" EPSG», "8901"]], блок [ "степень", +0,01745329251994328, ДНУ [ "EPSG", "9122"]], ДНУ [ "EPSG", "4269"]] ');

Чтобы ответить на ваш последний вопрос относительно SRID = -1, я думаю, что важно проверить ваши данные, прежде чем вы сочтете их бесполезными. Попробуйте использовать его в некотором программном обеспечении ГИС, таком как QGIS или ArcGIS . Посмотрите на координаты, которые отображаются при перемещении курсора. Если вы видите знакомые диапазоны чисел, такие как y = 0 - +90 и x = -180 - +180, вы должны распознать их как Широта / Долгота. Начало распознавания диапазонов координат, которые встречаются в общих проекциях и системах координат в вашем регионе, очень поможет вам по мере продвижения вперед в вашей карьере.

Если вам интересно узнать больше о проекциях и системах координат, это фантастический справочник: Рабочее руководство ( PDF ) - Джон П. Снайдер


Я понял, что, возможно, я задал неправильный вопрос. Я попросил рыбу, когда я должен был спросить, как ловить рыбу. Если я ищу «GRS80 NAD83» на SpatialReference.org , я получаю один результат, который выглядит некорректно. --- Ссылка, которую вы дали для EPSG 4269, имеет отображение карты OpenLayers с ограничительной рамкой для большей части Азии и Северной Африки. Это правильно или даже важно?
kzh

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

Степень немного по какой-то причине - с чего бы это? Пространственный_референц.орг имеет более точный список здесь: пространственный_референц.орг/ref/sr-org/6867 , которого в моей spatial_ref_sysтаблице нет как srid .
Захари Шуесслер

@GetSpatial - Почему вы использовали 94269 в качестве SRID вместо 4269? (поскольку 4269 является идентификатором EPSG для NAD 83)
Нойберт

1
@GetSpatial - От мистера Батлера на сайтеrerereference.org «все идентификаторы postgis имеют префикс 9, чтобы они не сталкивались с существующими идентификаторами postgis».
kttii

1

@Get Spatial прав, и это не могло быть лучшим ответом на этот вопрос. в дополнение к нему вы можете проверить пространственный_реф, прежде чем добавлять любую пространственную привязку.

SELECT * FROM
       spatial_ref_sys WHERE auth_srid = 4269;

вероятно, вы возьмете что-то вроде этого:

SRID  | AUTH_NAME  | AUTH_SRID  | SRTEXT
------+------------+------------+-------
4269  |   EPSG     |   1624     | <big SRTEXT string>

SRTEXT = GEOGCS["NAD83",DATUM["North_American_Datum_1983",SPHEROID["GRS 
         1980",6378137,298.257222101,AUTHORITY["EPSG","7019"]],AUTHORITY["EPSG","6269"]],
         PRIMEM["Greenwich",0,AUTHORITY["EPSG","8901"]],UNIT["degree",0.01745329251994328,
         AUTHORITY["EPSG","9122"]],AUTHORITY["EPSG","4269"]]

PROJ4TEXT = +proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs

Spatial_ref_sys - это просто таблица известных систем координат с ключом их SRID. Вы можете получить больше информации здесь ...

  • srid: числовой SRID. Это должен быть первичный ключ таблицы.
  • auth_name: имя органа в виде строки. Это устанавливается, если эта система координат указана внешним органом, таким как EPSG.
  • auth_srid: числовой идентификатор системы координат в каталоге вышеуказанного органа.
  • srtext: Хорошо известное текстовое (WKT) представление системы координат (как мы описали в части 4).
  • proj4text: представление системы координат Proj4.

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

shp2pgsql -c -D -s 4269 -I tl_2011_02_anrc.shp myschema.mytable > mysql.sql
psql -d mydb -f mysql.sql

я надеюсь, что это поможет вам ....

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.