群生相。 サバクトビバッタ以外の蝗害を起こす種類は?日本にも群生相は起こるの?

【悲報】群生バッタ100兆匹、日本へ向けて爆進!「これにはWHOのバッタ予報士も絶望」「日本には神風があるから」「追い風やぞ」

群生相

サバクトビバッタ(成虫)。 (写真クリックで拡大) 日本にもいるトノサマバッタとは同じ科で分類的には近く、つまり極端な乾燥地帯に生息しているトノサマバッタをイメージすれば素人的な理解としてはまず合格だろう。 アジアのトノサマバッタは時々、大発生して農作物に壊滅的な被害を与えてきた。 大挙して飛来しては、すべてを食べてつくしてしまうのである。 日本では開拓時代の北海道の事例がよく引用される。 作物どころか家屋の障子紙まで食い尽くしたと言い伝えられるのが凄まじい。 最近では、2007年、関西国際空港で開港直前の「第2期島」で大発生し、調査の結果およそ4000万個体がいることが分かったという。 航空機の運航上の脅威になりかねないので、大がかりな防除が行われた。 その時の写真を見た人なら「なにこのバッタ?」と思ったはずだ。 なぜなら、我々に馴染みのあるトノサマバッタは、緑色っぽいのに対して、こちらはもっと黒っぽい、まるで別の体色だからだ。 ここで覚えておくべきキーワードは、「孤独相」と「群生相」。 ふだんぼくたちが見ているトノサマバッタは、孤独相といって、群れることなく、ほとんど単独で生きている。 もちろん繁殖する時には、雌雄が集うわけだが。 一方、群生相は、幼虫の時代から群れる。 なにかを引き金に、そのような行動の変化が起こり、同時に体色など姿形が変化する。 だから、いきなり群れて群生相になっているトノサマバッタを見ると、「なにこのバッタ?」となるわけだ。 さて、サバクトビバッタも、普段の孤独相から、群生相になると、群れをなして甚大な被害をもたらす。 目下、国際連合食糧農業機関 FAO がモニタリングを行っている害虫であり、アフリカのサブサハラ諸国や、中東での被害が常に警戒されている。 下図はFAOのウェブサイトから引いたもので、ちょうどぼくがモーリタニアを訪ねた頃、群生相の幼虫が発生しているという情報が登録されていた。 ほかの地域では静穏のように見えるが、これはモニタリングがきちんと為されているかどうかという問題もあり、必ずしも、モーリタニアだけで群生相の幼虫が出ているわけではなかろう、という説明を受けた。

次の

バッタの大群化はセロトニンが引き金

群生相

