èšäºã«ã€ããŠ
ããã«ã¡ã¯ïŒ
ãã®èšäºã§ã¯ååãåŠç¿ããæè¡ã䜿ã£ãŠã
ãªãŒãã³ããŒã¿ã®å¯èŠåãããããã®éçºã«ã€ããŠæžããŠããŸãïŒ
âä»åäœæãããã®(æ±äº¬ã®é¿é£æããŒã¿ãçµ±åãããããäžã«å¯èŠå)

â»GitHubã®ãªããžããªã¯ãã¡ãã«å
¬éããŠããŸãã
âä»åäœæãããã®ã®æ§æã€ã¡ãŒãž

ååãŸã§ã®ãããã
4æã«å
¥ç€ŸåŸã®æ°åç ä¿®ã§ã¯JavaãSQLãªã©ã®åºæ¬ç(?)ãªå
容ãåŠç¿ããŸããã
ç ä¿®å
容ã埩ç¿ããããæ¬é
å±ïŒ
ãããªç§ã«åºããã課é¡ã¯ãFIWAREã§ãªãŒãã³ããŒã¿ãå¯èŠåããããšãããã®ã§ãã...
次ã
ã«åºãŠããè¬ã®åèªéã«è¥å¹²ã®ããŸãããèŠããªãããå¿
æ»ã«ã¡ã¢ãåã£ãŠããŸãã![]()
äžããããæéã¯ïŒãæé...
ããããããªãã
ããèããç§ã¯è¬ã®åèªéãåŠç¿ããéçºãå§ããã®ã§ãã...
éçºã®è»è·¡
掻çšããæè¡
- FIWARE
- Deno
- Typescript
- Docker
- dim
- Git, GitHub
å©çšãããµã€ã
-
ãªãŒãã³ããŒã¿æ€çŽ¢ãµã€ã
-
WireCloudã®ãŠã£ãžã§ãããŸãšããµã€ã
-
Typescriptãæžãéã®ãã¹ããã©ã¯ãã£ã¹ããŸãšãããµã€ã
äœãéçºãããã®äŒç»ã»æ€èš
ãã®ãã§ãŒãºãæã倧å€ã§ãã![]()
å®éã«æãåãããå 容ãšããŠã¯ä»¥äžã®2ã€ã§ãã
-
ã©ã®ãããªããŒã¿ãå ¬éãããŠããã調ã¹ã
-
ãæ±äº¬ããªãŒãã³ããŒã¿ããªã©ã®ã¯ãŒãã§ã²ãããæ€çŽ¢ããŠããŒã¿ãæ¢ããŸããã
- ããŒã¿ã«ã¿ãã°æšªææ€çŽ¢ãµã€ããšãã䟿å©ãªãµã€ããçºèŠããŸããïŒ
-
-
ãªãŒãã³ããŒã¿ã®å©çšäºäŸã調ã¹ã
-
ããªãŒãã³ããŒã¿æŽ»çšäºäŸããªã©ã®ã¯ãŒãã§æ€çŽ¢ãããŸããïŒ
- ããžã¿ã«åºã掻çšäºäŸããŸãšããŠãããªãŒãã³ããŒã¿100ãçºèŠããŸããïŒ
-
ãã®åŸãäœåºŠãäœåºŠãå 茩ãšãã£ã¹ã«ãã·ã§ã³ãéããéçºãããã®ã決å®ããŸããïŒ
æ±äº¬é¿é£æããŒã¿ã®çµ±åãšå¯èŠå
-
ãããé²ããããšã«ãã£ãŠ...
-
ãã©ãã©ã«ãªã£ãŠããé¿é£æããŒã¿ãçµ±åããããšãåºæ¥ã
- è€æ°ã®ããŒã¿ã»ããã§ã¯ãªãã1ã€ã®ããŒã¿ã»ãããšããŠæ±ãã
- è€æ°ã«æ£ãã°ã£ãããŒã¿å
容ã1ã€ã«ãŸãšãããã
- éœå šäœããŒã¿ãšåžåºçºæããŒã¿ã®äž¡æ¹ã«ååšããããŒã¿ãçµ±å
-
圢åŒãå 容ãçµ±äžåºæ¥ããããæ±ãããããªã
-
ãšãã£ãã¡ãªãããçãŸããŠãããšèããŠããŸãïŒ
äœããã®ã決ãŸã£ãã®ã§ãéçºãé²ããŠãããŸãããïŒ![]()
ããŒã¿ã®ååŸ
å ã«ãè§ã«ãããŒã¿ãç¡ããã°é²ããããšã¯åºæ¥ãŸããïŒ
ãã®ããŒã¿ååŸã§éåžžã«ãäžè©±ã«ãªã£ãã®ã¯dimã§ãïŒ
dimãšã¯ïŒ
- ã³ãã³ãäžã§ããŒã¿æ€çŽ¢ãšããŠã³ããŒããè¡ãã
- ããŒã¿ã®ååŸå ãšããŒã¿ã«å¯ŸããåŠçã管çããŠããã
- dim.jsonãã¡ã€ã«ãå ±æããããšã§äžæ¬ã§å šããŒã¿ãååŸã§ãã
- ç§ãé å±ãããããŒã ã§éçºãããŠããŸãïŒ
ãšãã䟿å©ãªããŒã«ã§ãïŒ
ä»åã¯å人ã§ã®éçºã§ãããããŒã¿ååŸããã¿ã€ãã³ã°ãè€æ°åãããéåžžã«å©ãããŸããïŒ
以äžã«QiitaèšäºãšGitHunbã®ãªããžããªãžã®ãªã³ã¯ãæ²èŒããŠãããŸãã
èå³ã®ããæ¹ã¯ãã²ãissueãäžããããDeveloperãšããŠåå ãããããŠé ãããšå¬ããã§ãïŒ
ãããªdimã䜿ã£ãŠååŸãããªãŒãã³ããŒã¿ã¯å
šéšã§32ïŒ![]()
ãã®æ°åã¯æ±äº¬éœã®é¿é£æã«ã€ããŠæ€çŽ¢ãããçµæåºãŠãããã®å šãŠã§ãã
ãã®äžã«ã¯äœ¿ããªãããŒã¿ããããŸããã®ã§ãå®éã¯å
šéšã¯å å·¥ããŸããã§ããã...
䜿çšããªãã£ãããŒã¿ããã£ãçç±ãšããŠã¯ä»¥äžã®éãã§ãã
- å®å šã«éè€ããŠããããŒã¿(7å)
- æããã«åœ¢åŒã®ããããªããŒã¿, 衚ã«ãªã£ãŠããªãããŒã¿(2å)
- äžã€ã®ã·ãŒãã«è€æ°ã®ããŒãã«ããããšãã...
- äžã€ã®ã·ãŒãã«è€æ°ã®ããŒãã«ããããšãã...
- çµåºŠã緯床以å€ã®åº§æšç³»ãçšããããŠããããŒã¿(2å)
- åœåå°çé¢ã®èšç®ãœããã§å€æããŠã¿ãŸããããå¥ã®åº§æšãæããŠããŸããŸãã...
ãã®ãããå®éã«å å·¥ããããŒã¿ã¯å šéšã§21åã§ãïŒ
dimã«é¢ãããç¥ãã
Code for Japanäž»å¬ã€ãã³ããSocial Hack Dayãã«dimã®éçºãããžã§ã¯ããæã¡èŸŒã¿åå ããŸãïŒ
æ¥æïŒ2022幎10æ22æ¥(å) 11ã18æ
(ååå ã®æ¹ã¯10:45ããã¬ã€ãã³ã¹ / zoomã¯10:40ããæ¥ç¶éå§)
äŒå ŽïŒZoomã§ã®ãªã³ã©ã€ã³éå¬
èå³ãæã£ãŠããã ããæ¹ã¯æ¯éïŒãåå ãã ããïŒ
å
容ã«ã€ããŠã¯ä»¥äžã®YouTubeåç»ã®48:15ãããäŒãããŠããŸãã
Code for Japan Summitã«åŒç€Ÿãåå ããŸããïŒ
ããŒã¿ã®å å·¥
Typescriptãçšããããã°ã©ã ã§å å·¥ãè¡ããŸããïŒ
äœæãã tsãã¡ã€ã«ã¯Denoç°å¢äžã§å®è¡ããŠããŸãïŒ
tsãã¡ã€ã«ã¯å šéšã§5ã€ããã以äžã®éãã§ãã
- open_data_accessor.ts
- integration.ts
- entity.ts
- orion_client.ts
- main.ts
ã³ãŒããæžããšç©åãé·ããªããããããããã®ã³ãŒããžã®ãªã³ã¯ã匵ã£ãŠããŸãã
ã³ãŒãå
ã«ã³ã¡ã³ããæ®ããŠãããŸãã®ã§ãã芧ãã ããã
open_data_accessor.ts
OpenDataAccessorã¯ã©ã¹ãå®çŸ©ããŠããŸãã
CSVãã¡ã€ã«ã®ãã¹ãšã«ã©ã ã®åå(é
å)ãæž¡ãããšã§ãCSV圢åŒã®ããŒã¿ãã¬ã³ãŒãåã«å€æããŠãããŸãã
integration.ts
ShelterIntegratedã¯ã©ã¹ãå®çŸ©ããŠããŸãã
åŒæ°ã§ããã¬ã³ãŒãåé
åå
ã®æ°èŠããŒã¿ãèå¥ããçµ±åããŠãããŸãïŒ
entity.ts
ShelterEntityã¯ã©ã¹ãå®çŸ©ããŠããŸãã
åŒæ°ãšããŠçµ±åãããé
åãåãåããNGSIv2圢åŒã«å€æããŠãããŸãïŒ
convertToDisasterNameã¡ãœããã§ã¯ã
| 措氎 | å°é | ç«çœ | ... |
|---|---|---|---|
| 1 | 0 | 1 | ... |
ãšãã£ã衚ã [措氎, ç«çœ] ãšããstringé åã«å€æŽããŠããŸãã
orion_client.ts
OrionClientã¯ã©ã¹ãå®çŸ©ããŠããŸãã
NGSIv2圢åŒã«å€æãããããŒã¿é
åãFIWARE OrionãžPOSTããŠãããŸãïŒ
main.ts
玹ä»ãã4ã€ãé æ¬¡é©çšããŠãããŸãã
ææãæããŸããã®ã§ãããŒã¿ã®å¯èŠåãããŠãããŸãããïŒ
â»ãããã㯠GitHub Codespaces ã䜿ã£ãŠè¡ããŸãã
Denoã®ã€ã³ã¹ããŒã«
- ã¿ãŒããã«ãéãã以äžã®ã³ãŒããæã¡èŸŒã¿ãŸãã
curl -fsSL https://deno.land/x/install/install.sh | sh
â» ããŒã«ã«ç°å¢ã«CloneããŠã宿œããå Žåã¯ç°å¢ã«åãããŠãã¡ãããã€ã³ã¹ããŒã«ããŠãã ããã
- ã€ã³ã¹ããŒã«å®äºåŸã«è¡šç€ºããã以äžã®ã³ãŒããæã¡èŸŒã¿ãŸãã
export DENO_INSTALL="/home/codespace/.deno"
export PATH="$DENO_INSTALL/bin:$PATH"
Denoã®ã€ã³ã¹ããŒã«ã¯å®äºã§ãïŒ
dimã®ã€ã³ã¹ããŒã«
- 以äžã®ã³ãŒããæã¡èŸŒã¿ãŸãã
curl -L https://github.com/c-3lab/dim/releases/latest/download/x86_64-unknown-linux-gnu-dim -o ./dim
â» ããŒã«ã«ç°å¢ã«CloneããŠãã€ã³ã¹ããŒã«ããå Žåã¯ãã¡ããåèã«é²ããŠãã ããã
- ã€ã³ã¹ããŒã«ãå®äºãããã以äžã®ã³ãŒãã§æš©éèšå®ãè¡ããŸãã
chmod u+x ./dim
dimã®ã€ã³ã¹ããŒã«ã¯å®äºã§ãã
dimãå©çšããŠãªãŒãã³ããŒã¿ãâäžæ¬ã§âããŠã³ããŒã
- 以äžã®ã³ãã³ããæã¡èŸŒã¿ãŸãã
dim install -F
ãã®ã³ãã³ããæã€ã ãã§ã
dim.jsonãã¡ã€ã«ã«ç»é²ãããŠããããŒã¿ãããã«ããŠã³ããŒãåºæ¥ãŸãïŒ
ã³ã³ãããèµ·å(Docker)
ymlãã¡ã€ã«ãšããŠ
以äžã®ãµã€ããåèã«ããŸããïŒ
ãèªèº«ã®ç°å¢ã«åãããŠãã©ã«ãçŽäžã«docker-compose.ymlãšããŠä¿åããŠãã ããïŒ
- 以äžã®ã³ãŒããæã¡èŸŒã¿ãŸãã
docker compose up -d
- ã³ã³ãããæ£åžžã«ç«ã¡äžãã£ãŠããã確èªããŠã¿ãŸãããã
docker compose ps
â» èµ·åããŠããªãã³ã³ãããããã°
docker compose start
ãšæã¡èŸŒãã§ã³ã³ãããèµ·åããŸãã
å šãŠã®ã³ã³ãããèµ·åããŠããã°å®äºã§ãã
Wirecloudã®ã¹ãŒããŒãŠãŒã¶ãŒç»é²
- 以äžã®ã³ãŒããæã¡èŸŒã¿ãŸãã
docker compose exec wirecloud python manage.py createsuperuser
- ãŠãŒã¶ãŒåãã¡ãŒã«ã¢ãã¬ã¹ããã¹ã¯ãŒããç»é²ããŸãã
ãã®åŸããŠãŒã¶ãŒåããã¹ã¯ãŒãã¯äœ¿çšããŸãã®ã§ãã¡ã¢ããŠãããŠãã ããã
Typescriptã®å®è¡
deno run --allow-read --allow-net main.ts
ãå®è¡ãããªãŒãã³ããŒã¿ã®å å·¥ããæå ¥ãŸã§ãããŠããŸããŸãïŒ
Wirecloudã§ã®å¯èŠå
ãµã€ã³ã€ã³
http://localhost:80ã«ã¢ã¯ã»ã¹ããWirecloudã«æ¥ç¶ããŸã
å³äžã®ãµã€ã³ã€ã³ãã¿ã³ãããµã€ã³ã€ã³ããŸã
â»å
ã»ã©ã¡ã¢ããããŠãŒã¶åãšãã¹ã¯ãŒããããã§äœ¿çšããŸãã
ãŠã£ãžã§ããã®ã€ã³ã¹ããŒã«
以äžã®ãµã€ããããŠã£ãžã§ãããèªèº«ã®PCã«ããŠã³ããŒãããŸãã
å°å³ãŠã£ãžã§ãã
CoNWeT_ol3-map_1.2.3.wgtãããŠã³ããŒãããã
NGSIããŒã¿ååŸãŠã£ãžã§ãã
CoNWeT_ngsi-source_4.2.0.wgtãããŠã³ããŒãããã
å°å³ãŠã£ãžã§ããã«NGSIããŒã¿ãå
¥ãããŠã£ãžã§ãã
CoNWeT_ngsientity2poi_3.2.2.wgtãããŠã³ããŒãããã
Wirecloudã®ç»é¢ã«æ»ããŸããŠ...
ç»åã®å³ãã2çªç®ã®ããã€ã»ãªãœãŒã¹ããã¯ãªãã¯ããã

