Как сохранить файл `.shp` в gisModel.GeometryField в модели?
У меня есть пример shp-файла и модель следующего содержания
class PolygonShape(models.Model):
...
geometry = gisModel.GeometryField(null=False, srid=25832)
...
def __str__(self):
return self.name
Я хочу загрузить shp
файл и сохранить его в GeometryField
модели. Однако я не знаю, как это сделать
Вот моя попытка на данный момент :
def post(self, request, *args, **kwargs):
shapefile = request.FILES.get('shapefile')
if not shapefile:
return GeneralErrorResponse(data={"error": "No shapefile provided"}).to_json_response()
save_directory = os.path.join(settings.MEDIA_ROOT, 'shapefiles')
if not os.path.exists(save_directory):
os.makedirs(save_directory)
# Create the full file path
file_path = os.path.join(save_directory, shapefile.name)
with open(file_path, 'wb+') as destination:
for chunk in shapefile.chunks():
destination.write(chunk)
ds = DataSource('/uploads/shapefiles')
Но получил ошибку
raise GDALException('Could not open the datasource at "%s"' % ds_input)
django.contrib.gis.gdal.error.GDALException: Could not open the datasource at "./uploads/shapefiles/multipoint.shp"