2015年8月25日火曜日

2 - ol3.8ex 126a - Region Growing 1

「Region Growing (region-growing.html)」を参考に地図を表示してみます。
説明に次のようにあります。

Click a region on the map. The computed region will be red.
地図上の領域をクリックします。計算された領域は赤になります。

This example uses a ol.source.Raster to generate data based on another source. The raster source accepts any number of input sources (tile or image based) and runs a pipeline of operations on the input data. The return from the final operation is used as the data for the output source.
この例では、別のソースに基づいてデータを生成する ol.source.Raster を使用しています。ラスタソースは、任意の数の入力ソース(タイルまたは画像ベース)を受け取り、入力データに対する operation のパイプラインを実行します。最後の operation からのリターンは、出力ソースのデータとして使用されます。

In this case, a single tiled source of imagery data is used as input. The region is calculated in a single "image" operation using the "seed" pixel provided by the user clicking on the map. The "threshold" value determines whether a given contiguous pixel belongs to the "region" - the difference between a candidate pixel's RGB values and the seed values must be below the threshold.
この場合、画像データの単一のタイルソースは、入力として使用されます。領域は、マップ上のユーザのクリックにより提供される「種」の画素を使用して、単一の「画像」の operation で計算されます。「しきい」値は、与えられた連続したピクセルが「領域」に属しているかどうかを判定します。候補画素の RGB 値及びシード値の差がしきい値以下でなければならななりません。

This example also shows how an additional function can be made available to the operation.
この例では、追加関数を operation に利用可能にさせる方法も示しています。


HTML ファイルの作成
a Eclipse のメニューの「ファイル」->「ファイルを開く」をクリックします。





b 「ファイルを開く」ウィンドウで、「user」->「mapsite」->「ol3proj」->「v3.8.2」->「examples」->「region-growing.html」をクリックして選択し、「OK」ボタンをクリックします。
同じように「region-growing.js」を開きます。





c メニューの「ファイル」->「新規」 -> 「ファイル」をクリックします。



d 「ファイル」ウィンドウで「ol3proj」をクリックして選択し、「ファイル名」を「2126-ol3ex.html」と入力し、「次へ」ボタンをクリックします。








e 「File Template」ウィンドウで「HTML 5 Template」をクリックして選択し、「OK」ボタンをクリックします。











f 「region-growing.html」の内容をコピーして「2126-ol3ex.html」に貼り付け、修正します。
g 同じように、新規に「2126-ol3ex.js」ファイルを作成し、「File Template」ウィンドウで「JavaScript Template」をクリックして選択し、「完了」ボタンをクリックして、「region-growing.js」の内容をコピーして貼り付け、修正します。「region-growing-require.js」も「2126-ol3ex-require.js」に貼り付けます。「region-growing.css」を同じディレクトリにコピーします。