トノサマバッタの大群が起こす恐ろしい災害「蝗害」 トノサマバッタはおとなしい草食の昆虫です。 まあ言うほど大人しくありませんが、少なくとも人が近づけば逃げ出す程度で特に獰猛だとか怖いだとかは感じません。 しかしトノサマバッタの大量発生が続いた場合、トノサマバッタは集団でエサを食い尽くす恐ろしい生物へと変貌します。 草木、農作物、家の建材、果ては人にまで齧りつき、普段のトノサマバッタとは似ても似つかない獰猛な性格になります。 トノサマバッタが大量発生して植物を食べ尽くすことを「蝗害」と言い、災害に指定されるほどの被害が出ます。 殺虫剤が発達した現代においては見られなくなりましたが、日本でも昭和初期頃までは蝗害が起きていたんですよ。 目次 [閉じる]• ワタリバッタの集団が起こす災害「蝗害」 トノサマバッタは体長3~6cm程度のやや大柄なバッタで日本のバッタの中では最大級の大きさを誇ります。 食性は草食寄りの雑食で肉食昆虫が持つような攻撃性や強力な武器を持っていないので、小さな子どもでも安心して捕まえられる部類の昆虫です。 しかしこのトノサマバッタ、時として大群となり何もかも食べつくす獰猛な集団となります。 これを「蝗害」と言い、災害の一つに数えられるほどに甚大な被害をもたらします。 なお蝗害はイナゴの害と書きますがイナゴは関係なく、ワタリバッタやトビバッタなどの一部のバッタが引き起こします。 トノサマバッタに限った話ではありませんが、本稿においての記述はトノサマバッタで統一します。 蝗害ではトノサマバッタが数千万~時に数百億匹の集団を作り、辺り一面の植物を根こそぎ食べつくします。 日本においても昭和初期頃まで蝗害は度々発生しており、明治に北海道で発生した蝗害では360億匹ものバッタを駆除した記録が残っています。 そんなトノサマバッタが集団で大移動するから大変です。 時に数百キロの列を作ることもあり、過ぎ去るのに数日かかることもあります。 しかもこの集団も普通に道中で繁殖活動を行うので、一度蝗害が起きると翌年・翌々年と何年も蝗害が続くこともザラです。 殺虫剤が発達して未然に防ぐことが可能になった現代日本においてはあまり聞かなくなりましたが、発展途上国などでは未だに発生している恐ろしい災害なのです。 こんな恐ろしい生き物が我々が知るトノサマバッタだとはとても思えませんよね。 実際に蝗害の原因となるのは我々の知るトノサマバッタとは少し違うトノサマバッタが引き起こしています。 違うと言っても種が違う訳ではなく「群生相」のトノサマバッタによるものなのです。 蝗害のバッタを食べるのは危険 蝗害で食料が無くなるのなら、この大量のバッタを食べれば良いと思うかもしれません。 しかし食べるには大きな問題があります。 蝗害を防ぐために大量の殺虫剤を撒くので、蝗害のバッタは殺虫剤の成分を体に貯め込んでいる可能性があります。 通常殺虫剤は人への影響が少ない成分のものが使われますが、蝗害はそんな人に優しい殺虫剤を撒いている場合ではないのです。 そのため蝗害時にはバッタの売買が禁止されているほどです。 だから食べてどうにかするのは、あまり現実的ではありません。 環境によって生態が変わる「相変異」 我々が普段から見かけるトノサマバッタは「孤独相」のものです。 基本的に単独で生活し、同種同士は互いに距離を取ろうとします。 しかしトノサマバッタが大量発生して個体の密度が高い環境で育つと「群生相」の子を産むようになります。 群生相の個体は孤独相のものと比べて暗色・長い翅・短い足・幅広い頭などの特徴を持ち、また集団でいる事を好むようになります。 このように環境によって子の特徴や性格が変わる性質を「相変異」と言います。 相変異は一部の昆虫に見られる性質です。 群生相のトノサマバッタは長距離を移動するのに適した体を持っており、風に吹かれて遠くまで飛行できます。 時に何十kmも飛行することもあり、海を渡ってやってくることすらあります。 そして普段は食べない植物も食べる悪食になり、農作物・家の建材・動物に齧りつくようになるのです。 これはトノサマバッタが快適に暮らすのために住む場所を移動しなければならないための変化と考えられます。 要は互いの距離が近すぎる=数が多すぎて生きていくのが難しいから新天地への移動が必要になり、それに適した体や性格の子を産む訳です。 そして移動した先々で産卵し、トノサマバッタの生息域がより広がることになります。 個体の密度で子の特徴を変えてしまうなんて凄い仕組みですよね。 生命の神秘を感じます。

次の

トノサマバッタの相変異についての生態ゲノム学的研究

群生相