å·Šã®ãã¢ããããŒãããã¯ãªãã¯ããã

å
ã»ã©ããŠã³ããŒããã3ã€ã®ãŠã£ãžã§ãããã¢ããããŒãããã
ã¯ãŒã¯ã¹ããŒã¹ã®äœæ
1ã€åã®ããŒãžã«æ»ãããã³ããŒã¬ãŒãã¿ã³ãããæ°ããã¯ãŒã¯ã¹ããŒã¹ããéžæããã

奜ããªååã§ã¯ãŒã¯ã¹ããŒã¹ãäœæããŠãã ããã
åãŠã£ãžã§ããã®é 眮ã»èšå®
å·Šãã2ã€ç®ã®ãã³ã³ããŒãã³ãã远å ããéžæããã

å·ŠåŽã«åºãŠãããOpenLayersMapãã+ãã¿ã³ãã远å ããã

çãäžã®ãã¯ã€ã€ãŒãªã³ã°ããéžæããã

ãã³ããŒã¬ãŒãã¿ã³ã®å³ã«ãããã³ã³ããŒãã³ãã®æ€çŽ¢ããéžæããã
ãªãã¬ãŒã¿ãŒãããNGSI sourceã,ãNGSI Entity To PoIã
ãŠã£ãžã§ããããããOpenLayers Mapãã远å ããç»åã®ããã«ã€ãªãã