「2126-ol3ex.html」
<!doctype html>
<html lang="en">
 <head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="chrome=1">
  <meta name="viewport" content="initial-scale=1.0, user-scalable=no, width=device-width">
  <link rel="stylesheet" href="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-combined.min.css" type="text/css">
  <link rel="stylesheet" href="region-growing.css">
  <!--
  <link rel="stylesheet" href="../css/ol.css" type="text/css">
  <link rel="stylesheet" href="./resources/layout.css" type="text/css">

  <link rel="stylesheet" href="./resources/prism/prism.css" type="text/css">
  <script src="./resources/zeroclipboard/ZeroClipboard.min.js"></script>
  「resources」の位置が変わりました。
  -->
  <!-- ディレクトリ修正 -->
  <link rel="stylesheet" href="v3.8.2/css/ol.css" type="text/css">
  <link rel="stylesheet" href="v3.8.2/examples/resources/layout.css" type="text/css">

  <link rel="stylesheet" href="v3.8.2/examples/resources/prism/prism.css" type="text/css">
  <script src="v3.8.2/examples/resources/zeroclipboard/ZeroClipboard.min.js"></script>
  <title>Region Growing</title>
 </head>
 <body>
  <!-- 
  bootstrap-combined.min.css, ol.css, layout.css,
  CSSファイルで設定されたセレクタを使用。
  -->
  <header class="navbar" role="navigation">
   <div class="container" id="navbar-inner-container">
    <!--
    <a class="navbar-brand" href="./"><img src="./resources/logo-70x70.png"> OpenLayers 3 Examples</a>
    -->
    <!-- ディレクトリ修正 -->
    <a class="navbar-brand" href="v3.8.2/examples/"><img src="v3.8.2/examples/resources/logo-70x70.png"> OpenLayers 3 Examples</a>
   </div>
  </header>
  <div class="container-fluid">
   <div class="row-fluid">
    <div class="span12">
     <div id="map" class="map" style="cursor: pointer"></div>
     <table class="controls">
      <tr>
       <td>Threshold: <span id="threshold-value"></span></td>
       <td><input id="threshold" type="range" min="1" max="50" value="20"></td>
      </tr>
     </table>
    </div>
   </div>
   <div class="row-fluid">
    <div class="span12">
     <h4 id="title">Region Growing</h4>
     <p id="shortdesc">Grow a region from a seed pixel</p>
     <div id="docs">
     <p>
     Click a region on the map. The computed region will 
     be red.</p> <p>
     This example uses a <code>ol.source.Raster</code> 
     to generate data based on another source. The raster 
     source accepts any number of input sources (tile or 
     image based) and runs a pipeline of operations on 
     the input data. The return from the final operation 
     is used as the data for the output source.</p> <p>
     In this case, a single tiled source of imagery data 
     is used as input. The region is calculated in a 
     single "image" operation using the  
     "seed" pixel provided by the user clicking on 
     the map. The "threshold" value determines 
     whether a given contiguous pixel belongs to the 
     "region" - the difference between a candidate 
     pixel's RGB values and the seed values must
     be below the threshold.</p> <p>
     This example also shows how an additional function 
     can be made available to the operation.</p>
     <div id="api-links">Related API documentation: 
      <ul class="inline">
       <li>
        <!--<a href="../apidoc/ol.Map.html" title="API documentation for ol.Map">ol.Map>/a> -->
        <a href="v3.8.2/apidoc/ol.Map.html" title="API documentation for ol.Map">ol.Map</a>
       </li>,
       <li>
        <!-- <a href="../apidoc/ol.View.html" title="API documentation for ol.View">ol.View>/a> -->
        <a href="v3.8.2/apidoc/ol.View.html" title="API documentation for ol.View">ol.View</a>
       </li>,
       <li>
        <!-- <a href="../apidoc/ol.layer.Image.html" title="API documentation for ol.layer.Image">ol.layer.Image>/a> -->
        <a href="v3.8.2/apidoc/ol.layer.Image.html" title="API documentation for ol.layer.Image">ol.layer.Image</a>
       </li>,
       <li>
        <!-- <a href="../apidoc/ol.layer.Tile.html" title="API documentation for ol.layer.Tile">ol.layer.Tile>/a> -->
        <a href="v3.8.2/apidoc/ol.layer.Tile.html" title="API documentation for ol.layer.Tile">ol.layer.Tile</a>
       </li>,
       <li>
        <!-- <a href="../apidoc/ol.proj.html" title="API documentation for ol.proj">ol.proj>/a> -->
        <a href="v3.8.2/apidoc/ol.proj.html" title="API documentation for ol.proj">ol.proj</a>
       </li>,
       <li>
        <!-- <a href="../apidoc/ol.source.BingMaps.html" title="API documentation for ol.source.BingMaps">ol.source.BingMaps>/a> -->
        <a href="v3.8.2/apidoc/ol.source.BingMaps.html" title="API documentation for ol.source.BingMaps">ol.source.BingMaps</a>
       </li>,
       <li>
        <!-- <a href="../apidoc/ol.source.Raster.html" title="API documentation for ol.source.Raster">ol.source.Raster>/a> -->
        <a href="v3.8.2/apidoc/ol.source.Raster.html" title="API documentation for ol.source.Raster">ol.source.Raster</a>
       </li>
      </ui>
     </div>
   </div>
  </div>
  <div class="row-fluid">
   <hr>
   <form method="POST" target="_blank" action="http://jsfiddle.net/api/post/jquery/1.11.0/">
    <input type="button" class="btn btn-info" id="copy-button" value="Copy example code">
    <input type="submit" class="btn btn-primary" id="jsfiddle-button" value="Create JSFiddle">
    <textarea class="hidden" name="js">
// --- 省略 ---
&lt;/html&gt;</code></pre>
    </div>
   </div>
  </div>
  <script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
  <script src="http://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"></script>
  <!--
  <script src="./resources/common.js"></script>
  <script src="./resources/prism/prism.min.js"></script>
  -->
  <!-- ディレクトリ修正
   CommonJS と
   prism.js
 -->
  <script src="v3.8.2/examples/resources/common.js"></script>
  <script src="v3.8.2/examples/resources/prism/prism.min.js"></script>
  <!-- 
  <script src="loader.js?id=region-growing"></script>
  -->
  <!-- ファイル修正 -->  <!-- ディレクトリ修正 -->
  <script src="loader.js?id=2126-ol3ex"></script>
  </body>
</html>


COMMONJS は

COMMONJS
http://webpack.github.io/docs/commonjs.html

に、次のようにあります。

The CommonJS group defined a module format to solve JavaScript scope issues by making sure each module is executed in its own namespace.
This is achieved by forcing modules to explicitly export those variables it wants to expose to the “universe”, and also by defining those other modules required to properly work.
To achieve this CommonJS give you two tools:
the require() function, which allows to import a given module into the current scope.
the module object, which allows to export something from the current scope.

CommonJSグループは、それ自身の名前空間内で実行されている各モジュールを確認することによって、JavaScriptのスコープ問題を解決するためのモジュールフォーマットを定義しました。
これは、それが「universe(?)」に公開したい変数を明示的にエクスポートするモジュールを強制することによって、同じように、正常に動作するのに必要な他のモジュールを定義することによって、達成されます。
この CommonJS を達成するために2つのツールを与えます:
require()関数、指定したモジュールを現在のスコープにインポートすることができます。
モジュールオブジェクト、現在のスコープからエクスポートすることができます。


Prism は、

Prism
http://prismjs.com/

に、次のようにあります。

Prism is a lightweight, extensible syntax highlighter, built with modern web standards in mind. It’s a spin-off from Dabblet and is tested there daily by thousands.
Prismは、最新のWeb標準に構築されたことを考慮し軽量で拡張可能なシンタックスハイライトです。それは Dabblet からスピンオフで、何千人も日々そこで試験されています。


ZeroClipboard は

ZeroClipboard v2.x
http://zeroclipboard.org/

に、次のようにあります。

The ZeroClipboard library provides an easy way to copy text to the clipboard using an invisible Adobe Flash movie and a JavaScript interface.
ZeroClipboard ライブラリは、見えない Adobe Flash ムービーとJavaScript のインターフェイスを使用してテキストをクリップボードにコピーする簡単な方法を提供します。

Debian 8 では動作しませんでした。ボタンを右クリックしたときに flash のコンテキストメニューが表示されると動作しています。

0 件のコメント: