Geodjango创建一个新的SRID

时间:2018-06-26 08:14:59

标签: django python-3.x geodjango

大家好,我一直在尝试添加shapefile,但是由于我所在国家的坐标系不是gdal库的一部分,因此我遇到了一些困难。如何创建新的SRID。我已经创建了srs,并在postgis中定义了空间参照系。

2 个答案:

答案 0 :(得分:0)

PostGIS将空间参考系统存储在名为spatial_ref_sys的表中。 Django有一个名为= select_tag 'product_option_value[parent_option_type]', options_for_select(["Select Parent Option Type"], disabled: "Select Parent Option Type", selected: "Select Parent Option Type"), required: true 的模型可以访问该表中的数据,但未提供文档。

实用程序函数add_srs_entry()也未记录,该函数以SpatialReference实例作为第一个参数,可以从PROJ.4字符串中定义。

所以这样的事情应该起作用:

SpatialRefSys

或者,您可以使用数据库管理工具添加条目

答案 1 :(得分:0)

如果GDAL不支持您所在国家的SRID,或者如果您要添加自己的参考系统,我可以通过在 If(Test-Path $w3wpPath) { $productProperty = Get-ItemProperty -Path $w3wpPath Write-Host $productProperty.VersionInfo.ProductVersion } Else { Write-Host "Not find IIS." } 中添加一个条目来使用postGIS来实现此目的手动:

public.spatial_ref_sys

或通过获取表格来使用django:

INSERT INTO public.spatial_ref_sys (srid, proj4text) VALUES
($srid, $proj);

请记住,您将无法转换GeosGeometry objects ,因为它使用的是GDAL(不会读取from django.db import DEFAULT_DB_ALIAS, connections database = DEFAULT_DB_ALIAS SpatialRefSys = connections[database].ops.spatial_ref_sys() SpatialRefSys.objects.create(srid=$srid, proj4text=$proj) )。而是使用database function如下:

spatial_ref_sys