[GeoNode-devel] Programmatically create layers and maps from own Django App

Toni Schönbuchner toni.schoenbuchner at csgis.de
Wed Sep 11 08:59:37 PDT 2019


Hi Steffen,

sorry. Did not test it before sending. But darkly remember I did something like this with 2.4.
Anyways from a quick look the problem is that your map has wrong
zoom
center-x
center-y

further your added layer is missing:
OWS URL
Layer params
Source params

You can test it by manually creating a map with same layer and afterwards by django shell.
As soon as you fix those values in django admin it works.

Unfortuanately I'm facing a strict deadline and cannot say when there will be time for further tests. 
But would suggest that you start by having a look at the maps model.

Cheers,

Toni

> Am 11.09.2019 um 17:06 schrieb EFTAS Carsten Stemmler <carsten.stemmler at eftas.com>:
> 
> Hello Toni,
> 
> thank you for your help, this was already quite useful.
> Maybe you can also help with a follow-up question:
> 
> I created a new map using the way you pointed out and the map is visible in the Geonode maps overview.
> But when I try to view the map, the layers are unfortunately not visible to the user (who created the map). All layers are also owned by the same user.
> To check for general errors on the system, I created a map manually with the same layers using the Mapstore GUI and this map is displayed without a problem.
> I was unfortunately also not able to spot any error messages on the server or client, which hint to a problem with the map.
> 
> Any hints are appreciated,
> Carsten
> 
> -- 
> Carsten Stemmler
> - Research & Development
> 
> E F T A S    Fernerkundung
> Technologietransfer GmbH
> Oststraße 2-18
> 48145 Münster
> Fon: +49 251 13307-0      E-Mail: carsten.stemmler at eftas.com <mailto:carsten.stemmler at eftas.com>
> Fax: +49 251 13307-33     Web:   http://www.eftas.com <http://www.eftas.com/>
> Geschäftsführer:
> Dipl.-Ing. Georg Altrogge
> 
> Sitz der Gesellschaft: Münster
> Amtsgericht Münster, HRB 2999
> USt.-IdNr. DE 126038986
> Von: Toni Schönbuchner [toni.schoenbuchner at csgis.de]
> Gesendet: Montag, 9. September 2019 20:14
> An: EFTAS Carsten Stemmler
> Cc: geonode-devel-owner at lists.osgeo.org
> Betreff: Re: Programmatically create layers and maps from own Django App
> 
> Hi Carsten,
> 
> in case you have generated files on your disk maybe it could be enough to just use importlayers?
> Have a look how it's done here: https://github.com/GeoNode/geonode/blob/master/pavement.py#L1002 <https://github.com/GeoNode/geonode/blob/master/pavement.py#L1002>
> 
> For map creation I would go with something like:
> 
> $ python manage.py shell
> 
> from geonode.layers.models import Layer
> from geonode.maps.models import Map
> from geonode.people.models import Profile
> 
> user = Profile.objects.get(id=1000)
> m = Map()
> layer_name = Layer.objects.all().first().alternate
> m.create_from_layer_list(user, [layer_name], "title", "abstract")
> 
> 
> In this case 1000 is the ID of my admin user. You would pass your newly imported layers to 
> m.create_from_layer_list()
> 
> cheers,
> 
> Toni
> 
> 
>> Am 09.09.2019 um 12:13 schrieb geonode-devel-owner at lists.osgeo.org <mailto:geonode-devel-owner at lists.osgeo.org>:
>> 
>> As list administrator, your authorization is requested for the
>> following mailing list posting:
>> 
>>    List:    geonode-devel at lists.osgeo.org <mailto:geonode-devel at lists.osgeo.org>
>>    From:    carsten.stemmler at eftas.com <mailto:carsten.stemmler at eftas.com>
>>    Subject: Programmatically create layers and maps from own Django App
>>    Reason:  Post to moderated list
>> 
>> At your convenience, visit:
>> 
>>    https://lists.osgeo.org/mailman/admindb/geonode-devel <https://lists.osgeo.org/mailman/admindb/geonode-devel>
>> 
>> to approve or deny the request.
>> 
>> Von: EFTAS Carsten Stemmler <carsten.stemmler at eftas.com <mailto:carsten.stemmler at eftas.com>>
>> Betreff: Programmatically create layers and maps from own Django App
>> Datum: 9. September 2019 um 11:39:39 MESZ
>> An: "geonode-devel at lists.osgeo.org <mailto:geonode-devel at lists.osgeo.org>" <geonode-devel at lists.osgeo.org <mailto:geonode-devel at lists.osgeo.org>>
>> 
>> 
>> Dear all,
>> 
>> I created a new Django App by using geonode-project (Geonode version 2.10) to do some geospatial processing.
>> As a result of this process I want to create a new layer (and furthermore a map) within Geonode without user interaction. 
>> 
>> I already had a look at the documentation, however I'm not sure about the right way to accomplish this task. Can I use internal functions e.g. from geonode.layers.models or is it necessary to use the Geoserver Rest API to import the data there directly (or another way I am not aware of at the moment)?
>> 
>> Any hints and also specific links to the documentation are appreciated.
>> Carsten
>> 
>> -- 
>> Carsten Stemmler
>> - Research & Development
>> 
>> E F T A S    Fernerkundung
>> Technologietransfer GmbH
>> Oststraße 2-18
>> 48145 Münster
>> Fon: +49 251 13307-0      E-Mail: carsten.stemmler at eftas.com <mailto:carsten.stemmler at eftas.com>
>> Fax: +49 251 13307-33     Web:   http://www.eftas.com <http://www.eftas.com/>
>> Geschäftsführer:
>> Dipl.-Ing. Georg Altrogge
>> 
>> Sitz der Gesellschaft: Münster
>> Amtsgericht Münster, HRB 2999
>> USt.-IdNr. DE 126038986
>> 
>> 
>> 
>> Von: geonode-devel-request at lists.osgeo.org <mailto:geonode-devel-request at lists.osgeo.org>
>> Betreff: confirm 61cb4ec0107fc608b6f30c51a47cea3e31831aea
>> Datum: 9. September 2019 um 12:13:03 MESZ
>> 
>> 
>> If you reply to this message, keeping the Subject: header intact,
>> Mailman will discard the held message.  Do this if the message is
>> spam.  If you reply to this message and include an Approved: header
>> with the list password in it, the message will be approved for posting
>> to the list.  The Approved: header can also appear in the first line
>> of the body of the reply.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/geonode-devel/attachments/20190911/0d002e04/attachment-0001.html>


More information about the geonode-devel mailing list