为什么我的转换LatLongs在GeoDjango中略有不同?

时间:2018-06-21 06:10:51

标签: python django geodjango epsg

我的项目中有两个模型,一个具有宗地数据,另一个具有建筑数据。我的目标是在宗地内找到建筑物坐标。我的地块坐标在california_zone 2(ESPG = 3492)中,而我的建筑物坐标是ESPG = 4326。这就是为什么我将两者都转换为ESPG = 4326的原因。并且两个坐标都与萨克拉曼多市第16街2712邮政编码:95818有关。然后我定义GEOSGeometry集,并使用多坐标(geom)过滤建筑数据中的对象,最后得到一个对象,并获取该对象的坐标,然后尝试在Google地图中定位它们。但是那些不在同一位置。我不知道我在做什么错。能不能建议我,在同一位置定位坐标的正确方法是什么?

    parcel = Parcel.objects.filter(objectid="22520").values()
    geojson = parcel[0]['geom'].geojson
    ast_format = ast.literal_eval(geojson)
    data = ast_format['coordinates'][0][0]
    poly_california = Polygon(data, srid=3492)
    poly_gps = poly_california.transform(4326, clone=True)
    pnt = GEOSGeometry(poly_gps)
    building = Primary.objects.filter(geom__contained=pnt).values()
    build_geo = building[0]['geom'].geojson
    build_format = ast.literal_eval(build_geo)
    build_coords = build_format['coordinates'][0]

这些是宗地坐标

(((-121.49440799279022, 38.55725848782723), (-121.49438844924772, 
   38.557303481514126), (-121.4943760310021, 38.5573320694682), 
 (-121.49436263531841, 38.557362909896675), (-121.49402385986245, 
 38.557269114460084), (-121.49406987333441, 38.55716268909225), 
 (-121.49440799279022, 38.55725848782723)),)

这些是建筑物坐标

[[[-121.494079, 38.557279], [-121.49411, 38.557199], [-121.494246, 
38.557232], [-121.494227, 38.557282], [-121.494208, 38.557278], 
[-121.494198, 38.557307], [-121.494079, 38.557279]]]

0 个答案:

没有答案