[ninux-dev] Fwd: [Nodeshot] Documentation (work in progress)

Giuseppe De Marco demarcog83 at gmail.com
Thu Nov 28 12:39:18 CET 2013


PostGIS è una ottima scelta, è un pò noioso da portare appresso, come una
moglie antipatica :)

il beneficio sulle query spaziali è vero che ti è offerto dal postgis ma
puoi delegare questa peculiarità al client, si eviti il carico sul server a
parità di beneficio.
Se ogni nodo è un vettore con geometria di tipo punto, lato client, sul
webgis, l'utente decide un centroide (x/y o est/nord, su EPSG 4326 è x,y) -
magari con un click . e sulla base dei km quadrati (o miles) che decide di
interrogare crea una geometria di tipo poligono.
Dopodichè, sempre tramite javascript, si adopera la funzione intersect di
OpenLayers.

risultato:

Hai evitato di mettere in produzione una basedati pesantuccia, perchè
pesantuccia ? perchè:

1. Ha estensioni che vanno compilate, ovvero dipendenze, ovvero ridotta
portabilità.
2. Lo storage di Shape e Rasters non avviene nel DB, piuttosto gli shapes
(cugini dei kml) vengono salvati da geodjango (o solo da django) come WKT.
Data l'esiguità dei WKT di tipo POINT o LINESTRING può andare più che bene
anche un character varying ( piuttosto che un campo TEXT )
3. Un carico computazionale che può essere tranquillamente delegato al
client ( scalabilità occulta ? )

con geomet/shapely, ad esempio, faccio conversioni e interrogazioni
spaziali.
E' basato su Geos, il motore di PostGIS, ma è totalmente decoupled pertanto
nel futuro nodeshot, nell'eventualità di fare le query staziali lato
server, puoi usare queste e puoi anche disabilitarle senza toccare le
estensioni del DB.



Il giorno 28 novembre 2013 11:45, nemesis <nemesis at ninux.org> ha scritto:

> On Thu, 28 Nov 2013 11:38:02 +0100, Giuseppe De Marco <
> demarcog83 at gmail.com> wrote:
>
>> si il SITE_ID è un piede zoppo oramai :)
>>
>> certo che grappelli lo disattivo ma la mia opinione era in
>> riferimento al futuro di nodeshot.
>> GeoDjango ha OL nell'admin per disegnare le geometrie e ti obbliga ad
>> usare PostGIS, lo sò bene. Attento ai matrimoni sconvenienti :)
>> prova python geomet e shapely,
>>
>
> PostGIS a mio avviso ci serve perchè dobbiamo fare delle query geografiche
> al DB. Tipo: dimmi quali sono gli utenti che hanno un nodo nel raggio di
> 3km vicino al mio, oppure: dammi una lista di tutti i link che non superano
> i 100 metri. Il tutto con una riga di codice e senza fare cicli lunghissimi
> su tutti gli oggetti del database (perchè se ne occupa PostGIS) con un
> guadagno in performance rilevante.
>
> Come fai questa cosa con quelle due librerie che hai segnalato? E cosa
> intendi con matirmoni sconvenienti? Se hai esperienze particolari in merito
> raccontacele.
>
> Federico
>
>
>  a prè
>>
>> Il giorno 28 novembre 2013 10:49, nemesis  ha scritto:
>>  On Wed, 27 Nov 2013 22:33:15 +0100, Giuseppe De Marco  wrote:
>>   Complimenti fede, ottimo lavoro ho appena installato tutto :)
>>
>>  giusto questa eccezione in /admin:
>>  "You're using the Django "sites framework" without having set the
>>  SITE_ID setting. Create a site in your database and set the SITE_ID
>>  setting to fix this error."
>>
>>  che basta aggiungere in readthedocs di decommentare #SITE_ID in
>>  settings.py.
>>
>>  Grazie, correggo direttamente decommentando SITE_ID in
>> settings.example.py [3]
>>
>>  Il problema è che il site framework è stato deprecato (meglio
>> così),  e c'è un componente (emailconfirmation) che dipende da lui,
>> quindi dovrò aggiornare (o alle brutte modificare) quel componente.
>>
>>  https://github.com/nemesisdesign/nodeshot [4]
>>
>>   per il git ho clonato direttamente refactoring.
>>
>>  Attenzione, c'è un dettaglio che non vi avevo detto, proprio ieri
>> ho cancellato tutti i miei branch personali (quelli hostati sul mio
>> account nemesisdesign) di nodeshot, rimpiazzando il master con
>> refactoring, quindi da ora in poi potete vedere master
>> (https://github.com/nemesisdesign/nodeshot [5])
>>
>>   Poi, non voglio scocciarti ma preferisco la UI classica dell'admin
>>  perchè il verde riposa la vista, questo blue tungsteno mi uccide :)
>>
>>  Se disattivi django-grappelli la ui dell'admin dovrebbe ritornare
>> quella classica :D
>>
>>  devi levare da settings.INSTALLED_APPS
>>
>>  queste due:
>>
>>  'grappelli.dashboard',
>>  'grappelli',
>>
>>  Comunque se le cose andranno bene, una volta rilasciata la prima
>> versione, lavorerò anche sul migliorare la grafica e le funzionalità
>> dell'admin, pensavo appunto proprio di contribuire a django grappelli,
>> m'hanno già mergiato una pull request qualche mese fa e penso che se
>> faccio dei buoni miglioramenti me li mergiano, a mio avviso è molto
>> funzionale!
>>
>>   se poi tu volessi passare a OpenLayers... :)
>>
>>  Se vedi nell'admin di django (prova ad aggiungere un nodo) c'è
>> openlayers. Per il frontend la decisione è leaflet vs openlayers, mi
>> sto documentando al riguardo per fare la scelta giusta..
>>
>>  Grazie per il feedback, è molto apprezzato!
>>
>>  Federico
>>  _______________________________________________
>>  ninux-dev mailing list
>>  ninux-dev at ml.ninux.org [6]
>>  http://ml.ninux.org/mailman/listinfo/ninux-dev [7]
>>
>>
>>
>> Links:
>> ------
>> [1] mailto:nemesis at ninux.org
>> [2] mailto:demarcog83 at gmail.com
>> [3] http://settings.example.py
>> [4] https://github.com/nemesisdesign/nodeshot
>> [5] https://github.com/nemesisdesign/nodeshot
>> [6] mailto:ninux-dev at ml.ninux.org
>> [7] http://ml.ninux.org/mailman/listinfo/ninux-dev
>>
> _______________________________________________
> ninux-dev mailing list
> ninux-dev at ml.ninux.org
> http://ml.ninux.org/mailman/listinfo/ninux-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://ml.ninux.org/pipermail/ninux-dev/attachments/20131128/dc7e0efc/attachment-0001.html>


More information about the ninux-dev mailing list