サポート > PC-MAPPING ヒント集 > その他 > パス設定
パス設定
■ 「外部ファイル」のパス設定
「プロジェクトに登録されているレイヤーパスにデータがない」場合、プロジェクトファイルを基準とした相対パスで検索します。
  1. プロジェクトファイルがあるドライブで、記述したパスのフォルダーがあれば、そのフォルダー内のファイルを検索します。
  2. プロジェクトファイルがあるドライブ・フォルダーで、記述したパスのフォルダーがあれば、そのフォルダー内のファイルを検索します。
  3. プロジェクトファイルがあるドライブ・フォルダー内のファイルを検索します。
  4. 1.と3.の間で、フォルダ階層をプロジェクトパスとレイヤーパスにそれぞれ分離、再構成して組み立て直し、検索します。
※これらはレイヤーだけでなく、データベース、広域イメージ、広域ベクターなど、外部ファイルのパスを持つものは上記のように検索します。

プロジェクトファイル「C:\GISData\下水道管理\下水道管理.pcm」にレイヤーファイル「E:\Layer\下水管.nav」が登録されていて、このレイヤーファイルを「C:\GISData\下水道管理\Layer\下水管.nav」へ移動したとしても、プロジェクトはこのレイヤーを検索する事ができます。

■ 「リレーション」でのパス設定
「リレーションに記述されているパスにデータがない」、「リレーションのパスがフルパス記述されていない」場合、以下の手順で検索を行ないます。
@「リレーション」フィールドがベクターの内部属性にあり、そのレイヤーが内部データの場合
「リレーション」フィールドがデータベースにあり、そのデータベースが内部データの場合
プロジェクトファイル(*.pcm)を基準とした相対パスで検索します。
  1. プロジェクトファイルがあるドライブで、記述したパスのフォルダがあれば、そのフォルダー内のファイルを検索します。
  2. プロジェクトファイルがあるドライブ・フォルダーで、記述したパスのフォルダーがあれば、そのフォルダー内のファイルを検索します。
  3. プロジェクトファイルがあるドライブ・フォルダー内のファイルを検索します。
  4. 1.と3.の間で、フォルダ階層をプロジェクトパスとリレーションパスにそれぞれ分離、再構成して組み立て直し、検索します。

A「リレーション」フィールドがベクターの内部属性にあり、そのレイヤーが外部データの場合
レイヤーファイル(*.nav)を基準とした相対パスで検索します。
  1. レイヤーファイルがあるドライブで、記述したパスのフォルダーがあれば、そのフォルダー内のファイルを検索します。
  2. レイヤーファイルがあるドライブ・フォルダーで、記述したパスのフォルダがあれば、そのフォルダー内のファイルを検索します。
  3. レイヤーファイルがあるドライブ・フォルダー内のファイルを検索します。
  4. 1.と3.の間で、フォルダ階層をレイヤーパスとリレーションパスにそれぞれ分離、再構成して組み立て直し、検索します。

B「リレーション」フィールドがデータベースにあり、そのデータベースが外部データの場合
データベースファイル(*.ndv)を基準とした相対パスで検索します。
  1. データベースファイルがあるドライブで、記述したパスのフォルダがあれば、そのフォルダー内のファイルを検索します。
  2. データベースファイルがあるドライブ・フォルダーで、記述したパスのフォルダーがあれば、そのフォルダー内のファイルを検索します。
  3. データベースファイルがあるドライブ・フォルダー内のファイルを検索します。
  4. 1.と3.の間で、フォルダー階層をデータベースパスとレイヤーパスにそれぞれ分離、再構成して組み立て直し、検索します。

C 上記@〜Bの1.から4.でも見つからない場合
PC-MAPPINGの起動ディレクトリ(-prmdirオプションで起動されている時は、そのフォルダー)を検索します。

プロジェクトファイル「C:\GISData\下水道管理\下水道管理.pcm」にリレーション「C:\GISData\下水道管理\pdf\M10-1.pdf」と記述されている場合、これをE:\にコピーしてそこから起動した場合、「E:\GISData\下水道管理\下水道管理.exe」はリレーション「E:\GISData\下水道管理\pdf\M10-1.pdf」を検索する事ができます。

