<div dir="ltr">PostGIS è una ottima scelta, è un pò noioso da portare appresso, come una moglie antipatica :)<div><br></div><div>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.</div>
<div>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.</div>
<div>Dopodichè, sempre tramite javascript, si adopera la funzione intersect di OpenLayers.</div><div><br></div><div>risultato:</div><div><br></div><div>Hai evitato di mettere in produzione una basedati pesantuccia, perchè pesantuccia ? perchè:</div>
<div><br></div><div>1. Ha estensioni che vanno compilate, ovvero dipendenze, ovvero ridotta portabilità.</div><div>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 )</div>
<div>3. Un carico computazionale che può essere tranquillamente delegato al client ( scalabilità occulta ? )</div><div><br></div><div>con geomet/shapely, ad esempio, faccio conversioni e interrogazioni spaziali.</div><div>
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.</div>
<div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">Il giorno 28 novembre 2013 11:45, nemesis <span dir="ltr"><<a href="mailto:nemesis@ninux.org" target="_blank">nemesis@ninux.org</a>></span> ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, 28 Nov 2013 11:38:02 +0100, Giuseppe De Marco <<a href="mailto:demarcog83@gmail.com" target="_blank">demarcog83@gmail.com</a>> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
si il SITE_ID è un piede zoppo oramai :)<br>
<br>
certo che grappelli lo disattivo ma la mia opinione era in<br>
riferimento al futuro di nodeshot.<br>
GeoDjango ha OL nell'admin per disegnare le geometrie e ti obbliga ad<br>
usare PostGIS, lo sò bene. Attento ai matrimoni sconvenienti :)<br>
prova python geomet e shapely,<br>
</blockquote>
<br>
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.<br>

<br>
Come fai questa cosa con quelle due librerie che hai segnalato? E cosa intendi con matirmoni sconvenienti? Se hai esperienze particolari in merito raccontacele.<br>
<br>
Federico<br>
<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
a prè <br>
<br>
Il giorno 28 novembre 2013 10:49, nemesis  ha scritto:<br>
 On Wed, 27 Nov 2013 22:33:15 +0100, Giuseppe De Marco  wrote:<br>
  Complimenti fede, ottimo lavoro ho appena installato tutto :)<br>
<br>
 giusto questa eccezione in /admin: <br>
 "You're using the Django "sites framework" without having set the<br>
 SITE_ID setting. Create a site in your database and set the SITE_ID<br>
 setting to fix this error."<br>
<br>
 che basta aggiungere in readthedocs di decommentare #SITE_ID in<br>
 settings.py.<br>
<br>
 Grazie, correggo direttamente decommentando SITE_ID in<br>
<a href="http://settings.example.py" target="_blank">settings.example.py</a> [3]<br>
<br>
 Il problema è che il site framework è stato deprecato (meglio<br>
così),  e c'è un componente (emailconfirmation) che dipende da lui,<br>
quindi dovrò aggiornare (o alle brutte modificare) quel componente.<br>
<br>
 <a href="https://github.com/nemesisdesign/nodeshot" target="_blank">https://github.com/<u></u>nemesisdesign/nodeshot</a> [4]<br>
<br>
  per il git ho clonato direttamente refactoring.<br>
<br>
 Attenzione, c'è un dettaglio che non vi avevo detto, proprio ieri<br>
ho cancellato tutti i miei branch personali (quelli hostati sul mio<br>
account nemesisdesign) di nodeshot, rimpiazzando il master con<br>
refactoring, quindi da ora in poi potete vedere master<br>
(<a href="https://github.com/nemesisdesign/nodeshot" target="_blank">https://github.com/<u></u>nemesisdesign/nodeshot</a> [5])<br>
<br>
  Poi, non voglio scocciarti ma preferisco la UI classica dell'admin<br>
 perchè il verde riposa la vista, questo blue tungsteno mi uccide :)<br>
<br>
 Se disattivi django-grappelli la ui dell'admin dovrebbe ritornare<br>
quella classica :D<br>
<br>
 devi levare da settings.INSTALLED_APPS<br>
<br>
 queste due:<br>
<br>
 'grappelli.dashboard',<br>
 'grappelli',<br>
<br>
 Comunque se le cose andranno bene, una volta rilasciata la prima<br>
versione, lavorerò anche sul migliorare la grafica e le funzionalità<br>
dell'admin, pensavo appunto proprio di contribuire a django grappelli,<br>
m'hanno già mergiato una pull request qualche mese fa e penso che se<br>
faccio dei buoni miglioramenti me li mergiano, a mio avviso è molto<br>
funzionale!<br>
<br>
  se poi tu volessi passare a OpenLayers... :)<br>
<br>
 Se vedi nell'admin di django (prova ad aggiungere un nodo) c'è<br>
openlayers. Per il frontend la decisione è leaflet vs openlayers, mi<br>
sto documentando al riguardo per fare la scelta giusta..<br>
<br>
 Grazie per il feedback, è molto apprezzato!<br>
<br>
 Federico<br>
 ______________________________<u></u>_________________<br>
 ninux-dev mailing list<br>
 <a href="mailto:ninux-dev@ml.ninux.org" target="_blank">ninux-dev@ml.ninux.org</a> [6]<br>
 <a href="http://ml.ninux.org/mailman/listinfo/ninux-dev" target="_blank">http://ml.ninux.org/mailman/<u></u>listinfo/ninux-dev</a> [7]<br>
<br>
<br>
<br>
Links:<br>
------<br>
[1] mailto:<a href="mailto:nemesis@ninux.org" target="_blank">nemesis@ninux.org</a><br>
[2] mailto:<a href="mailto:demarcog83@gmail.com" target="_blank">demarcog83@gmail.com</a><br>
[3] <a href="http://settings.example.py" target="_blank">http://settings.example.py</a><br>
[4] <a href="https://github.com/nemesisdesign/nodeshot" target="_blank">https://github.com/<u></u>nemesisdesign/nodeshot</a><br>
[5] <a href="https://github.com/nemesisdesign/nodeshot" target="_blank">https://github.com/<u></u>nemesisdesign/nodeshot</a><br>
[6] mailto:<a href="mailto:ninux-dev@ml.ninux.org" target="_blank">ninux-dev@ml.ninux.org</a><br>
[7] <a href="http://ml.ninux.org/mailman/listinfo/ninux-dev" target="_blank">http://ml.ninux.org/mailman/<u></u>listinfo/ninux-dev</a><br>
</blockquote>
______________________________<u></u>_________________<br>
ninux-dev mailing list<br>
<a href="mailto:ninux-dev@ml.ninux.org" target="_blank">ninux-dev@ml.ninux.org</a><br>
<a href="http://ml.ninux.org/mailman/listinfo/ninux-dev" target="_blank">http://ml.ninux.org/mailman/<u></u>listinfo/ninux-dev</a><br>
</blockquote></div><br></div>