Questo sito utilizza cookie per le proprie funzionalità e per inviarti pubblicità e servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie.

Accedendo al link http://www.odoo-italia.org/index.php/home/cookie-policy puoi leggere in dettaglio le modalità di trattamento dei cookie da parte dell'Associazione Odoo Italia.

Benvenuto, Ospite
Nome utente: Password: Ricordami

ARGOMENTO: [10] geoengine: convertire da lat/long a geopoint

[10] geoengine: convertire da lat/long a geopoint 1 Anno 4 Mesi fa #29550

  • giuseppeflammia
  • Avatar di giuseppeflammia
  • Offline
  • Expert Boarder
  • Messaggi: 100
  • Ringraziamenti ricevuti 1
  • Karma: 0
Ciao a tutti,
vi racconto il mio scenario di uso di GeoEngine:
tramite un'app Android mi faccio inviare su Odoo la lat e la long di un particolare utente.
A partire da questo punto devo scoprire se questo punto è interno o meno ad una certa area geografica.

Per l'area geografica uso geomultilinea di GeoEngini poichè disegno un'area da interfaccia grafica direttamente.
il problema sorge nel momento in cui voglio verificare se questo punto è o meno all'interno di un'area:

android passa LAtLong mentre GeoEngine fa uso delle coordinate cartesiane per salvare il punto (GeoPoint):

sapete indicarmi un modo per convertire latLong in GeoPoint ?
senza fare ricorso alla trigonometria possibilmente ?
Purtroppo non sono stato in grado di trovare una funzione in geoengine che si occupa di fare questa trasformazione.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[10] geoengine: convertire da lat/long a geopoint 1 Anno 4 Mesi fa #29551

  • Antoniov
  • Avatar di Antoniov
  • Online
  • Administrator
  • Messaggi: 1555
  • Ringraziamenti ricevuti 283
  • Karma: -115
Temo che siano problemi estranei a Odoo
:sorry:

Prova a consultare i forum dei software che hai citato
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo. - Presidente eletto dell'associazione
Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: giuseppeflammia

[10] geoengine: convertire da lat/long a geopoint 1 Anno 4 Mesi fa #29552

  • giuseppeflammia
  • Avatar di giuseppeflammia
  • Offline
  • Expert Boarder
  • Messaggi: 100
  • Ringraziamenti ricevuti 1
  • Karma: 0
Speravo che qualcuno su questo forum lo avesse utilizzato.

Grazie lo stesso! :D
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[10] geoengine: convertire da lat/long a geopoint 1 Anno 4 Mesi fa #29589

  • enlightx
  • Avatar di enlightx
  • Online
  • Platinum Boarder
  • Messaggi: 6064
  • Ringraziamenti ricevuti 638
  • Karma: 85
Qui c'è la ML dedicata

odoo-community.org/groups/geospatial-48
Davide Corio
Odoo Solution Architect
email: Questo indirizzo email è protetto dagli spambots. È necessario abilitare JavaScript per vederlo.
web: www.davidecorio.com
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Ringraziano per il messaggio: giuseppeflammia

[10] geoengine: convertire da lat/long a geopoint 1 Anno 4 Mesi fa #29590

  • giuseppeflammia
  • Avatar di giuseppeflammia
  • Offline
  • Expert Boarder
  • Messaggi: 100
  • Ringraziamenti ricevuti 1
  • Karma: 0
Proverò a scrivere alla ML... caso mai dovessero darmi una risposta ... aggiungo la soluzione.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.

[10] geoengine: convertire da lat/long a geopoint 1 Anno 4 Mesi fa #29766

  • giuseppeflammia
  • Avatar di giuseppeflammia
  • Offline
  • Expert Boarder
  • Messaggi: 100
  • Ringraziamenti ricevuti 1
  • Karma: 0
Sono giunto ad una risposta concreta:

Quelli del ML mi hanno risposta in maniera mooooooooooooolto sintetica in questa maniera :
Takes a look at github.com/OCA/geospatial/blob/10.0/base...ngine/fields.py#L198
class GeoPoint(GeoField):
    """Field for POSTGIS geometry Point type"""
    type = 'geo_point'
    geo_type = 'POINT'

    @classmethod
    def from_latlon(cls, cr, latitude, longitude):
        """  Convert a (latitude, longitude) into an UTM coordinate Point:
        """
        pt = Point(longitude, latitude)
        cr.execute("""
            SELECT
                ST_Transform(
                    ST_GeomFromText(%(wkt)s, 4326),
                    %(srid)s)
        """, {'wkt': pt.wkt,
              'srid': cls._slots['srid']})
        res = cr.fetchone()
        return cls.load_geo(res[0])

dove è presente la funzione di conversione.

Inoltre allego anche un pezzo di codice dove ho fatto il mio test:
geo_point_1 = geo_fields.GeoPoint.from_latlon(self.env.cr, 45.4640976 ,9.191926500000022)
       
        zip_match = self.env['geo.localize.project'].geo_search(
            geo_domain=[('area_palazzo', 'geo_contains', geo_point_1)],
            limit=1
        )
        _logger.info('zip_match')
        _logger.info(zip_match)
        
        if zip_match:
            _logger.info('il punto è contenuto nell area')
        else : 
            _logger.info('il punto NON è contenuto nell area')
        _logger.info('***********************************************************************')


la funzione geo_search così come l'ho utilizzata, fa una ricerca su tutta la tabella dove sono contenuti i luoghi.

Spero possa servire a qualcuno questa risposta.
Ultima modifica: 1 Anno 4 Mesi fa da giuseppeflammia.
L\'Amministratore ha disattivato l\'accesso in scrittura al pubblico.
Tempo creazione pagina: 0.130 secondi

Odoo Italia Associazione - C.F: 94200470485 - Sede: Viale dei Cadorna, 83 - Firenze - Italy

Protected by R Antispam