Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
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
110
人に優しいAWS運用
tfunato
0
91
OSI reference model Layer I
tfunato
0
66
Goで作るWebアプリケーション Echo 編 といいつつGoの説明多い
tfunato
0
110
Scalaで実装した 分散処理システムの超概要
tfunato
0
210
Docker勉強会
tfunato
1
160
Other Decks in Technology
See All in Technology
SDDの運用にめげずに向き合った話
sansantech
PRO
1
130
ハードウェアコンペでもAI駆動開発が進んでいる話
iotengineer22
0
130
20260930_Gemma4_Hands-on
tsho
0
230
[2026 Oracle Technical Deep Dive] オンプレミスDBのCloud移行アプローチ:移行計画に基づくメソッドとツールの選択 (2026年9月17日開催)
oracle4engineer
PRO
0
150
事業活動を AI Ready にする攻めと守りのデータエンジニアリング / data-engineering-for-ai-ready-business
pei0804
3
580
検証フェーズはAIの回答を判断するための学習機会
toru_kubota
2
500
予測不能な実行エージェントを安全にサクッと試せるサンドボックス環境の話
sansantech
PRO
0
130
2026-10-01_MagicPod_QAハーネスエンジニアリングとQA組織の未来像
ynisqa1988
1
540
雪かき部 #7 もう怖くない!SELECT文!
foursue
0
280
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
140
1万名の社員が使う認証基盤で どう信頼性を担保するか?
kairim0
0
210
Google Cloud Next Tokyo 26登壇時のスクリプト
recruitengineers
PRO
0
200
Featured
See All Featured
How Software Deployment tools have changed in the past 20 years
geshan
2
35k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.9k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
300
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
58k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.8k
Evolving SEO for Evolving Search Engines
ryanjones
0
310
Bioeconomy Workshop: Dr. Julius Ecuru, Opportunities for a Bioeconomy in West Africa
akademiya2063
PRO
1
390
Highjacked: Video Game Concept Design
rkendrick25
PRO
1
470
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
350
The untapped power of vector embeddings
frankvandijk
2
1.9k
Exploring anti-patterns in Rails
aemeredith
4
520
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
͝ਗ਼ௌ ͋Γ͕ͱ͏͍͟͝·ͨ͠