Що таке 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", SPHEROID ["GRS_1980", 6378137,298.257222101]], PRIMEM ["Greenwich", 0], UNIT ["Ступінь", 0,0174532925], 0,0174532925]

Основні частини цього є перші слова 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

Географічну систему координат у НАД 83 важко придумати безпосередньо, оскільки вона є частиною багатьох інших прогнозів.

Щоб зробити це простіше, вам потрібен EPSG 4269 .

Це посилання представляє просторову довідкову інформацію в декількох різних форматах. Спеціально для PostGIS :

ВСТУПИТЬ у просторові_реф_sys (srid, auth_name, auth_srid, proj4text, srtext) значення (94269, 'epsg', 4269, '+ proj = longlat + ellps = GRS80 + дата = NAD83 + no_defs', '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 [" ступінь ", 0,01745329251994328, ВЛАДА [" EPSG "," 9122 "]], AUTHORITY [" EPSG "," 4269 "]] ');

Щоб вирішити ваш останній пункт щодо SRID = -1, я думаю, що важливо перевірити свої дані, перш ніж ви вважаєте, що вони марні. Спробуйте піднести його до деяких програм ГІС, наприклад, QGIS або ArcGIS . Подивіться на координати, які відображаються під час переміщення курсору. Якщо ви бачите знайомі діапазони чисел, наприклад, y = 0 - +90 та x = -180 - +180, слід визнати їх широтою / довготою. Початок розпізнавання діапазонів координат, які зустрічаються у загальних проекціях та системах координат у вашій місцевості, допоможе вам сильно, коли ви рухаєтесь вперед у своїй кар’єрі.

Якщо вам цікаво дізнатися більше про проекції та системи координат, це фантастична довідка: Посібник з роботи ( PDF ) - Джон П. Снайдер


Я зрозумів, що, можливо, я поставив неправильне запитання. Я просив рибу, коли я повинен був запитати, як ловити рибу. Якщо я шукаю 'GRS80 NAD83' на SpatialReference.org , я отримаю один результат, який не виглядає правильним. --- Посилання, яке ви надали для EPSG 4269, має відображення карти OpenLayers із обмежувальним вікном навколо більшої частини Азії та Північної Африки. Це правильно чи навіть суттєво?
кж

@kzh - я, чесно кажучи, не знаю, чому він показує це обмежувальне поле. Це не суттєво. Деталі, що містяться в просторовій посилання, - це те, що рахується, і вони є правильними.
Отримайте просторовий

Ступінь чомусь відхиляється - чому це було б? Тут є більш точний перелік просторової референції : просторовийspatial_ref_sys .
Захарій Шусслер

@GetSpatial - Чому ви використовували 94269 як SRID замість 4269? (оскільки 4269 є ідентифікатором EPSG для NAD 83)
neubert

1
@GetSpatial - Від містера Батлера на просторіреференції.org "усі посвідчення особи ID мають префікс 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.