census.gov shapefile的SRID是什么?


9

我从以下位置下载县文件:

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

我不知道要与它们一起使用什么SRID。当我尝试从中生成类文件时./manage.py ogrinspect ...,我-1在多边形字段中获得了SRID 。我认为这是不对的。

GDAL给我的Proj4+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs

我知道SRID -1表示未知。那会不会使我的几何形状失效?如何确定要使用的SRID?

我真的是GIS新手。我已经想念地球平坦的日子了。

这也可能有用:

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)

Answers:


18

确定任何图层的正确投影的第一步是查找图层附带的投影信息(如果有)。对于a Shapefile(例如从Census.gov下载的.prj文件),该信息包含在文件中,即Projection的缩写。

以下是普查数据中投影文件的内容:

GEOGCS [“ GCS_North_American_1983”,DATUM [“ D_North_American_1983”,SPHEROID [“ GRS_1980”,6378137,298.257222101]],PRIMEM [“格林威治”,0],UNIT [“学位”,0.017453292519943295]]

这样做的关键部件,是第一个字GEOGCS手段Geographic Coordinate System,串DATUMD_North_American_1983SPHERIODGRS_1980和最后一部分单位Degree

这些很容易与您收到的Proj4定义相匹配:+proj=longlat +ellps=GRS80 +datum=NAD83 +no_defs

您可以在“ .prj”中看到基准和椭球与基准和球体匹配。的longlat装置Longitude/Latitude,这是在测量单元Degrees,其中的“.PRJ”文件相匹配。

由于没有其他必要信息来标识地理坐标系,因此没有“ defs”。

一个搜索空间参考的站点是: SpatialReference.org

NAD 83中的地理坐标系很难直接提出,因为它是许多其他预测的一部分。

为了使它更容易,您需要的是EPSG 4269

该链接以多种不同格式显示空间参考信息。专门用于PostGIS的是:

插入space_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 [“格林威治”,0,AUTHORITY [“ EPSG“,” 8901“]],UNIT [”学位“,0.01745329251994328,AUTHORITY [” EPSG“,” 9122“]],AUTHORITY [” EPSG“,” 4269“]]'');

为了解决关于SRID = -1的最后一点,我认为在假定数据无用之前测试数据很重要。尝试在某些GIS软件(例如QGISArcGIS)中启用它。查看在移动光标时显示的坐标。如果您看到熟悉的数字范围,例如y = 0 – +90和x = -180 – +180,则应将其识别为纬度/经度。开始认识您所在地区常见的投影和坐标系中出现的坐标范围将对您的职业发展有很大帮助。

如果您想了解有关投影和坐标系的更多信息,那么这是一个很棒的参考:工作手册(PDF)-John P. Snyder


我确实意识到,我可能提出了错误的问题。当我应该问如何钓鱼时,我问了鱼。如果在SpatialReference.org上搜索“ GRS80 NAD83”,则会得到一个看起来不正确的结果。---您为EPSG 4269提供的链接具有OpenLayers地图显示,其中带有围绕亚洲和北非大部分地区的边界框。这是正确的还是重要的?
kzh 2012年

@kzh-老实说,我不知道为什么它显示了那个边界框。虽然不重要。空间参考中包含的细节是正确的,它们是正确的。
获得空间

由于某种原因,学位略有下降-为什么会这样?spacereference.org在这里有一个更准确的清单:spatialreference.org/ref/sr-org/6867,在我的spatial_ref_sys表格中不存在。
Zachary Schuessler 2013年

@GetSpatial-为什么使用94269作为SRID而不是4269?(因为4269是NAD 83的EPSG标识符)
neubert '16

1
@GetSpatial-来自spatialreference.org的Butler先生:“所有Postgis ID均以9为前缀,以确保它们不与现有Postgis ID冲突。”
kttii '16

1

@Get Spatial是正确的,它对于这个问题没有更好的答案。除了他以外,您还可以在添加任何空间参考之前签出space_ref_sys。

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:上述权限目录中坐标系的数字ID。
  • 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

我希望它能对您有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.