NGSI sourceã®èšå®ãç»åã®ããã«èšå®ãã

1ã€æ»ã£ãŠå°å³ã確èªãããš...
é¿é£æã®äœçœ®ããããã³ã°ãããŠããŸãïŒ
ãŸãšã
ä»åã®éçºãéããŠãæããããšã¯
-
èªæ²»äœããšã«å ¬éãããŠããããŒã¿ãå€ãã£ãããå°ãªãã£ãããã
â æšªå±éããããããªã£ãŠããã®ã§ã¯
-
å ¬éãããŠããããŒã¿ã®åœ¢åŒãå 容ãçµ±äžãããŠããªã
â ããŒã¿ãå©çšããéã«å å·¥ããå¿ èŠããã -
èªæ²»äœã«ãã£ãŠå ¬éããŠããå Žæããã©ãã©
â åžåºçºæHPã ã£ãããçãéœã®HPã ã£ãããã«ã¿ãã°ãµã€ãã ã£ãã... -
å€ãå ¬éãããŠããå Žæã§ãããŒã¿ã®çš®é¡ãå°ãªã
â ããããããšããŒã¹ã§èãããšåºæ¥ãªãå¯èœæ§ããã -
ããŒã¿ãäºäŸã®æŽæ°ãããŸãæããªã
â ããŒã¿ãæŽæ°ãããŠããªã
â ãµã€ãã®ã¬ã€ã¢ãŠããäºäŸç޹ä»ã«å€ããæãã
-
ããŒã¿ã®å å·¥ãé¢å
â åãçš®é¡ã®ããŒã¿ã§ãèªæ²»äœã«ãã£ãŠäžèº«ãéãã®ã§å å·¥æ¹æ³ãå€ããå¿ èŠããã
ãšããç¹ãéçºããäžã§ããã¯ã«ãªã£ãŠãããã ãšæããŸããã
ãããã課é¡ããããšããããšãä»åŸã®æ¥åã«æŽ»ãããŠãããããšèããŠããŸãïŒ
æåŸãŸã§èªãã§ããã ããããããšãããããŸããã
çæ§ã®äœãããã®ã圹ã«ç«ãŠãã°å¬ããã§ãïŒ![]()