サポート > PC-MAPPING ヒント集 > スクリプト > スクリプトによる文字列読み上げ
スクリプトによる文字列読み上げ
最近では、サウンドコントローラー、スピーカーを標準装備しているパソコンが増えています。
しかし、これらの機能はGISと関係なく、実業務で使用されていないのが実情ではないでしょうか?
従来の測量やGISに囚われずに、もっと最新技術や機能を使用して、自治体だけでなく一般にもアピールできると考えます。
PC-MAPPINGは、[通信ポートコマンドモニタ]機能でIC/磁気カードリーダーやバーコードリーダーからデータを取得するなどの機能を追加してきました。
皆さまも「これができたら面白い」と思われるアイデアがあれば実現に向けて検討いたしますので、ご連絡下さい。
ここでは、ポリゴン内部属性のあるフィールドに入力されている文字列を読み上げるスクリプトをご紹介します。
■ サンプル
サンプル[script6.zip(約55KB)]をダウンロードする
地番図.pcm:サンプルプロジェクト
CellVoice.js:サンプルJScript
CellVoice.vbs:サンプルVBScript

■ 準備
JScriptの場合「CellVoice.js」、VBScriptの場合「CellVoice.vbs」を記述します。
ここでは、「CellVoice.js」を例に記述します。

  1. 本スクリプトはパソコンにサウンドコントローラー、スピーカーが装備されていなければ動作しません。ご注意下さい。

  2. ダウンロードしたファイルを「C:\sample\script6」フォルダーへ解凍します。
    PC-MAPPINGを起動し、解凍したプロジェクトファイル「地番図.pcm」を開きます。

  3. [プロジェクト]リボン-[プロジェクト設定]-[プロジェクト]を実行し、[プロジェクトエキスパート]-[スクリプト]パネルを表示します。

  4. <読込>ボタンを押し、「CellVoice.js」ファイルを開きます。
    ここにスクリプトが記述されます。

    JScriptの場合、
    function CellVoice(strMsg)
    VBScriptの場合、
    Sub CellVoice_OnLoad()
    は、「CellVoice」コマンドとしてスクリプトを実行できる事を示します(記述内容につきましては、スクリプト内コメント(緑文字)をご覧下さい)。

  5. 「画地」レイヤーのレイヤーエキスパートを表示し、[ポリゴン]パネルを開きます。
    ポリゴン内部属性の「所有者」フィールドを読み上げます。

■ 実行
  1. OSメニュー[スタート]-[Windowsシステムツール]-[コントロールパネル]を実行し、「コントロールパネルの検索」に「音声認識」と入力、検索を行います。

  2. [音声認識]を選択し、[音声合成]メニューから「音声認識のプロパティ」ダイアログボックスの[音声合成]パネルを開きます。
    ここで指定した「音声の選択」で「Microsoft Zira Desktop – English(United states)」を選択します。
    <適用>ボタンを押し、ダイアログボックスを閉じます。

  3. コマンドラインバーを表示します。
    表示されていない場合、[ワークスペース]リボン-[コマンドバー]-[コマンドラインバー]を実行します。

  4. コマンドラインバーに「CellVoice」と記述し、Enterキーを押します。
    なお、全角、半角、大文字、小文字を認識しますので入力時は注意して下さい。

  5. マウス入力待ちの状態になりますので、「Nadeshiko university」ポリゴンをスナップします。

  6. すると、スピーカーから「Nadeshiko university」と英語読み上げされている事が確認できます。

■ 音声認識機能について
ここで使用されている音声認識はOS(Windows10)の標準機能です。
  1. OSメニュー[スタート]-[Windowsシステムツール]-[コントロールパネル]を実行し、「コントロールパネルの検索」に「音声認識」と入力、検索を行います。

  2. [音声認識]を選択し、[音声合成]メニューから「音声認識のプロパティ」ダイアログボックスの[音声合成]パネルを開きます。
    ここで指定した「音声の選択」「音声の速度」がPC-MAPPING側でも反映されます。
    なお、「Microsoft Zira Desktop – English(United states)」は英語しか音声認識できませんのでご注意下さい。

  3. 「Microsoft Haruka Desktop - Japanese」は日本語を音声認識します。

■ 参考
[プロジェクト]リボン-[プロジェクト設定]-[プロジェクト]の[スクリプト]パネルに記述されている
function CellVoice(strMsg)
は、「CellVoice」コマンドとして処理できますので、クイックバーのボタンを押して実行する事も可能です。
また、リレーション機能を利用して、ポリゴン属性照会時に「リレーション起動」ボタンから実行する事ができます。
リレーション

「画地」レイヤーのポリゴン内部属性「音声」フィールドをご覧下さい。
「リレーション」チェックボックスON、計算フィールドに「Command:」を使用して「CellVoice」コマンドが実行されるように記述しています。


[属性]リボン-[照会]-[ポリゴン属性照会]を実行し、「Nadeshiko university」ポリゴンをスナップ、「リレーション起動」ボタンを押すと、スピーカーから「Nadeshiko university」と英語読み上げされている事が確認できます。