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
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
89
OSI reference model Layer I
tfunato
0
62
Goで作るWebアプリケーション Echo 編 といいつつGoの説明多い
tfunato
0
110
Scalaで実装した 分散処理システムの超概要
tfunato
0
210
Docker勉強会
tfunato
1
160
Other Decks in Technology
See All in Technology
AIエージェントがあれば技術書なんてすぐ書けるでしょ→無理でした
watany
6
1.1k
最新IoT事例11選に学ぶ!現場の成功パターンと実践のコツ【SORACOM Discovery 2026】
soracom
PRO
0
120
StepFunctionsとGraphRAGを活用した暗黙知活用のためのRAG基盤
yakumo
0
180
なぜ、あなたのエージェントは言うことを聞かないのか
segavvy
1
560
人手不足への挑戦:車両保全を支えるIoTとクラウド内製化の道【SORACOM Discovery 2026】
soracom
PRO
0
150
データベース研修【MIXI 26新卒技術研修】
mixi_engineers
PRO
1
600
新たなDBアーキテクチャ「LTAP」にDeep Dive!!
inoutk
0
130
AWS環境のセキュリティ不安を解消した企業事例 ~よくある課題と対策を一挙公開~
asanoharuki
0
230
AIとハーネスで育てるトランスコンパイラ / 20260722 Yasushi Katayama
shift_evolve
PRO
4
1.1k
AI Agent を本番環境へ―― Microsoft Foundry × Azure Serverless で作る Enterprise-Ready な基盤
shibayan
PRO
1
640
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/aidevday2026
thara0402
0
120
AI時代におけるエンジニアの新たな役割──FDEとクオリアの探求/登壇資料(戸井田 裕貴)
hacobu
PRO
0
620
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
515
110k
GitHub's CSS Performance
jonrohan
1033
470k
HDC tutorial
michielstock
2
760
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
190
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.4k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.8k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
270
Faster Mobile Websites
deanohume
310
32k
Leading Effective Engineering Teams in the AI Era
addyosmani
9
2.2k
Visualization
eitanlees
152
17k
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
640
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
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