Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 15452|Vastaus: 0

[Lähde] Java-paikannustiedot ElasticSearchissa (geo_point)

[Kopioi linkki]
Julkaistu 9.1.2019 17.25.39 | | |
Lyhyt johdanto

Tiedämme, että ES tukee monenlaisia tietotyyppejä, ja perustietotyyppien lisäksi se tukee myös tietotyyppejä, jotka tallentavat sijaintitietoja. ES:ssä on kaksi tyyppiä dataa, jotka tallentavat paikannustietoa, nimittäin geo_shap ja geo_point, ja esittelen lyhyesti geo_point tyypit alla
geo_point tukee useita tiedonsiirtomenetelmiä:

Merkkijono
Sijainti: leveys + "," + lon

taulukko
Sijainti: {"lat": ...,"lon": ...}

Tavoite
Sijainti: [lon, leveys]


Huomautus: Luultavasti jokainen on astunut tälle kuopalle vähintään kerran == Maantieteelliset koordinaatit ovat leveysaste ensin ja pituusaste viimeinen ("leveysaste, pituusaste"), kun taas taulukot esitetään vastakkaisessa muodossa, pituusaste ensin ja leveysaste viimeinen ([pituusaste, leveysaste]). Itse asiassa Elasticesearchissa, olipa se jonon tai taulukon muodossa, leveysaste tulee ensin ja pituusaste viimeisenä. Kuitenkin alkuvaiheessa, jotta GeoJSONin muotoilumäärittelyyn saatiin mukautettua, taulukkomuotojen esitystä muutettiin. Tämä selitetään virallisella verkkosivustolla.
Yleisesti ottaen seuraavat kyselyvaatimukset geo_point tyypeille

Etäisyyskysely
Etsi pisteitä kantaman sisällä keskipisteestä

Etäisyysalueen kysely (vanhentunut)
Kyselypisteet keskipisteen määritetyllä alueella poistetaan API:sta uudessa ES-versiossa, joten en selitä tätä tässä liikaa
rajoittava kysely
Etsi pisteitä suorakulmion sisältä, joka koostuu tietystä pisteestä

Polygon-kysely
Etsi pisteitä monikulmiosta, joka koostuu useista pisteistä

Java-kyselyille rakennettu SearchSourceBuilder-tehdas on seuraava:


Palvelus on seuraava:

Ohjainkerroksen koodi on seuraava:

[1]. Kuinka käyttää

Ennen kuin käytämme geo_point-tyyppejä, meidän tulisi ensin määritellä kenttä eksplisiittisesti geo_point-tyypiksi kartoittamalla indeksiä luodessamme seuraavasti:


Yllä olemme luoneet uuden indeksin nimeltä restraunt, ja sen kartoitustiedostossa määrittelemme nimenomaisesti "sijainti"-kentän tyypiksi "geo_point"

[2] Valmistele dataa

Kibanasta olemme valmistelleet seuraavat tiedot:


Olemme valmistelleet yllä seitsemän tietoa, ja sitten meidän täytyy suorittaa kysely nähdäksemme, täyttääkö rajapintamme tarpeemme.

[3] Tutkinta

Kyselyetäisyys


Kaksi muuta kysymystä ovat samat kuin yllä.




Edellinen:ElasticsearchParseException[kentän tulee olla joko [lat], [lon] tai [geohash]]
Seuraava:Discuz asentaa sovelluksen ja sanoo "Data ei ole tunnistettu, palauta" kiertotie
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com