Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
GISとして活用するElasticsearch
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Takashi Funato
November 18, 2014
Technology
8k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
GISとして活用するElasticsearch
Takashi Funato
November 18, 2014
More Decks by Takashi Funato
See All by Takashi Funato
AWS をちょっとわかった気になる / Kinda feel the AWS
tfunato
0
100
人に優しいAWS運用
tfunato
0
86
OSI reference model Layer I
tfunato
0
60
Goで作るWebアプリケーション Echo 編 といいつつGoの説明多い
tfunato
0
110
Scalaで実装した 分散処理システムの超概要
tfunato
0
200
Docker勉強会
tfunato
1
160
Other Decks in Technology
See All in Technology
200個のGitHubリポジトリを横断調査したかった
icck
0
110
2026 TECHFRESH 畢業分享會 - 開發日常大解密!從領域驅動到企業級上線
line_developers_tw
PRO
0
790
作って終わりにしない タイミーのセマンティックレイヤー育成の現在地
chanyou0311
4
2.2k
就職⽀援サービスにおけるキャリアアドバイザーのシフトスケジューリング
recruitengineers
PRO
1
140
AmazonRoute 53ではじめてのドメイン取得!HTTPS化までの道のりを整理してみた
usanchuu
3
130
小さくはじめるSLI/SLO ~育てながら組織に定着させる実践知~ / Starting Small with SLI/SLOs: Building Adoption Through Continuous Growth
nari_ex
5
1.7k
小さく始める AI 活用推進 ― 日経電子版 Web チームの事例/nikkei-tech-talk47
nikkei_engineer_recruiting
0
220
FDE という解 ― 暗黙知と明示知をつなぐ、伴走型エンジニアリング ―
otanet
0
130
現地で盛り上がった WWDC26 Keynote
zozotech
PRO
1
200
チームで進めるAI駆動アジャイル×ウォーターフォール
kumaiu
0
150
あなたの AI ワークスペースに、 専門コーダーを連れてくる - Amazon Quick Desktop 最新情報
kawaji_scratch
1
130
2026TECHFRESH畢業分享會 - Lightning Talk - E起 See See : 電商推薦讀心術? 數據說了算
line_developers_tw
PRO
0
790
Featured
See All Featured
Learning to Love Humans: Emotional Interface Design
aarron
275
41k
YesSQL, Process and Tooling at Scale
rocio
174
15k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
300
Tell your own story through comics
letsgokoyo
1
950
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
190
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs
inesmontani
PRO
3
3.5k
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
1
180
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
470
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
280
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
Transcript
GISͱͯ͠׆༻͢Δ Elasticsearch @tfunato ધށɹོ ୈ7ճelasticsearchษڧձ 2014/11/18
Who am I ? • @tfunato ધށɹོ • ࣄɿJavaͰWebɻ࠷ۙHadoopͱ͔ •
ϨίϝϯυΤϯδϯΆ͍ͷ࡞ͬͨΓ • جຊԿͰ • ઃܭɺ։ൃɺηοτΞοϓɺӡ༻ • Java-ja͔Βདྷ·ͨ͠
ElasticsearchͱҐஔใ • Ϛοϐϯά • geo point type • ҢܦͷΠϯσΫγϯά •
geohash • geo shape type • ଟ֯ܗͳͲͷܗΛΠϯσΫγϯά
ElasticsearchͱҐஔใ • ϑΟϧλʔ • geo distance filter • Ңܦใ͔Βͷڑ •
geo polygonfilter • ଟ֯ܗʹؚ·ΕΔϙΠϯτͷϑΟϧλ
ElasticsearchͱҐஔใ • ͦͷଞExperimentalͳػೳ • ଞɺ·ͩษڧதͰ͢
ͳʹ͔ ࡞Εͳ͍͔ʁ
Ґஔใ ͱ͍͑
Ingress
Ґஔใ ͱ͍͑
Ingress
IngressͷͤͭΊ͍ Ingress(ΠϯάϨε)GoogleͷࣾελʔτΞοϓʮφΠΞϯςΟοΫϥϘʯʢNiantic Labsʣ͕։ൃɾӡӦ͢ΔɺεϚʔτϑΥϯʹରԠͨ͠ɺ֦ுݱ࣮ٕज़Λར༻ͨ͠ΦϯϥΠϯήʔϜɾҐஔใήʔϜɻ201211݄ʹট੍Ͱϕʔλ൛ͷӡ༻͕։࢝͞Εɺ201310݄ʹͩΕͰࢀՃՄೳͷ ΦʔϓϯϕʔλʹҠߦ͠ɺ201312݄15ʹਖ਼ࣜӡ༻͕։࢝͞ΕͨɻॳAndroidઐ༻Ͱ͕͋ͬͨɺ20147݄23ΑΓiOSʹରԠͨ͠ɻϓϨΠ͢ΔͨΊͷΞϓϦέʔγϣϯGoogle Play͓ΑͼApp StoreͰແྉͰఏڙ͞Ε͓ͯΓɺΞΠςϜ՝ۚଘࡏ͠ͳ͍ɻGoogleͷαʔϏεͰ͋Δͨ ΊɺϓϨΠʹGmailΞΧϯτ͕ඞཁɻ·ͨGoogle+ͷࢀՃ͕ਪ͞Ε͍ͯΔɻΩϟονίϐʔThe world around you
is not what it seems.ʢ͋ͳͨͷपΓͷੈքɺݟͨ··ͷͷͱݶΒͳ͍ʣͰ͋ΔɻήʔϜͷίϯηϓτਞऔΓήʔϜͰ͋ΔɻϓϨΠϠʔ2ͭͷྗͷ͏ͪͷͲͪ Β͔ʹଐ͢Δɻੈք֤ʹଘࡏ͢ΔʮϙʔλϧʯΛࣗྗͷॴ༗ͱ͠ɺϙʔλϧಉ࢜ΛʮϦϯΫʯͯ͠ࡾ֯ܗΛඳ͘ͱɺͦͷଆ͕ʮίϯτϩʔϧϑΟʔϧυʯͱݺΕΔࣗਞʹͳΔɻͦͷ໘ੵͷେ͖͞Λڝ͏ɻ࠷େͷಛɺήʔϜϑΟʔϧυ͕ੈքͦͷͷɺݱ࣮ͷGoogle ϚοϓʹΑΔਤ ͦͷͷͩͱ͍͏͜ͱͰ͋Δɻϙʔλϧશͯݱ࣮ੈքʹଘࡏ͢ΔݐͳͲʹׂΓͯΒΕ͓ͯΓɺήʔϜதͰϙʔλϧΛ֬อ͢ΔͨΊʹɺ࣮ࡍʹͦͷॴ·Ͱߦ͔ͳ͚Ε͍͚ͳ͍ɻͦͷͨΊεϚʔτϑΥϯ্ͰGPSػೳΛ༗ޮʹ͢Δ͜ͱ͕ϓϨΠͷલఏͱͳ͍ͬͯΔɻεϚʔτϑΥϯͰΠ ϯλʔωοτଓͱGPSड৴͕Ͱ͖ΕੈքதͲ͜Ͱ͜ͷήʔϜΛϓϨΠ͢Δ͜ͱ͕Ͱ͖ΔɻήʔϜͷഎܠͱͳΔετʔϦʔ͕ઃఆ͞Ε͓ͯΓɺಈըͳͲͷܗࣜͰগͣͭ͠ެ։͞Ε͍ͯΔɻ͜ͷετʔϦʔʹج͍ͮͨେنΠϕϯτ͕ൃੜ͢Δ͜ͱ͋ΓɺΠϕϯτͰͷ྆ਞӦͷ݁Ռετʔ ϦʔʹӨڹΛٴ΅͢ɻݱ࣮ੈքͰల։͞ΕΔͱ͍͏ήʔϜͷಛੑ্ɺಛఆͷҬͷϓϨΠϠʔ͕ίϛϡχςΟΛ࡞ͨ͠ΓɺΦϑϥΠϯϛʔςΟϯάΛߦͬͨΓ͢Δػձ͕ଟ͍ɻ·ͨɺؠखݝͷΑ͏ʹIngressΛ؍ޫৼڵʹ׆༻͢Δ࣏ࣗମग़ݱͨ͠ɻήʔϜ՝ۚΞΠςϜଘࡏ͠ͳ͍ͷ ͷɺεϚʔτϑΥϯ༻ϞόΠϧόοςϦʔҠಈඅͳͲͷIngressʹؔ͢Δग़අϢʔβͷؒͰ௨শʮϦΞϧ՝ۚʯͱݺΕΔɻΤʔδΣϯτ[ฤू] ϓϨΠϠʔʮΤϯϥΠςϯυʯ͔ʮϨδελϯεʯɺͲͪΒͷྗʢFactionʣͷΤʔδΣϯτʹͳΔ͔ΛબΜͰήʔϜΛ։࢝͢Δɻ ίʔυωʔϜʢϓϨΠϠʔ໊ʣ͓Αͼॴଐྗݪଇͱͯ͠ม͑Δ͜ͱͰ͖ͳ͍ɻ·ͨɺҐஔใ͔Βੜ׆ൣғ͕͔Δ߹͋ΔͨΊɺίʔυωʔϜଞͷ׆ಈͱؔͳ͍ಗ໊ੑͷߴ͍ͷ͕ਪ͞Ε͍ͯΔ[7]ɻ ίʔυωʔϜޡͬͯຊ໊Λೖྗͯ͠͠·ͬͨ߹ͳͲͷΈมߋՄೳͰ͋Δ͕ɺGoogleͷ৹ࠪΛܦΔඞཁ͕͋Δ[8]ɻ ྗΛมߋ͢Δ߹ਃ͕ඞཁͰ͋ΔɻڐՄ͞ΕΔͷ1ϓϨʔϠʔʹ͖ͭ1ճͰɺมߋޙΞΠςϜɾܦݧͳͲ͕શͯॳظԽ͞ΕΔ[8]ɻ ήʔϜதͰΤϯϥΠςϯυɺϨδελϯε੨ɺதཱനͰද͞ΕΔɻ ϙʔλϧɾϨκωʔλʔ จԽతɾܳज़తɾफڭతʹॏཁͳॴ͕ϙʔλϧͱͳ͍ͬͯΔɻ ۩ମతʹ࢙ɺه೦ൾɺூ૾ɺύϒϦοΫΞʔτɺਤॻؗɺ༣ศہɺӺɺڭձɺਆࣾͳͲ[9][10]ɻ ͨͩ͠ɺେֶΛআֶ͘ߍɺফॺපӃɺܯॺͷΑ͏ͳڌɺݸਓͷɺةݥͳॴɺܠ؍ɺӬٱతͰͳ͍ͷʹ͍ͭͯঝೝ͞Εͳ͍Մೳੑ͕ߴ͍ͱ͞ΕΔɻ ͦͷҬͰϙʔλϧʹద͢ΔͱࢥΘΕΔॴ͕͋ΕɺήʔϜ্͔Β৽نϙʔλϧͷީิͱͯ͠ਃ͢Δ͜ͱ͕Ͱ͖ΔɻӡӦʹͯ৹ࠪ͠ೝΊΒΕΕ৽ͨʹϙʔλϧ͕૿͑Δɻ ϙʔλϧͷ৹ࠪʹཁ͢Δظؒ3ʙ4िؒͱ͞Ε͍ͯΔɻ ϙʔλϧ͔Β40ϝʔτϧҎʹ͖ۙͮɺϙʔλϧΛʮϋοΫʯ͢Δͱ֤छΞΠςϜ͕खʹೖΔɻ ग़ݱ͢ΔΞΠςϜͷϨϕϧϙʔλϧ͓ΑͼϓϨΠϠʔͷϨϕϧʹґଘ͢Δɻ ఢྗͷϙʔλϧΛϋοΫ͢ΔͱΞΠςϜʹՃ͑ͯAPʢܦݧʣ͕खʹೖΔ͕ɺϙʔλϧ͔ΒͷܸͰࣗΒͷXM͕ݮগ͢Δɻ ϙʔλϧʹʮϨκωʔλʯ(Resonator)Λઃஔ͢Δͱͦͷϙʔλϧ͕ࣗྗͷͷͱͳΔɻ ఢྗͷϙʔλϧʹରͯ͠ɺʮXMPόʔελʔʯʢXMP Bursterʣͱ͍͏ΞΠςϜͰશͯͷϨκωʔλΛഁյ͠ɺ͍ͬͨΜதཱʹ͔ͯ͠ΒϨκωʔλΛઃஔ͢ΔͱࣗྗͷͷͱͳΔɻ ϙʔλϧʹMODͱΑΕΔΞΠςϜΛઃஔ͢Δ͜ͱ͕ՄೳɻΞΠςϜʹΑͬͯޙड़ͷϦϯΫՄೳͳڑ͕৳ͼͨΓɺ߈ܸͷੑ্͕ͨ͠Γ͢Δɻ ϦϯΫͱίϯτϩʔϧϑΟʔϧυ ϙʔλϧʹϨκωʔλΛ8ຊઃஔ͢Δͱͦͷϙʔλϧ͔ΒଞͷࣗྗͷϙʔλϧΛʮϦϯΫʯ͢Δ͜ͱ͕Ͱ͖Δɻ ϙʔλϧಉ࢜ΛϦϯΫ͢ΔʹɺϦϯΫઌϙʔλϧͷʮϙʔλϧΩʔʯ͕ඞཁʹͳΔɻϙʔλϧΩʔϋοΫͰಘΔ͜ͱ͕Ͱ͖ΔΞΠςϜͷҰछͰ͋Δɻ ϙʔλϧͷϨϕϧʹΑͬͯϦϯΫՄೳͳڑมԽ͢Δ[12]ɻ࠷ߴϨϕϧʢϨϕϧ8ʣͷϙʔλϧͰ655kmɺߋʹMOD(Very Rare Link Amp)Λซ༻͢Ε࠷6877kmͷڑͰϦϯΫ͕ՄೳͱͳΔɻ 3ͭͷϙʔλϧΛࡾ֯ܗΛඳ͘Α͏ʹϦϯΫ͢Δͱɺਤ্ͷͦͷ෦͕ࣗྗͷʮίϯτϩʔϧϑΟʔϧυʯ(Control Field, CF)ͱͳΔɻίϯτϩʔϧϑΟʔϧυΛ࡞͢Δͱɺͦͷ໘ੵͱਓޱີʹԠͨ͡ʮϚΠϯυϢχοτʯ(MU)ͱݺΕΔಘ͕खʹೖΔɻ ਓޱີ͕Өڹ͢ΔͨΊɺಉ͡໘ੵͷίϯτϩʔϧϑΟʔϧυͳΒํΑΓࢢ෦ͷํ͕MUͷ͕େ͖͘ͳΔ[12]ɻ ٯʹɺఢྗͷίϯτϩʔϧϑΟʔϧυΛߏ͍ͯ͠ΔϙʔλϧͷϨκωʔλΛഁյ͠தཱʹ͢ͱɺϦϯΫ͓ΑͼίϯτϩʔϧϑΟʔϧυഁյ͞ΕɺͦͷͷMUΛݮগͤ͞Δ͜ͱ͕Ͱ͖Δɻ ྆ྗͰMUͷ͕ଟ͍΄͏͕༏ͱͳΔɻ ٿද໘Λ24,576ׂ֤ͨ͠ηϧʢҬʣͰɺ175࣌ؒαΠΫϧ͝ͱʹଘ͍ͯ͠ΔίϯτϩʔϧϑΟʔϧυͷMU͕ूܭ͞Εͯউഊ͕ܾ·Γɺ͞ΒʹશҬͷMU͕߹ࢉ͞ΕੈքϨϕϧͰͷউഊ͕ܾ·Δɻ Ϩϕϧ ΤʔδΣϯτɺϙʔλϧɺΞΠςϜʢϨκωʔλXMPόʔελʔʣʹͯ͢ʮϨϕϧʯ͕͋ΔɻΞΠςϜͷϨϕϧ1͔Β8·ͰͰ͋Δ͕ɺΤʔδΣϯτͷϨϕϧ9Ҏ্ઃఆ͞Ε͍ͯΔɻ ΤʔδΣϯτͷϨϕϧAPʢAccess PointsʣͱݺΕΔܦݧΛੵΉ͜ͱͰ্͕͍ͬͯ͘ɻϨϕϧ8·ͰAPͷΈͰୡͰ͖Δ͕ɺϨϕϧ9Ҏ্APʹՃ͑ͯϝμϧͱݺΕΔ࣮Ұఆ֫ಘ͢Δඞཁ͕͋Δɻ ༻Ͱ͖ΔΞΠςϜΤʔδΣϯτͷϨϕϧʹґଘ͢Δɻྫ͑ɺϨϕϧ1ͷΤʔδΣϯτϨϕϧ2Ҏ্ͷΞΠςϜΛ༻Ͱ͖ͳ͍ɻ લड़ͷͱ͓ΓɺΞΠςϜͷϨϕϧ8·ͰͰ͋ΔͨΊɺΤʔδΣϯτͷϨϕϧ͕8ʹͳΕଘࡏ͢ΔΞΠςϜ͕શͯ༻Ͱ͖Δɻ ϙʔλϧͷϨϕϧΞΠςϜͷ1ͭͰ͋ΔϨκωʔλʹґଘ͢ΔͨΊɺߴϨϕϧͷϙʔλϧΛ࡞ΔʹߴϨϕϧͷΤʔδΣϯτ͕ඞཁͱͳΔɻϨκωʔλͷഁյಉ༷Ͱ͋Δɻ 7JB8JLJQFEJB
ཁ੨ͱʹ͔Εͯ ਤ্ʹϚοϓ͞Εͨ ڌΛऔΓ߹͏ήʔϜ
IngressͰ݁ߏେࣄͳ͜ͱ •ఢͷߦಈཤྺ •ग़ॴ •ߦಈ࣌ؒ ͱରࡦʂ
Ingressͷެࣜπʔϧͷ IntelMapΛ༻͢Δͱ ͍ͭͲ͜Ͱ୭͕ԿΛ͍ͯͨ͠ ͷ͔Θ͔Δʂ
None
APIΛϋοΫͯ͠ ElasticsearchʹͿͬ͜Ή
Έ IntelMapͷAjax௨৴ΛRubyͰِͯ͠ɺ ௨৴σʔλΛܗͯ͠ElasticsearchʹͿͬ ͜Έ·͢ɻͦΕΛɺKibanaͰදࣔɻ
σϞ
·ͱΊ •ElasticsearchͱҐஔใ૬ੑ͕͍͍ •Ingress΄Ͳ΄Ͳʹ •Ingress੨৭͕͓קΊͰ͢
Θ͕RegistanceͰ ຊͷΤʔδΣϯτΛืू͓ͯ͠Γ·͢ ·ͨɺIngress Resistance Tokyo, Japan ͱ͍͏G+ίϛϡχςΟͰ͓ޓ͍࿈ܞΛ औΓͳ͕Β׆ಈΛߦ͍ͬͯ·͢ͷͰ ͪ͜ΒΑΓɺࢀՃΛ͓͓ͪͯ͠Γ·͢ http://join.resist.tokyo
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