【特殊なパス設定】
%*******%のように%で囲われた部分をパス名として、現在アクティブなドキュメントのファイルパスとの相対で検索します。
それでも見つからない、あるいは、アクティブなドキュメントがない場合は、pcm.exeの起動フォルダー、あるいは、-prmdir指定のフォルダーを探して見つかったパス名と置き換えます。
また、パスに環境変数を利用したい場合、以下のように設定する事ができます。
環境変数
%ProgramFiles%C:\Program Files
%SystemRoot%C:\WINNT
%TEMP%C:\temp
%USERPROFILE%C:\Documents and Settings\username
%USERPROFILE%\下水道管理のショートカット

C:\Documents and Settings\username\下水道管理のショートカット

■ 「プレゼンテーションビューアーパック(PVP)」のリレーションでのパス設定
「リレーションに記述されているパスにデータがない」、「リレーションのパスがフルパス記述されていない」場合、プロジェクトファイルを基準とした相対パスで検索します。
その手順は以下のようになります。
  1. PVPファイルがあるドライブで、記述したパスのフォルダーがあれば、そのフォルダー内のファイルを検索します。
  2. PVPファイルがあるドライブ・フォルダーで、記述したパスのフォルダーがあれば、そのフォルダー内のファイルを検索します。
  3. PVPファイルがあるドライブ・フォルダー内のファイルを検索します。
  4. 1.と3.の間で、フォルダー階層をPVPファイルパスとリレーションパスにそれぞれ分離、再構成して組み立て直し、検索します。
*1 リレーション時に起動するアプリケーションがインストールされていない、関連付けされていないなど、上記とは関連のないエラーが発生する場合がありますので、注意して下さい。
*2 リレーションパスの複雑化はリレーション起動時のスピードに影響があります(ファイル検索に時間がかかるため)。
1.の段階で検索きるようにPVPファイルのフォルダー内に関連ファイル・フォルダーがくるような階層にされた方が良いでしょう。

■ プロジェクトの外部ファイルの相対(絶対)パス化
[ファイル]-[システムツール]-[プロジェクトの外部ファイルの相対(絶対)パス化]で、指定のプロジェクトに登録されているレイヤーやDB、広域イメージ、広域ベクター等外部ファイルのパスをそのプロジェクトファイルのパスからの相対パスに置き換える事ができます。
大量の外部ファイルがある場合、上記のような検索機能を使うと読み出し時に時間がかかりますが、このメニューにより軽量化が計れ、また、他のマシンにデータを移行する際には、よりスムーズに移行できます。
▼ 絶対パス→相対パス

▼ 相対パス→絶対パス

※ただし、外部ファイルのパスの取り扱いは原則相対パスで行っているので、変換後プロジェクトを保存し直すと再び相対パスに変更される場合があります。

■ iniファイルによる設定
外部ファイルとして保存したレイヤーやDBは、前述「■ 「外部ファイル」のパス設定」の1〜4の順にファイルを検索しますが、pcm.iniファイルで
[PcmApp]
RefPathLevel=1

を記述する事で1.までしか検索しない、つまり、パスに記述された通りの場所にファイルがなければ呼び出しエラーとなります。

■ 補足
[レイヤーエキスパート]-[イメージ]パネルでの探索スキップ
Ver.7.512[BN.304790]〜
[レイヤーエキスパート]-[イメージ]パネルに登録されたイメージが指定パスに見つからない場合、前述のようにプロジェクトファイルとの相対パスや-prmdirのフォルダーとの相対パスなどを探すので、本来のパスがネットワークドライブ上にあると、ネットワークのタイムアウトまで待たされる事がありますが、[レイヤエキスパート]のイメージタブをクリックする際、SHIFTキー押下でこの探索をスキップするようにしました。

パス設定が有効にならない場合
ショートカットのプロパティに「作業フォルダー」項目があり、プロジェクトファイルや起動オプションで指定したフォルダーではなく、このフォルダーを基準とした相対パスで検索する場合があります(OSやパソコン環境によって動作は異なります)。
パス設定が有効にならない場合、「作業フォルダー」項目にプロジェクトファイルや起動オプションで指定したフォルダーを入力してご確認下さい。

HTMLメニューバーが表示されない場合
HTMLメニューバーのファイルパスを設定する[カスタマイズ]-[HTMLメニューバーの設定]が新設されました。
ここにHTMLファイルパスを登録すると、PC-MAPPINGインストールフォルダーや起動オプション指定フォルダーに関係なく、最優先で表示されます。
詳しくは[カスタマイズ]-[HTMLメニューバーの設定]メニューのヘルプをご覧下さい。