¿Cuál es el SRID de los archivos de forma census.gov?


9

Descargué los archivos del condado de:

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

No puedo entender qué SRID usar con ellos. Cuando intento generar un archivo de clase ./manage.py ogrinspect ..., obtengo un SRID -1en el campo de polígono. No creo que esto sea correcto.

GDAL me dio el Proj4 de +proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs.

Sé que un SRID de -1 significa desconocido. ¿No haría eso que mis geometrías fueran inútiles? ¿Cómo puedo averiguar qué SRID usar?

Soy realmente nuevo en SIG. Ya extraño los días en que la Tierra era plana.

Esto también puede ser útil:

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)

Respuestas:


18

El primer paso para determinar la proyección correcta de cualquier capa, es encontrar la información de proyección, si la hay, que vino con su capa. En el caso de un Shapefile, como lo que descargó de Census.gov , esa información está contenida en un .prjarchivo, abreviatura de Proyección.

Aquí están los contenidos del archivo de proyección de los datos del censo:

GEOGCS ["GCS_North_American_1983", DATUM ["D_North_American_1983", SPHEROID ["GRS_1980", 6378137,298.257222101]], PRIMEM ["Greenwich", 0], UNIT ["Grado", 0.017453292519943295]]

Los aspectos fundamentales de estos, son las primeras palabras GEOGCS medios Geographic Coordinate System, la cadena DATUM : D_North_American_1983, SPHERIOD : GRS_1980, y la última parte UNIDAD : Degree.

Estos coinciden fácilmente con la definición de Proj4 que recibió:+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs

Puede ver que el dato y el elipsoide coinciden con el dato y el esferoide en el ".prj". El longlatmedio Longitude/Latitude, que se mide en Unidades de Degrees, que coincide con el archivo ".prj".

No hay "defs" porque no se necesita información adicional para identificar el Sistema de coordenadas geográficas.

Un sitio para buscar referencias espaciales es: SpatialReference.org

El sistema de coordenadas geográficas en NAD 83 es ​​difícil de desarrollar directamente, porque es parte de muchas otras proyecciones.

Para hacerlo más fácil, el que necesita es EPSG 4269 .

Este enlace presenta la información de referencia espacial en varios formatos diferentes. El específicamente para PostGIS es:

INSERTE en los valores de spatial_ref_sys (srid, auth_name, auth_srid, proj4text, srtext) (94269, 'epsg', 4269, '+ proj = longlat + ellps = GRS80 + datum = NAD83 + no_defs', 'GEOGCS ["NAD83", DATUM [ "North_American_Datum_1983", ESFEROID ["GRS 1980", 6378137,298.257222101, AUTORIDAD ["EPSG", "7019"]], AUTORIDAD ["EPSG", "6269"]], PRIMEM ["Greenwich", 0, AUTORIDAD [" EPSG "," 8901 "]], UNIDAD [" grado ", 0.01745329251994328, AUTORIDAD [" EPSG "," 9122 "]], AUTORIDAD [" EPSG "," 4269 "]] ');

Para abordar su último punto con respecto al SRID = -1, creo que es importante probar sus datos antes de asumir que son inútiles. Intente abrirlo en algún software SIG, como QGIS o ArcGIS . Mire las coordenadas que se muestran mientras mueve el cursor. Si ve rangos familiares de números, como y = 0 - +90 yx = -180 - +180, debe reconocerlos como Latitud / Longitud. Comenzar a reconocer los rangos de coordenadas que ocurren en las proyecciones comunes y los sistemas de coordenadas en su área lo ayudará mucho a medida que avance en su carrera.

Si está interesado en aprender más sobre proyecciones y sistemas de coordenadas, esta es una referencia fantástica: Un Manual de Trabajo ( PDF ) - John P. Snyder


Me di cuenta de que podría haber hecho la pregunta equivocada. Pedí pescado cuando debería haber preguntado cómo pescar. Si busco 'GRS80 NAD83' en SpatialReference.org , obtengo un resultado que no parece correcto. --- El enlace que proporcionó para EPSG 4269 tiene la visualización del mapa OpenLayers con un cuadro delimitador alrededor de la mayor parte de Asia y África del Norte. ¿Es esto correcto o incluso significativo?
kzh

@kzh - Sinceramente, no sé por qué muestra ese cuadro delimitador. Sin embargo, no es significativo. Los detalles contenidos dentro de la referencia espacial son los que cuentan y son correctos.
Consigue espacial

El grado está ligeramente apagado por alguna razón, ¿por qué sería eso? spatialreference.org tiene una lista más precisa aquí: spatialreference.org/ref/sr-org/6867 , que no existe como una cuadrícula en mi spatial_ref_systabla.
Zachary Schuessler

@GetSpatial: ¿Por qué usó 94269 como SRID en lugar de 4269? (ya que 4269 es el identificador EPSG para NAD 83)
neubert

1
@GetSpatial: del Sr. Butler en spatialreference.org "todas las ID de postgis tienen el prefijo 9 para garantizar que no colisionen con las ID de postgis existentes".
kttii

1

@ Get Spatial tiene razón y no podría haber sido una mejor respuesta a esta pregunta. Además de él, puede consultar spatial_ref_sys antes de agregar cualquier referencia espacial.

SELECT * FROM
       spatial_ref_sys WHERE auth_srid = 4269;

probablemente tomarás algo así:

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 es simplemente una tabla de sistemas de coordenadas conocidos codificados por su SRID. puede obtener más información aquí ...

  • srid: el SRID numérico. Esta debería ser la clave principal de la tabla.
  • auth_name: un nombre de autoridad como una cadena. Esto se establece si este sistema de coordenadas está especificado por una autoridad externa como EPSG.
  • auth_srid: la identificación numérica del sistema de coordenadas en el catálogo de la autoridad anterior.
  • srtext: La representación de texto conocido (WKT) del sistema de coordenadas (como describimos en la parte 4).
  • proj4text: La representación de Proj4 del sistema de coordenadas.

y lo último es que para cargarlo en la base de datos use este comando:

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

Espero que te ayude....

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.