您好我正在尝试从
导入形状文件http://www.nyc.gov/html/dcp/html/bytes/bytesarchive.shtml
进入postgis数据库。当我使用shp2pgsql导入时,上面的文件会创建MULTIPOLYGONS。
然后我试图简单地确定我的多面体中是否包含纬度/经度值
然而我的选择不起作用,当我打印出the_geom列的poitns时,它似乎非常破碎。
select st_astext(geom) from (select (st_dumppoints(the_geom)).* from nybb where borocode =1) foo;
给出结果......
st_astext
------------------------------------------
POINT(1007193.83859999 257820.786899999)
POINT(1007209.40620001 257829.435100004)
POINT(1007244.8654 257833.326199993)
POINT(1007283.3496 257839.812399998)
POINT(1007299.3502 257851.488900006)
POINT(1007320.1081 257869.218500003)
POINT(1007356.64669999 257891.055800006)
POINT(1007385.6197 257901.432999998)
POINT(1007421.94509999 257894.084000006)
POINT(1007516.85959999 257890.406100005)
POINT(1007582.59110001 257884.7861)
POINT(1007639.02150001 257877.217199996)
POINT(1007701.29170001 257872.893099993)
...
对于纽约的积分,这非常关闭..我做错了什么?
答案 0 :(得分:4)
要点不是。引用的空间数据不是纬度/经度。这就是数字与您的期望不同的原因。如果你需要它在long / lat中,它必须重新投影。点击此处:http://postgis.refractions.net/news/20020108/
数据的投影似乎在NAD_1983_StatePlane_New_York_Long_Island_FIPS_3104_Feet坐标系中(根据元数据 - 参见代码)。
<spref>
<horizsys>
<planar>
<planci>
<plance Sync="TRUE">coordinate pair</plance>
<coordrep>
<absres Sync="TRUE">0.000000</absres>
<ordres Sync="TRUE">0.000000</ordres>
</coordrep>
<plandu Sync="TRUE">survey feet</plandu>
</planci>
<mapproj><mapprojn Sync="TRUE">Lambert Conformal Conic</mapprojn><lambertc><stdparll Sync="TRUE">40.666667</stdparll><stdparll Sync="TRUE">41.033333</stdparll><longcm Sync="TRUE">-74.000000</longcm><latprjo Sync="TRUE">40.166667</latprjo><feast Sync="TRUE">984250.000000</feast><fnorth Sync="TRUE">0.000000</fnorth></lambertc></mapproj></planar>
<geodetic>
<horizdn Sync="TRUE">North American Datum of 1983</horizdn>
<ellips Sync="TRUE">Geodetic Reference System 80</ellips>
<semiaxis Sync="TRUE">6378137.000000</semiaxis>
<denflat Sync="TRUE">298.257222</denflat>
</geodetic>
<cordsysn>
<geogcsn Sync="TRUE">GCS_North_American_1983</geogcsn>
<projcsn Sync="TRUE">NAD_1983_StatePlane_New_York_Long_Island_FIPS_3104_Feet</projcsn>
</cordsysn>
</horizsys>
</spref>
如果您使用空间数据,我建议您阅读有关map projection的更多信息。
答案 1 :(得分:0)
我认为这不是PostGIS的问题。我用AvisMap Free Viewer检查了输入esri Shape文件nybb.shp
,你看到点本身很奇怪:
然而,nybb.shp.xml
元数据文件中有一些有趣的内容:
<spdom>
<bounding>
<westbc Sync="TRUE">-74.257465</westbc>
<eastbc Sync="TRUE">-73.699450</eastbc>
<northbc Sync="TRUE">40.915808</northbc>
<southbc Sync="TRUE">40.495805</southbc>
</bounding>
<lboundng>
<leftbc Sync="TRUE">913090.770096</leftbc>
<rightbc Sync="TRUE">1067317.219904</rightbc>
<bottombc Sync="TRUE">120053.526313</bottombc>
<topbc Sync="TRUE">272932.050103</topbc>
</lboundng>
</spdom>
我不熟悉这些工具包(ESRI ArcCatalog),但很可能您需要在导入后使用该元数据重新缩放您的点数。