Hi, not sure if I did the right thing or not, but I just altered the table in this way https://github.com/alphagov/land-availability-api/pull/20/files#diff-f8cf5fd1898b907b7e7cc07dcc455602R15 (yes, the code is opensource!) because I've also noticed that GeoDjango doesn't have an equivalent of MultiPolygonZ so it must be created with a SQL command.
On Monday, 19 December 2016 15:35:50 UTC, george wrote: > > There is a way to coerce the input to 2d. It's not pretty, but it works. > > from django.contrib.gis.geos.prototypes.io import wkt_w > wkt = wkt_w(dim=2).write(input_geom).decode() > geom = GEOSGeometry(wkt, srid=4674) > > Imagine that you get input_geom from somewhere. In our case it was coming > from a KML upload. We forced it to 2d using that snippet of code. > > > On Mon, Dec 19, 2016 at 9:51 AM, <[email protected] <javascript:>> wrote: > >> Jason: when you say create 2 geometry types one with 2 dimensions etc... >> how do you specify how many dimensions to have? >> Because I created the field in this way: >> >> geom = models.MultiPolygonField(geography=True, spatial_index=True) >> >> and let the Django migration do the job, but I don't know how to specify >> that it's a 3D field. >> >> Thanks >> >> On Tuesday, 8 March 2016 16:34:35 UTC, Jason wrote: >>> >>> I had a similar issue when uploading a kml to geojson conversion to >>> postgis using geodjango. There is no efficient way to do it in Django, so >>> I ended up doing a workaround >>> >>> >>> - Create two geometry types, one with dims=2 and other with dims=3. >>> Allow both to be null and set default to null >>> - When updating, check the geometry dimension via GEOSGeometry.hasz >>> >>> <https://docs.djangoproject.com/en/1.9/ref/contrib/gis/geos/#django.contrib.gis.geos.GEOSGeometry.hasz>. >>> >>> If the return is 2, save the geom in the 2D field, otherwise save to the >>> 3D >>> >>> You can create a save/retrieve method on the model to handle this for >>> you. >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "Django users" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To post to this group, send email to [email protected] >> <javascript:>. >> Visit this group at https://groups.google.com/group/django-users. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/django-users/073345f1-0a70-4645-9c87-577c89b9a511%40googlegroups.com >> >> <https://groups.google.com/d/msgid/django-users/073345f1-0a70-4645-9c87-577c89b9a511%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> >> For more options, visit https://groups.google.com/d/optout. >> > > > > -- > George R. C. Silva > Sigma Geosistemas LTDA > ---------------------------- > http://www.sigmageosistemas.com.br/ > -- You received this message because you are subscribed to the Google Groups "Django users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-users. To view this discussion on the web visit https://groups.google.com/d/msgid/django-users/b0ae7865-f7f0-460f-a231-8fea6dc8117b%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.

