我正在使用GeoDjango和Postgis,并在4326到24877之间进行转换,当我检查结果时,它是不一样的
我的价值观是:
Latitude -16.42238172128686
Longitude -71.47541752550751
将long lat用作x,y coord
In [63]: pnt = Point(-71.47541752550751, -16.42238172128686, srid=4326)
In [64]: pnt.transform(CoordTransform(SpatialReference(4326), SpatialReference(24877)))
In [65]: pnt.x, pnt.y, pnt.srid
Out[65]: (1521142.247877425, 8160547.8770980425, 24877)
反
In [66]: pnt = Point( 1521142.247877425,8160547.8770980425, srid=24877 )
In [67]: pnt.transform(CoordTransform(SpatialReference(24877), SpatialReference(4326)))
In [68]: pnt.x, pnt.y, pnt.srid
Out[68]: (-71.47541753138003, -16.42238165040434, 4326)
Postgres上的SQL
SELECT ST_AsText(ST_Transform(ST_SetSRID(ST_MakePoint(-71.47541752550751, -16.42238172128686), 4326),24877))
POINT(1520903.86571082 8160169.90886929)
从postgis结果中获取数据
In [69]: pgs = Point(1520903.86571082, 8160169.90886929, srid=24877)
In [70]: pgs.transform(CoordTransform(SpatialReference(24877), SpatialReference(4326)))
In [71]: pgs.x, pnt.y, pgs.srid
Out[71]: (-71.47745375612124, -16.42238165040434, 4326)
正如您所看到的,geodjango和postgres之间存在差异,至少300米,这意味着不同的地方
在阅读并询问一些论坛和聊天后,我发现这与预定有关,我在互联网上询问更多关于它的问题,作为这个主题的新手,这是有些听到的。
我正在寻找能够为我提供足够知识的信息,例如:
答案 0 :(得分:3)
如果查看http://spatialreference.org/ref/epsg/24877/,您可以看到EPSG 24877仅在-84.0000,-10.4000,-78.0000,0.0000之间有效,并且您尝试转换的点超出了该范围(-71.475 isn' -84,-78和-16.422之间的t不在-10.4,0之内
第二个问题可能是从WGS84到PSAD56的转换。那里有一个网格转移。除非你有一些已经在PSAD56中的数据,否则我建议使用WGS 84 / UTM 19S(EPSG:32719),其界限为-72.0000,-80.0000,-66.0000,0.0000。
如果您绝对需要PSAD56,PSAD56 / UTM 19S区(EPSG:24879)可能会有更多运气,但仍可能出现电网转换问题。
答案 1 :(得分:2)
csotelo:你有转/纬转换,这一点似乎不存在于24877
>>> p = Point(-16.42238172128686,-71.47541752550751, srid=4326)
>>> p.transform(24877)
>>> print p
POINT (2388367.8123248801566660 916017.4938517492264509)
# SELECT ST_AsText(ST_Transform(ST_SetSRID(ST_MakePoint(-16.42238172128686,-71.47541752550751), 4326),24877));
st_astext
------------------------------------------
POINT(2388367.81232488 916017.493851751)
点(-71.47541752550751,-16.42238172128686,srid = 4326)位于由24877定义的区域之外,因此只能近似。你会发现这一点实际上是在南极洲附近。 https://maps.google.nl/maps?q=-71.47541752550751,+-16.42238172128686&hl=en&ll=-71.475417,-16.422382&spn=60.209188,270.527344&sll=53.157645,5.636521&sspn=1.462449,4.22699&t=m&z=3