Quel est le SRID des fichiers de formes Census.gov?


9

J'ai téléchargé les fichiers du comté à partir de:

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

Je ne peux pas comprendre quel SRID utiliser avec eux. Lorsque j'essaie de générer un fichier de classe à partir de ./manage.py ogrinspect ..., j'obtiens un SRID de -1dans le champ polygone. Je ne pense pas que ce soit juste.

GDAL m'a donné le Proj4 de +proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs.

Je sais qu'un SRID de -1 signifie inconnu. Cela ne rendrait-il pas mes géométries inutiles? Comment savoir quel SRID utiliser?

Je suis vraiment nouveau au SIG. Les jours où la Terre était plate me manquent déjà.

Cela peut également être utile:

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)

Réponses:


18

La première étape pour déterminer la projection correcte de n'importe quel calque consiste à trouver les informations de projection, le cas échéant, fournies avec votre calque. Dans le cas d'un Shapefile, comme ce que vous avez téléchargé à partir de Census.gov , cette information est contenue dans un .prjfichier, abréviation de Projection.

Voici le contenu du fichier de projection des données du recensement:

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

Les éléments clés de ce sont les premiers mots GEOGCS moyens Geographic Coordinate System, la chaîne DATUM : D_North_American_1983, SPHERIOD : GRS_1980, et la dernière partie UNITÉ : Degree.

Ceux-ci correspondent facilement à la définition Proj4 que vous avez reçue:+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs

Vous pouvez voir que le datum et l'ellipsoïde correspondent au datum et à la période dans le ".prj". Les longlatmoyens Longitude/Latitude, qui est mesuré en unités de Degrees, qui correspond au fichier « .prj ».

Il n'y a "aucune définition" car aucune information supplémentaire n'est nécessaire pour identifier le système de coordonnées géographiques.

Un site pour rechercher des références spatiales est: SpatialReference.org

Le système de coordonnées géographiques dans NAD 83 est difficile à trouver directement, car il fait partie de nombreuses autres projections.

Pour le rendre plus facile, celui dont vous avez besoin est EPSG 4269 .

Ce lien présente les informations de référence spatiale dans un certain nombre de formats différents. Celui spécifiquement pour PostGIS est:

INSÉRER dans les valeurs 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", SPHEROID ["GRS 1980", 6378137,298.257222101, AUTHORITY ["EPSG", "7019"]], AUTHORITY ["EPSG", "6269"]], PRIMEM ["Greenwich", 0, AUTHORITY [" EPSG "," 8901 "]], UNITÉ [" degré ", 0,01745329251994328, AUTORITÉ [" EPSG "," 9122 "]], AUTORITÉ [" EPSG "," 4269 "]] ');

Pour répondre à votre dernier point concernant le SRID = -1, je pense qu'il est important de tester vos données avant de supposer qu'elles sont inutiles. Essayez de le faire apparaître dans certains logiciels SIG, comme QGIS ou ArcGIS . Regardez les coordonnées qui s'affichent lorsque vous déplacez le curseur. Si vous voyez des plages de nombres familières, comme y = 0 - +90 et x = -180 - +180, vous devez les reconnaître comme Latitude / Longitude. Commencer à reconnaître les plages de coordonnées qui se produisent dans les projections et les systèmes de coordonnées communs dans votre région vous aidera grandement à mesure que vous avancerez dans votre carrière.

Si vous souhaitez en savoir plus sur les projections et les systèmes de coordonnées, voici une référence fantastique: un manuel de travail ( PDF ) - John P. Snyder


J'ai réalisé que j'avais peut-être posé la mauvaise question. J'ai demandé du poisson alors que j'aurais dû demander comment pêcher. Si je recherche «GRS80 NAD83» sur SpatialReference.org , j'obtiens un résultat qui ne semble pas correct. --- Le lien que vous avez donné pour EPSG 4269 a l'affichage de la carte OpenLayers avec un cadre de délimitation autour de la plupart de l'Asie et de l'Afrique du Nord. Est-ce correct ou même significatif?
— kzh

@kzh - Honnêtement, je ne sais pas pourquoi cela montre cette boîte englobante. Ce n'est pas significatif cependant. Les détails contenus dans la référence spatiale comptent et ils sont corrects.
— Obtenez Spatial le

Le diplôme est légèrement inférieur pour une raison quelconque - pourquoi serait-ce? spatialreference.org a une liste plus précise ici: spatialreference.org/ref/sr-org/6867 , qui n'existe pas en tant que srid dans ma spatial_ref_systable.
— Zachary Schuessler

@GetSpatial - Pourquoi avez-vous utilisé 94269 comme SRID au lieu de 4269? (puisque 4269 est l'identifiant EPSG pour NAD 83)
— neubert

1
@GetSpatial - De M. Butler à spatialreference.org "tous les identifiants postgis sont préfixés par 9 pour garantir qu'ils n'entrent pas en collision avec les identifiants postgis existants."
— kttii

1

@Get Spatial a raison et cela n'aurait pas pu être une meilleure réponse à cette question. en plus de lui, vous pouvez consulter spatial_ref_sys avant d'ajouter une référence spatiale.

SELECT * FROM
       spatial_ref_sys WHERE auth_srid = 4269;

vous prendrez probablement qc comme ceci:

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 est simplement une table de systèmes de coordonnées connus codés par leur SRID. vous pouvez obtenir plus d'informations ici ...

  • srid: le SRID numérique. Cela devrait être la clé primaire de la table.
  • auth_name: un nom d'autorité sous forme de chaîne. Ce paramètre est défini si ce système de coordonnées est spécifié par une autorité externe telle que EPSG.
  • auth_srid: ID numérique du système de coordonnées dans le catalogue de l'autorité ci-dessus.
  • srtext: La représentation bien connue (WKT) du système de coordonnées (comme nous l'avons décrit dans la partie 4).
  • proj4text: représentation Proj4 du système de coordonnées.

et la dernière chose est que pour le charger dans la base de données, utilisez cette commande:

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

J'espère que ça t'aide....

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.