Re: dynamic creation of model with geodjango ?

2008-08-25 Thread guillaume

Hi Justin,

Glad to hear you too actually ! Your analysis is completely right !
I've already build an app which allows to feed a postgis database with
Django. But geodata is completely disconnected from the app itself. So
yes, the idea would be to automatically build a geodjango model from
that table, and publish it on the admin site to let people manage the
data from there. And I definitely understand it is not trivial at
all !

Regards,

Guillaume

On 19 août, 16:57, Justin Bronn <[EMAIL PROTECTED]> wrote:
> > Yes, actually I didn't hope anything else.
> > I'll try to catch somegeodjangoguys up in Cape Town FOSS4G to have a
> > chat about this. It can be something I can find funding for, as it is
> > extremely critical in deploying Spatial data infrastructures.
>
> Guillaume,
>
> Howdy -- nice hearing from you again.  Unfortunately, I won't be in
> Cape Town, but Travis Pinney and Josh Livni will be there 
> representingGeoDjango.
>
> I've successfully created dynamic models in private, production code
> usingGeoDjango, but not quite to the full extent I think you want.
> If I understand, you wish to go from spatial data source (e.g.,
> shapefile) -> admin automatically, with the intermediate step of
> creating spatial database tables and importing.  I believe this is
> possible, but not trivial.
>
> Regards,
> -Justin
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~--~~~~--~~--~--~---



Re: dynamic creation of model with geodjango ?

2008-08-19 Thread Justin Bronn

> Yes, actually I didn't hope anything else.
> I'll try to catch some geodjango guys up in Cape Town FOSS4G to have a
> chat about this. It can be something I can find funding for, as it is
> extremely critical in deploying Spatial data infrastructures.
>

Guillaume,

Howdy -- nice hearing from you again.  Unfortunately, I won't be in
Cape Town, but Travis Pinney and Josh Livni will be there representing
GeoDjango.

I've successfully created dynamic models in private, production code
using GeoDjango, but not quite to the full extent I think you want.
If I understand, you wish to go from spatial data source (e.g.,
shapefile) -> admin automatically, with the intermediate step of
creating spatial database tables and importing.  I believe this is
possible, but not trivial.

Regards,
-Justin
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~--~~~~--~~--~--~---



Re: dynamic creation of model with geodjango ?

2008-08-19 Thread guillaume

Yes, actually I didn't hope anything else.
I'll try to catch some geodjango guys up in Cape Town FOSS4G to have a
chat about this. It can be something I can find funding for, as it is
extremely critical in deploying Spatial data infrastructures.

Regards,

Guillaume

On 19 août, 15:24, Malcolm Tredinnick <[EMAIL PROTECTED]>
wrote:
> On Tue, 2008-08-19 at 06:18 -0700, guillaume wrote:
> > Hi Dane,
>
> > Thanks for these informations. Does it mean that a model dynamically
> > created will now appear in admin section ?
>
> The previous poster described a way to inspect an existing data source
> and print out the model definition to stdout. You will then need to
> paste that output into a models file (and possibly edit it, if anything
> needs tweaking, which is why any inspectdb-like operations prints out
> the result). The model isn't "dynamically created" at all.
>
> It will appear in the admin if you put it into a models file *and* write
> an admin class for it, as per normal.
>
> If you really want to dynamically create models, you'll need to poke
> around the internals of Django a lot, since that isn't documented
> (oustide of docstrings and the code) and isn't public API, so is subject
> to change without notice in the future. If you have to ask on this list
> how to do that, quite honestly, you probably aren't ready to take that
> step, because it does require confidence at reading the source and
> understanding it. You'll want to start with
> django.db.models.base.ModelBase.__new__ to see how model classes are
> created, for example. Reading that will give you an idea of whether
> you're going to able to understand the code or not.
>
> And if you do understand that and feel comfortable playing with it --
> please feel free to do so. I'm not saying "don't do that." Rather, I'm
> cautioning that this is deep internals stuff and if you're looking for
> step-by-step instructions or support, you're going to have to adjust
> your expectations.
>
> Regards,
> Malcolm
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~--~~~~--~~--~--~---



Re: dynamic creation of model with geodjango ?

2008-08-19 Thread Malcolm Tredinnick


On Tue, 2008-08-19 at 06:18 -0700, guillaume wrote:
> Hi Dane,
> 
> Thanks for these informations. Does it mean that a model dynamically
> created will now appear in admin section ?

The previous poster described a way to inspect an existing data source
and print out the model definition to stdout. You will then need to
paste that output into a models file (and possibly edit it, if anything
needs tweaking, which is why any inspectdb-like operations prints out
the result). The model isn't "dynamically created" at all.

It will appear in the admin if you put it into a models file *and* write
an admin class for it, as per normal.

If you really want to dynamically create models, you'll need to poke
around the internals of Django a lot, since that isn't documented
(oustide of docstrings and the code) and isn't public API, so is subject
to change without notice in the future. If you have to ask on this list
how to do that, quite honestly, you probably aren't ready to take that
step, because it does require confidence at reading the source and
understanding it. You'll want to start with
django.db.models.base.ModelBase.__new__ to see how model classes are
created, for example. Reading that will give you an idea of whether
you're going to able to understand the code or not.