caller. addEventListener event. removeEventListener "DOMContentLoaded", completed, false ; window. detachEvent "onreadystatechange", completed ; window. merge this, jQuery. nodeType? context. context context. constructor context. selector! selector; this. trigger "ready". js for details concerning isFunction. They return false on IE 2968. obj jQuery. type obj! nodeType jQuery. call obj. constructor. data typeof data! merge [], parsed. JSON. JSON. js if rvalidchars. test data. replace rvalidescape, " ". replace rvalidtokens, "]". data typeof data! XMLDOM" ; xml. xml! xml. documentElement xml. getElementsByTagName "parsererror". java. replace rmsPrefix, "ms-". nodeName. each options. optionsCache[ options ] createOptions options : jQuery. options. slice? args. Callbacks "once memory" , "resolved" ], [ "reject", "fail", jQuery. Callbacks "once memory" , "rejected" ], [ "notify", "progress", jQuery. done arguments. isFunction returned. promise. done newDefer. resolve. fail newDefer. reject. progress newDefer. newDefer. promise : this, fn? jQuery. disable, tuples[ 2 ][ 2 ]. isFunction subordinate. promise? If resolveValues consist of only a single Deferred, just use that. subordinate : jQuery. isFunction resolveValues[ i ]. promise. done updateFunc i, resolveContexts, resolveValues. fail deferred. reject. setAttribute "className", "t" ; div. getElementsByTagName "a" [ 0 ]; if! all! all. appendChild document. getElementsByTagName "input" [ 0 ]; a. style. className! innerHTML is used leadingWhitespace: div. firstChild. div. getElementsByTagName "tbody". div. getElementsByTagName "link". test a. test a. style. style. input. document. createElement "form". createElement "nav". cloneNode true. outerHTML! support. boxModel DEPRECATED in 1. 8 since we don't support Quirks Mode boxModel: document. cloneNode true. opt. createElement "input" ; input. setAttribute "value", "" ; support. setAttribute "type", "radio" ; support. setAttribute "checked", "t" ; input. createDocumentFragment ; fragment. cloneNode true. cloneNode true. lastChild. click if div. cloneNode true. mozilla. attributes[ eventName ]. style. cloneNode true. style. style. getElementsByTagName "body" [0]; if! createElement "div" ; container. style. appendChild container. div. getElementsByTagName "td" ; tds[ 0 ]. style. style. style. style. offsetTop! getComputedStyle because jsdom on node. js will break without it. if window. top! appendChild document. createElement "div" ; marginDiv. style. style. style. style. style. parseFloat window. style. zoom! style. style. firstChild. style. offsetWidth! test data? jQuery. queue jQuery. stop; fn. empty. Callbacks "once memory". access this, jQuery. prop, name, value, arguments. propFix[ name ] name; return this. addClass value. call this, j, this. jQuery. toggleClass value. call this, i, this. state :! self. hasClass className ; self[ state? this. "" : jQuery. arguments. valHooks[ elem. type ] jQuery. valHooks[ elem. nodeName. get elem, "value"! isFunction value ; return this. nodeType! call this, i, self. valHooks[ this. type ] jQuery. valHooks[ this. nodeName. hooks! "set" in hooks hooks. value is undefined in Blackberry 4. value. attributes. value; return! val val. specified? elem. value : elem. values. jQuery. attrHooks[ name ] rboolean. test name? set elem, value, name! get elem, name! getAttribute! handler. event. e jQuery. event. triggered! type? jQuery. event. dispatch. apply eventHandle. split ". event. special. delegateType : special. event. expr. match. needsContext. test selector , namespace: namespaces. join ". special. setup special. setup. add. call elem, handleObj ; if! handleObj. handler. handler. splice handlers. event. elemData! split ". event. event. special. delegateType : special. handler handler. tmp tmp. test handleObj. splice j, 1 ; if handleObj. remove. handlers. special. teardown special. teardown. call elem, namespaces, elemData. removeEvent elem, type, elemData. call event, "type"? event. call event, "namespace"? event. namespace. split ". event. indexOf ". split ". shift ; namespaces. indexOf ":" 1? bubbleType : special. event. special. apply elem. jQuery. event. find sel, this, null, [ cur ]. call preferredDoc. documentElement. childNodes, 0 [0]. context. ownerDocument context : preferredDoc! selector typeof selector! nodeType! ownerDocument. apply results, slice. call context. apply results, slice. call context. rbuggyQSA. nodeName. toLowerCase! apply results, slice. call newContext. ownerDocument elem. documentElement; return documentElement? documentElement. nodeName! node. nodeType! doc. appendChild doc. createComment "" ; return! div. lastChild. 6 div. div. getElementsByClassName! div. getElementsByClassName "e". 2 caches class attributes and doesn't catch changes div. lastChild. getElementsByClassName "e". insertBefore div, docElem. getElementsByName expando. length; support. doc. firstChild. getAttribute! firstChild. getElementById! parentNode? getElementById! getElementById id ; return m? getAttributeNode! getAttributeNode "id". getAttributeNode! tagNameNoComments? getElementsByTagName! getElementsByName! getElementsByClassName! jquery. div. querySelectorAll "[selected]". div. querySelectorAll ":checked". div. querySelectorAll ":enabled". push ",. matchesSelector docElem. mozMatchesSelector docElem. webkitMatchesSelector docElem. oMatchesSelector docElem. call div, "[s! push "! contains docElem. compareDocumentPosition? contains? adown. contains bup : a. compareDocumentPosition? parentNode. compareDocumentPosition? aup! 1 : aup? -1 : bup? sort sortOrder ; support. ownerDocument elem! rbuggyMatches! rbuggyMatches. rbuggyQSA. document. nodeType! ownerDocument context! ownerDocument elem! getAttributeNode name elem. specified? val. support. detectDuplicates; results. nodeName. nodeName. nodeType; if! toLowerCase ; if match[1]. filter. indexOf " ", unquoted. length - excess - unquoted. replace runescape, funescape. nodeName. test elem. className typeof elem. getAttribute! result! slice -check. slice 0, check. slice 0, 3! slice -4! elem. nodeName. node. nodeName. parent. firstChild : parent. or :nth-last-child... or :nth -last? -of-type... node. nodeName. pseudos[ pseudo ] Expr. setFilters[ pseudo. toLowerCase ] Sizzle. setFilters. hasOwnProperty pseudo. toLowerCase? results. textContent elem. innerText getText elem. ridentifier. replace runescape, funescape. elem. getAttribute "xml:lang" elem. getAttribute "lang" : elem. location. document. hasFocus document. elem. type elem. nodeName. elem. elem. parentNode. Expr. test elem. test elem. nodeName. nodeName. matcherOut. splice preexisting, matcherOut. relative[ tokens[0]. nodeType? slice 0, i - 1. 1 : Math. random 0. relative[ tokens[1]. find["ID"] token. matches[0]. replace runescape, funescape , context [0]; if! slice tokens. shift. value. test selector? 0 : tokens. matches[0]. replace runescape, funescape , rsibling. test tokens[0]. apply results, slice. pseudos; Expr. attr; jQuery. selectors; jQuery. expr. pseudos; jQuery. uniqueSort; jQuery. getText; jQuery. isXML; jQuery. :parents prev? expr. match. length; if typeof selector! pushStack jQuery selector. jQuery. unique ret : ret ; ret. selector? this. length; return this. filter selector, this. filter selector. test selectors typeof selectors! jQuery selectors, context this. context : 0; for ; i -1 : jQuery. find. pushStack ret. jQuery. parentNode? this. first. prevAll. jquery? jQuery selector, context : jQuery. nodeType? merge this. get , set ; return this. pushStack jQuery. this. prevObject : this. prevObject. nodeType! nodeType! sibling elem. sibling elem. nodeName elem, "iframe"? elem. contentDocument elem. contentWindow. document : jQuery. merge [], elem. map this, fn, until ; if! runtil. guaranteedUnique[ name ]? jQuery. unique ret : ret; if this. jQuery. find. matchesSelector elems[0], expr? [ elems[0] ] : [] : jQuery. find. nodeType! nodeType! jQuery cur. qualifier. filter qualifier, filtered,! createDocumentFragment ; if safeFrag. createElement list. support. htmlSerialize? appendChild document. createElement "div" ; wrapMap. option; wrapMap. thead; wrapMap. td; jQuery. jQuery. text this : this. empty. ownerDocument document. wrapAll html. ownerDocument. eq 0. clone true ; if this[0]. firstChild. wrapInner html. contents ; if contents. isFunction html ; return this. wrapAll isFunction? html. parent. jQuery. replaceWith this. insertBefore elem, this. parentNode. parentNode. insertBefore elem, this. selector jQuery. filter selector, [ elem ]. contains elem. parentNode. removeChild elem. jQuery. support. push context. createTextNode rleadingWhitespace. jQuery. support. rtbody. test elem? tmp. rtbody. test elem? childNodes. tbody. childNodes. merge nodes, tmp. removeChild tmp. jQuery. support. inArray elem, selection! contains elem. test elem. support. event. event. event. removeEvent elem, type, data. event. removeAttribute! mozilla. -c[ea]. charAt 0. jQuery. contains elem. support. cssFloat? elem elem. elem. cssProps[ origName ] jQuery. cssHooks[ name ] jQuery. jQuery. jQuery. support. hooks! set elem, value, extra! get elem, false, extra! cssProps[ origName ] jQuery. cssHooks[ name ] jQuery. isNumeric num? style[ name ]; elem. js will break without it. if window. computed. jQuery. contains elem. createElement name. appendTo doc. css elem[0], "display" ; elem. test jQuery. css elem, "display"? jQuery. augmentWidthOrHeight elem, name, extra, jQuery. support. jQuery. support. cssHooks. currentStyle? elem. currentStyle. filter : elem. style. filter ""? isNumeric value? filter style. trim filter. removeAttribute is IE Only, but so apparently is this code path... style. currentStyle. test filter? filter. jQuery. support. cssHooks. webkit. cgi? jQuery. support. test computed? jQuery elem. expr. expr. filters. this. on name, null, data, fn : this. mouseenter fnOver. :about app app-storage. data is a string if s. location if document. createElement "a" ; ajaxLocation. exec ajaxLocation. ajaxPrefilter and jQuery. toLowerCase. dataTypes. dataTypes[ 0 ]! ajaxSettings. slice off, url. html selector? append jQuery. parseHTML responseText. each callback, response [ jqXHR. nodeType callbackContext. jquery? jQuery callbackContext : jQuery. toLowerCase ; if! if s. trigger isSuccess? "ajaxSuccess" : "ajaxError", [ jqXHR, s, isSuccess? --jQuery. event. mimeType jqXHR. dataTypes[ 0 ] s. dataTypes. dataFilter response, s. head jQuery "head" [0] document. createElement "script" ; script. script. test script. parentNode. insertBefore script, head. pop jQuery. jsonp! test s. url? "url" : typeof s. contentType "". test s. isFunction s. jsonpCallback? jsonpCallback : s. jsonp! test s. url? ActiveXObject "Microsoft. ajaxSettings. ActiveXObject? this. ajaxSettings. xhr ; jQuery. support. support. crossDomain jQuery. support. open s. type, s. url, s. async, s. username, s. open s. type, s. url, s. overrideMimeType s. send s. knobs-dials. readyState! text? cssNumber[ prop ]? css tween. style tween. Deferred. max 0, animation. tweens. tweens[ index ]. Tween elem, animation. opts, prop, end, animation. opts. specialEasing[ prop ] animation. opts. easing ; animation. tweens. animation. tweens. tweens[ index ]. props; propFilter props, animation. opts. call animation, elem, props, animation. isFunction animation. opts. opts. start. timer jQuery. opts. progress animation. opts. progress. done animation. opts. done, animation. opts. complete. fail animation. opts. fail. always animation. opts. extend, this wont overwrite keys already present. opts. empty. fire; hooks. empty. hooks. unqueued--; if! jQuery. queue elem, "fx". empty. overflow, style. overflowX, style. jQuery. support.

次の