ä»æ¥ãç§ãã¡ã¯å€§éã®éæ§é åããŒã¿ã«å²ãŸããŠããŸãããæè¿ãŸã§åŠçããããšã¯èããããŸããã§ããã ãã®ãããªããŒã¿ã®äŸã¯ãããšãã°ãæ£ç¢ºãªå€©æ°äºå ±ã«äœ¿çšããã倩æ°ã»ã³ãµãŒããŒã¿ã§ãã ããæ§é åãããããããããã»ã©å€§ãããªãããŒã¿ã»ããã¯ãããšãã°ãè¡æç»åã§ãïŒOpenDataScienceã³ãã¥ããã£ããã®å€ãã®èšäºã¯ãæ©æ¢°åŠç¿ã䜿çšããç»ååŠçã¢ã«ãŽãªãºã ã«ããããããŠããŸãïŒã ããšãã°ããã·ã¢å šåã®é«è§£å床ç»åã®ã»ããã¯ãæ°ãã¿ãã€ãã®ããŒã¿ãåããŸãã ãŸãã¯ãOpenStreetMapã®æ¹èšå±¥æŽã¯1ãã©ãã€ãã®xmlã§ãã ãŸãã¯ã¬ãŒã¶ãŒã¹ãã£ã³ããŒã¿ã æåŸã«ããããŒã³ãããã©ã¯ã¿ãŒã«è³ããŸã§ãå€ãã®æ©åšãåããèšå€§ãªæ°ã®ã»ã³ãµãŒããã®ããŒã¿ïŒã¯ããIoTã«ã€ããŠè©±ããŠããïŒã ããã«ãããžã¿ã«æ代ã§ã¯ãç§ãã¡èªèº«ãããŒã¿ãäœæããŸããããã®å€ãã«ã¯äœçœ®æ å ±ãå«ãŸããŠããŸãã ã¢ãã€ã«éä¿¡ãã¹ããŒããã©ã³äžã®ã¢ããªã±ãŒã·ã§ã³ãã¯ã¬ãžããã«ãŒã-ããããã¹ãŠããç§ãã¡ã®ç©ºéã«ããžã¿ã«ããŒãã¬ãŒããäœæããŸãã ãããã®ããŒãã¬ãŒãã®å€ãã¯ãéåžžã«å·šå€§ãªéæ§é åããŒã¿ã®ã»ãããäœæããŸãã
ç»åäž-GeoWaveã䜿çšããOpenStreetMapãã©ãã¯ã®èŠèŠå
GISãšåæ£ã³ã³ãã¥ãŒãã£ã³ã°ã®æ¥ç¹ã¯ã©ãã§ããïŒ ããã°ãžãªããŒã¿ãšã¯äœã§ããïŒ ã©ã®ããŒã«ã圹ç«ã¡ãŸããïŒ
ããã§ãå°ããããã³ã°ãããããããã§ãæå³ããªãããã§ã¯ãªããBigDataãBig Dataãšããçšèªã«ã€ããŠèšåããŸãã ãã®çšèªã®ãã³ãŒãã¯ãå€ãã®å Žåã解èªè ã®å人çãªæèŠãã©ã®ããŒã«ãã©ã®é åã§äœ¿çšãããã«äŸåããŸãã å€ãã®å ŽåãBigDataã¯ã倧éã®éæ§é åããŒã¿ãåŠçããããã®ãã¯ãããžãŒãšã¢ã«ãŽãªãºã ã説æããå æ¬çãªçšèªãšããŠäœ¿çšãããŸãã å€ãã®å Žåãäž»ãªã¢ã€ãã¢ã¯ãåæ£ã³ã³ãã¥ãŒãã£ã³ã°ã¢ã«ãŽãªãºã ã®äœ¿çšã«ããããŒã¿åŠçã®é床ã§ãã
ããŒã¿ã®åŠçé床ãšéã«å ããŠãããŒã¿ã®ãè€éããã«ã¯å¥ã®åŽé¢ããããŸãã è€éãªããŒã¿ã䞊ååŠçã®ãããŒãã£ã·ã§ã³ãã«åå²ããæ¹æ³ã¯ïŒ ãžãªããŒã¿ã¯ããšããšè€éãªããŒã¿ã§ãããããããã°ãžãªããŒã¿ããžã®ç§»è¡ã«äŒŽãããã®è€éããææ°é¢æ°çã«å¢å ããŠããŸãã ãããã£ãŠãæ°ååã®ã¬ã³ãŒãã ãã§ãªããæ°ååã®å°çãªããžã§ã¯ããåŠçããããšãéèŠã«ãªããŸãããããã®ãªããžã§ã¯ãã¯ããã€ã³ãã ãã§ãªããã©ã€ã³ãšããªãŽã³ã§ãã ããã«ãå€ãã®å Žåã空éé¢ä¿ã®èšç®ãå¿ èŠã§ãã
空éåå²
空éã€ã³ããã¯ã¹ä»ãã¯æå©ã«æ¥ãŸãããããŠãå€ãã®å Žåãå€å žçãªã€ã³ããã¯ã¹ä»ãæ¹æ³ã¯ããã§äžååã«é©çšã§ããŸãã 2次å ããã³3次å 空éã®ã€ã³ããã¯ã¹ä»ãã«ã¯å€ãã®ã¢ãããŒãããããŸãã ããšãã°ãå€ãã®æž¬å°ãããã¯ãŒã¯ãã¯ã¢ãã©ã³ãããªãŒãRããªãŒã«æ £ããŠããïŒ
æãèå³æ·±ãæ¹æ³ã®1ã€ã¯ãäžã®å³ã®ããŸããŸãªã空éå å¡«æ²ç·ããZæ²ç·ãããã³ã®ã«ããŒãæ²ç·ã§ãã ãããã®æ²ç·ã®çºèŠè ã¯ãžã¥ãŒãããã¢ãã§ããã äž»ãªã¢ã€ãã¢ã¯ã空éå šäœããã©ã¯ã¿ã«çã«åããæ²ç·ã䜿çšããŠãå€æ¬¡å 空éã1次å ã«å€æããããšã§ãã ããšãã°ããã«ãã«ãæ²ç·ãå¹³é¢ãæºããæ¹æ³ã¯æ¬¡ã®ãšããã§ãã
ãããã£ãŠããããã®æ²ç·ã¯å°çã®è¡šé¢ã«èŠããŸãã
ãããã®ã€ã³ããã¯ã¹ãæ¡çšããããšã§ããããããžãªããŒã¿ã®ããŒãã£ã·ã§ã³åå²ãè¡ãããšãã§ããŸãã æè¡ãåçºæããå¿ èŠããããŸããïŒ å¹žããªããšã«ããã§ã¯ãããŸããïŒ ãã§ã«ååšãããã¬ãŒã ã¯ãŒã¯ãå©ãã«ãªããŸãã ãããã®å€ãããããããããã«ç¬èªã®é©çšæ§ãšåŒ·ã¿ããããŸãã 以äžã«ãæã泚ç®ãã¹ããã®ã«ã€ããŠèª¬æããŸãã
GeoJinniïŒä»¥åã®SpatialHadoopïŒ
GeoJinniïŒä»¥åã¯SpatialHadoopãšåŒã°ããŠããŸããïŒã¯ãHadoopã®éåžžã«èå³æ·±ãæ¡åŒµæ©èœã§ãããHadoopã®ããŸããŸãªã¬ã€ã€ãŒãšã³ã³ããŒãã³ãã«å°ç空éæ©èœãè¿œå ããŠã倧ããªãžãªããŒã¿ãæ ŒçŽãåŠçãã€ã³ããã¯ã¹ä»ãããŸãã æ£ç¢ºã«ã¯ããã®æ¡åŒµæ©èœã¯MapReduceããã³ã¹ãã¬ãŒãžã¬ã€ã€ãŒã«åœ±é¿ããç¬èªã®æäœã¬ã€ã€ãŒãè¿œå ããŸãã
æäžäœã¬ãã«ã§ã¯ãæ°ããããŒã¿ã¿ã€ããè¿œå ããããžãªããŒã¿ãKey-ValueãšããŠä¿åããã³åŠçã§ããŸãã ãŸããããŸããŸãªãžãªããŒã¿åœ¢åŒãããŒãããã³ã¢ã³ããŒãããããã®ããŒã«ãè¿œå ãããŸãã Hadoopãªããžããªã®å€å žçãªæ§é ïŒãŸãã¯ããããã®äžåšïŒãšã¯å¯Ÿç §çã«ãGeoJinniã¯ããŒã«ã«ãšã°ããŒãã«ã®2ã€ã®ã€ã³ããã¯ã¹ã¹ããŒã¹å±€ãäœæããŸãã ã°ããŒãã«ã€ã³ããã¯ã¹ã䜿çšãããšãã¯ã©ã¹ã¿ãŒããŒãã§ããŒã¿ãããŒãã£ã·ã§ã³åå²ã§ããŸãããããŒã«ã«ã€ã³ããã¯ã¹ã¯åããŒãã®ããŒãã£ã·ã§ã³ã管çããŸãã ãã®æŠå¿µã«ãããã°ãªãããRããªãŒãR +ããªãŒã®3çš®é¡ã®ã€ã³ããã¯ã¹ã䜿çšã§ããŸãã ãã¹ãŠã®ã€ã³ããã¯ã¹ã¯ãŠãŒã¶ãŒã®èŠæ±ã«åºã¥ããŠæ§ç¯ãããHDFSã«çŽæ¥é 眮ãããŸãã
GeoJinniã¯ãæ¢åã®Hadoopã¯ã©ã¹ã¿ãŒã®æ¡åŒµæ©èœãšããŠã€ã³ã¹ããŒã«ãããŸããã¯ã©ã¹ã¿ãŒãåæ§ç¯ããå¿ èŠã¯ãããŸããã æ¡åŒµæ©èœã¯ãApache HadoopãClouderaãHortonworksãªã©ã®ããŸããŸãªHadoopãã£ã¹ããªãã¥ãŒã·ã§ã³ã«åé¡ãªãã€ã³ã¹ããŒã«ã§ããŸãã
ãžãªã¡ãµ
GeoMesaã¯ãã¹ããªãŒãã³ã°ããŒã¿ãå«ã倧ããªæ空éããŒã¿ã®åæ£åŠçãåæãèŠèŠåã®ããã«ç¹å¥ã«äœæãããããŒã«ã®ã»ããã§ãã ããšãã°ãIoTã»ã³ãµãŒããŒã¿ã¹ããªãŒã ããœãŒã·ã£ã«ãããã¯ãŒã¯ããŒã¿ã
倧èŠæš¡ãªããŒã¿ã»ãããæ ŒçŽããããã®åºç€ã¯ãAccumuloãHBaseãGoogle Bigtableãªã©ã®åæ£åã¹ãã¬ãŒãžã¿ã€ãã§ãã ããã«ãããè·é¢ãšé¢ç©ã䜿çšããã¯ãšãªãéããŠãã®ããŒã¿ã«ãã°ããã¢ã¯ã»ã¹ã§ããŸãã GeoMesaã§ã¯ãApache Kafkaã¹ããªãŒãã³ã°ã¡ãã»ãŒãžã·ã¹ãã çšã®ç¹å¥ãªã¬ã€ã€ãŒãä»ããŠãã»ãŒãªã¢ã«ã¿ã€ã ã§ããŒã¿ãåŠçããããšãã§ããŸãã
æåŸã«ãGISãµãŒããŒã«æ¥ç¶ããããšã«ãããGeoServer GeoMesaã¯OGCãããã³ã«WFSããã³WMSãä»ããŠã¹ããªãŒãã³ã°ãµãŒãã¹ãžã®ã¢ã¯ã»ã¹ãæäŸããŸããããã«ããããããããã°ã©ããŸã§ãæ空éåæããã³èŠèŠåã®åªããç¯å²ãæäŸãããŸãã
ãžãªãŠã§ãŒã
GeoWaveã¯ããã®æ§æ³ã«ãããŠãPostgreSQLã®ç©ºéæ¡åŒµã§ããPostGISã®é¡äŒŒç©ãšããŠèããããŠããŸããããAccumuloåæ£åã¹ãã¬ãŒãžçšã§ãã ã¯ããŒãºããœãŒã¹ã®ãããžã§ã¯ãã®ãŸãŸã§ãé·ãéãã®ãªããžããªã«éå®ãããŠããŸããã æè¿ã«ãªã£ãŠã³ãŒããApache Foundationã«è»¢éãããŸããã HBaseã¹ãã¬ãŒãžãšMapnikããããšã³ãžã³ã¯æ¢ã«æ¥ç¶ãããŠããŸãã
Accumuloã«å€æ¬¡å ã€ã³ããã¯ã¹ãæšæºã®å°ççã¿ã€ããšæäœãããã³PDALãã€ã³ãã¯ã©ãŠããåŠçããæ©èœãæäŸããŸãã ããŒã¿åŠçã¯MapReduceã®æ¡åŒµæ©èœãä»ããŠè¡ãããèŠèŠåã¯GeoServerã®ãã©ã°ã€ã³ãä»ããŠè¡ãããŸãã
ã³ã³ã»ããã¯GeoMesaãšéåžžã«äŒŒãŠãããåããªããžããªã䜿çšããŸãããæ空éãµã³ãã«ã§ã¯ãªããå€æ¬¡å ããŒã¿é åã®èŠèŠåã«çŠç¹ãåœãŠãŠããŸãã
ãžãªãã¬ãªã¹
GeoTrellisã¯å¯Ÿå¿ãããã®ãšã¯ç°ãªããŸãã ããã¯ã倧èŠæš¡ãªãžãªããŒã¿ã¢ã¬ã€ãæäœããããã®ããŒã«ãšããŠã§ã¯ãªããæšæºã®ãžãªããŒã¿ããªã¥ãŒã ã®æ倧åŠçé床ã®ããã«åæ£ã³ã³ãã¥ãŒãã£ã³ã°ãå©çšããæ©äŒãšããŠèããããŸããã ãŸããã©ã¹ã¿ãŒã®åŠçã«ã€ããŠèª¬æããŸãããå¹æçãªããŒãã£ã·ã§ã³ã·ã¹ãã ã«ããã空éæäœãšããŒã¿å€æãå®è¡ã§ããããã«ãªããŸããã äž»ãªéçºããŒã«ã¯ãScalaãšAkkaãåæ£åæããŒã«-Apache Sparkã§ãã
ãã®ãããžã§ã¯ãã®ã°ããŒãã«ãªç®æšã¯ãWebã¢ããªã±ãŒã·ã§ã³ã¬ãã«ã§ã¬ã¹ãã³ã·ãã§ãªãããªããŒã«ãæäŸããããšã§ããããã«ãããåæ£ã³ã³ãã¥ãŒãã£ã³ã°ã·ã¹ãã ã®äœ¿çšã«ããããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãå€ããã¯ãã§ãã æçµçã«ã¯ãGeoTrellisãPostGISãGeoServerãããã³OpenLayersãè£å®ãããªãŒãã³ãžãªãã¯ãããžãŒã®ãšã³ã·ã¹ãã ã®éçºã éçºããŒã ã¯æ¬¡ã®ç®æšãèšå®ããŸãã
- ã¹ã±ãŒã©ãã«ã§é«æ§èœãªWebãžãªãµãŒãã¹ãäœæãã
- ã倧èŠæš¡ãªãžãªããŒã¿ããåŠçããããã®åæ£ãžãªãµãŒãã¹ã®äœæ
- ããŒã¿åŠçããã»ã¹ã®æ倧䞊åå
GeoTrellisã¯ããžãªããã»ã·ã³ã°ã¢ãã«ã«ã¢ã¯ã»ã¹ããããã®ã¬ã¹ãã³ã·ãã§ã·ã³ãã«ãªRESTãµãŒãã¹ãäœæããããã«èšèšãããåªããéçºè ãã¬ãŒã ã¯ãŒã¯ã§ãã æé©åãšäžŠååã¯ããã¬ãŒã ã¯ãŒã¯èªäœã«ãã£ãŠè¡ãããŸãã
Hadoopã®GISããŒã«
EsriããŒã«ãããã¯æ£åŒã«å ¬éãããŠããŸããããã®äœ¿çšã¯äž»ã«Esri補åã§æå³ããããŸãã ã³ã³ã»ããã¯GeoJinniã«éåžžã«äŒŒãŠããŸãã
ããŒã«ã¯3ã€ã®ã¬ãã«ã«åãããŠããŸã
- Esri Geometry API for Javaã å°ç空éã®æœè±¡åãšæäœã§Hadoopãæ¡åŒµããããã®ã©ã€ãã©ãª
- Hadoopã®ç©ºéãã¬ãŒã ã¯ãŒã¯ã Hive Query Languageã§å°ç空éã¯ãšãªã䜿çšããããã®æ¡åŒµæ©èœ
- Hadoopã®ãžãªããã»ã·ã³ã°ããŒã«ã HadoopãšArcGISã®çŽæ¥çµ±åã«ããããã¹ã¯ãããããã³ãµãŒããŒã¢ããªã±ãŒã·ã§ã³ã§åæ£ç©ºé解ææäœãå®è¡ã§ããŸãã
次ã¯ïŒ
ãžãªããŒã¿ã¯åžžã«ããã°ããŒã¿ã«è¿ãå Žæã«ãããåæ£ã³ã³ãã¥ãŒãã£ã³ã°ããŒã«ã®åºçŸã«ãããå°çåŠè ã ãã§ãªãããŒã¿ã¢ããªã¹ãïŒãŸãã¯ããŒã¿ãµã€ãšã³ã¹ïŒãããŒã¿åæã®åéã§æ°ããªçºèŠãããããšãã§ããããã«ãªããéåžžã«èå³æ·±ãããšãã§ããŸãã 措氎ã®ã€ã³ã¹ã¿ã³ãã¢ããªã³ã°ãæ°Žå¹³ç·ã®äœæã空éçµ±èšã人å£åæãç¹çŸ€ããã®3次å ã¢ãã«ã®äœæãè¡æç»åã®åæã
次ã®èšäºã§ã¯ãããŒã«ãšãã®ç¯å²ã«ã€ããŠèª¬æããŸãã ããªãã®ã³ã¡ã³ãã¯ã以äžã®èšäºã®ãããã¯ãéçºããã®ã«åœ¹ç«ã¡ãŸãã
- æåã«èªã¿ãããã¬ãŒã ã¯ãŒã¯ã¯ã©ãã§ããïŒ
- åæ£ã³ã³ãã¥ãŒãã£ã³ã°ã®ã©ã®ã¢ããªã±ãŒã·ã§ã³ã«ã€ããŠè©³ããç¥ãããã§ããïŒ