And if you do understand that and feel comfortable playing with it --
please feel free to do so. I'm not saying "don't do that." Rather, I'm
cautioning that this is deep internals stuff and if you're looking for
step-by-step instructions or support, you're going to have to adjust
your expectations.

Regards,
Malcolm



--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~--~~~~--~~--~--~---



Re: dynamic creation of model with geodjango ?

2008-08-19 Thread guillaume

Hi Dane,

Thanks for these informations. Does it mean that a model dynamically
created will now appear in admin section ?

Regards,

Guillaume

On 18 août, 19:22, springmeyer <[EMAIL PROTECTED]> wrote:
> Guillame,
>
> Absolutely. GeoDjango can be used to read new or existing geographic
> datasources from dozens of formats. GeoDjango provides a ctypes
> interface to the foundational GDAL/OGR library, which is the open
> source industry standard for format translation. Look for the utility
> called `orginspect`.
>
> While the GeoDjango documentation is still being worked on, the
> Docstrings are excellent.  To see how ogrinspect works you'll need to
> do nothing but (a sample project and shapefile can be downloaded 
> fromhttp://code.google.com/p/geodjango-basic-apps/wiki/GeographicAdminQui...
>
> >>> from django.contrib.gis.utils import ogrinspect
> >>> help(ogrinspect)
>
> Help on function ogrinspect in module
> django.contrib.gis.utils.ogrinspect:
>
> ogrinspect(*args, **kwargs)
>     Given a data source (either a string or a DataSource object) and a
> string
>     model name this function will generate a GeoDjango model.
>
>     Usage:
>
>     >>> from django.contrib.gis.utils import ogrinspect
>     >>> ogrinspect('/path/to/shapefile.shp','NewModel')
>
>     ...will print model definition to stout
>
>     or put this in a python script and use to redirect the output to a
> new
>     model like:
>
>     $ python generate_model.py > myapp/models.py
>
>     # generate_model.py
>     from django.contrib.gis.utils import ogrinspect
>     shp_file = 'data/mapping_hacks/world_borders.shp'
>     model_name = 'WorldBorders'
>
>     print ogrinspect(shp_file, model_name, multi_geom=True, srid=4326,
>                      geom_name='shapes', blank=True)
> :
>
> Cheers,
>
> Dane
>
> On Aug 13, 12:39 am, guillaume <[EMAIL PROTECTED]>
> wrote:
>
> > Hi,
>
> > I'm pretty glad to see that GeoDjango has joined the main trunk. As it
> > is a great tool for managing geographic data, I am wondering if it is
> > possible to create a new model dynamically. Imagine you want to add a
> > new geographic data source to your app, how can it be done ?
>
> > Regards,
>
> > Guillaume
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~--~~~~--~~--~--~---



Re: dynamic creation of model with geodjango ?

2008-08-18 Thread springmeyer

Guillame,

Absolutely. GeoDjango can be used to read new or existing geographic
datasources from dozens of formats. GeoDjango provides a ctypes
interface to the foundational GDAL/OGR library, which is the open
source industry standard for format translation. Look for the utility
called `orginspect`.

While the GeoDjango documentation is still being worked on, the
Docstrings are excellent.  To see how ogrinspect works you'll need to
do nothing but (a sample project and shapefile can be downloaded from
http://code.google.com/p/geodjango-basic-apps/wiki/GeographicAdminQuickStart):

>>> from django.contrib.gis.utils import ogrinspect
>>> help(ogrinspect)


Help on function ogrinspect in module
django.contrib.gis.utils.ogrinspect:

ogrinspect(*args, **kwargs)
Given a data source (either a string or a DataSource object) and a
string
model name this function will generate a GeoDjango model.

Usage:

>>> from django.contrib.gis.utils import ogrinspect
>>> ogrinspect('/path/to/shapefile.shp','NewModel')

...will print model definition to stout

or put this in a python script and use to redirect the output to a
new
model like:

$ python generate_model.py > myapp/models.py

# generate_model.py
from django.contrib.gis.utils import ogrinspect
shp_file = 'data/mapping_hacks/world_borders.shp'
model_name = 'WorldBorders'

print ogrinspect(shp_file, model_name, multi_geom=True, srid=4326,
 geom_name='shapes', blank=True)
:

Cheers,

Dane


On Aug 13, 12:39 am, guillaume <[EMAIL PROTECTED]>
wrote:
> Hi,
>
> I'm pretty glad to see that GeoDjango has joined the main trunk. As it
> is a great tool for managing geographic data, I am wondering if it is
> possible to create a new model dynamically. Imagine you want to add a
> new geographic data source to your app, how can it be done ?
>
> Regards,
>
> Guillaume
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To post to this group, send email to django-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/django-users?hl=en
-~--~~~~--~~--~--~---