使用GeoDjango将geojson文件中的多边形数据导入到PostGIS

5

我正在使用带有PostGIS后端的GeoDjango。 我有一些带有以下功能的geojson文件示例。 GeoDjango提供了导入形状文件和其他格式的信息,但不包括geojson格式。 我该如何将这些geojson文件导入数据库?

  "features": [
{ "type": "Feature", "properties": { "SubName": "X", "SubSubName": "A" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 70.693828, 37.074496 ], [ 70.693828, 37.074496 ] ] ] } }
,
{ "type": "Feature", "properties": { "SubName": "X", "SubSubName": "B" }, "geometry": { "type": "Polygon", "coordinates": [ [ [ 70.502913, 27.065997 ],  [ 70.502913, 27.065997 ] ] ] } }

我有两个核心需求:

  1. 使用D3JS地图库在Web门户上加载子区域多边形
  2. 当我有一个经纬度时,找到该点所在的多边形并从多边形属性中获取SubName和SubSubName。

如果有关于PostGIS用法和导入GeoDjango文件的适当文档,那将非常好。

谢谢您的帮助。

1个回答

8

摘自-https://docs.djangoproject.com/en/1.9/ref/contrib/gis/geos/

GEOS是一个C++库,用于执行地理空间操作和空间算法。 Django的GEOS模块提供了与GEOS库的接口,使得在Django中进行地理空间操作变得更加容易和高效。

from django.contrib.gis.geos import GEOSGeometry
# load from geo-json str
pnt = GEOSGeometry('{ "type": "Point", "coordinates": [ 5.000000, 23.000000 ] }')

GeoJSON 可以用于任何形状,如多边形、多重多边形等。


这个答案是不正确的。GEOSGeometry只是用来存储几何图形的,而几何图形只是Feature的一部分。通过将几何图形(这里是Point)简单地导入数据库,你将完全丢失为该要素(这里是SubNameSubSubName)分配的任何属性。 - rbaleksandar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接