日本スーパーマップトップページ

製品情報

サポート

FAQ

eSuperMap

開発環境

eSuperMapはどのようなハードウェア環境と開発プラットフォームをサポートしますか?

eSuperMapがサポートする主なプロセッサはARMV4、ARMV4I全シリーズ、MIPSII、MIPSII_FP、MIPSIV、MIPSIV_FPシリーズ、SH3、SH4シリーズ及びX86です。また、当然各種SDKのEmulatorもサポートしています。
システム実行のプラットフォームはMicrosoft Windows CE、Windows CE.NETをサポートします。

eSuperMapで組込み式GISシステムを開発するのに必要な環境を教えてください。

ハードウェア:IBM PC互換機(関連するハードウェアを設定)
オペレーションシステム:Windows2000 / Window NT / WindowsXP / Windows Server 2003
開発ツール:Microsoft eMbedded Visual C++ 3.0/4.0、Microsoft Visual C++ 6.0、Micorsoft Visual Studio 2005 C++
特定のデバイスのSDK:例えばPocket PC、Windows Mobile 5など
補助ツール:Microsoft ActiveSync。組込み式デバイスとの通信に用います。

eVCプラットフォームで、どのように開発環境を設定しますか?

主な設定内容は、ヘッダーファイルの検索パスと動的ライブラリ(もしく静的ライブラリ)の検索パスです。

1. ヘッダーファイル検索パスを設定します。VC6、EVC4等の開発環境のメニューで、 Tools->Options->Directories->Include filesを"..\eSuperMap 2008\RSFC\Include" に設定します。

2.1. 静的リンク方式でMFCとeSuperMapライブラリを使用。例えば、eVC4でStandard SDKのエミュレータを使う時、Libraryを以下のパスで指定する必要があります。
A. Tools->Option->Directory->Library files->"..\eSuperMap 2008\RSFC\Lib\evc4\Standard\emulator"
B. Project->Settings->General->Microsoft Foundation Classes->"Use MFC in Static Library " 静的リンク方式でMFCを使用。

2.2. 動的リンク方式でMFCとeSuperMapライブラリを使用。例えば、eVC4でStandard SDKのエミュレータを使う時、Libraryを以下のパスで指定する必要があります。
A. Tools->Option->Directory->Library files->"..\eSuperMap 2008\RSFC\Bin\evc4\Standard\emulator"
B. Project->Settings->General->Microsoft Foundation Classes->"Use MFC in Shared DLL " 動的リンク方式でMFCを使用。
コンパイルした後で、RuntimeライブラリをデバイスまたはエミュレータのWINDOWSディレクトリに転送します。例えば動的debugコンパイル時、 "..\eSuperMap 2008\RSFC\Bin\evc4\Standard\emulator"のSeRSFC50D.dllを転送します。

どのようにeVCとエミュレータを取得しますか?

Microsoftのダウンロードサイトよりダウンロードすることができます。

どのようにしてeVC3のプロジェクトをeVC4に移植しますか?

eVC3プロジェクト名がMyProjectとした場合、以下のステップで実行します。

1.YourProjectName.vcpファイルをプロジェクトディレクトリにコピーして、名前をMyProject.vcpに修正します。
2.テキストエディタでMyProject.vcpを開きます(VC、eVCで開く場合は、テキスト形式に設定します)。
3.YourProjectNameを全てMyProjectに変更します。
4.MyProject.vcpを保存して閉じます。
5.eVC4でMyProject.vcpを開き、「File」-「Open Workspace」のファイルリストでProjects *.vcpを選択します。
6.プロジェクトディレクトリのMyProject.vcpを開きます。開く過程でいくつかダイアログボックスが表示されますが全て無視します。
7.Workspaceウインドウで「FileView」-「MyProject」を右クリックして、「Add Files to Project」を選択し、空のMyProjectに元のプロジェクトに含まれる全てのファイルを追加します。
8.保存します。

Smartphoneの開発はサポートしていますか?

eSuperMapでは、Smartphone2003とSmartphone5.0の開発はサポートしています。

サポートしている通信プロトコルはどのようなものがありますか?

eSuperMapでは、NMEA0183、KODENバイナリ、モトローラバイナリプロトコルデータを直接出力することができます。

eSuperMapで開発したアプリケーションがサポートしているデバイスのOSは何ですか?

Windows Mobile 6.0、Windows Mobile 5.0、PocketPC 2003です。

eSuperMapでPC用プログラムを開発できますか?

eSuperMapが対応している開発環境(VC6のみ)でプログラムを作成し、eSuperMapのライブラリを追加し、eSuperMapのAPIを使用して、PCで実行できるプログラムを開発することができます。
VS2005やVS2008のC++に対応する予定はありません。また、C#に対応する予定もありません。

▲ページトップへ

データフォーマット

eSuperMapがサポートするデータフォーマットは何ですか?また、データを作るツールは何ですか?

eSuperMapのデータソースのフォーマットは以下の2つです。
(1) pmr:プログラム実行に供するのに適しており、アクセス効率が高いフォーマットです。
(2) pm2:編集可能なフォーマットです。
pmr、pm2共にラスタデータとベクタデータをサポートしています。

また、ワークスペースのファイルとしてpmwがあります。pmwファイルにはマップ、シンボルライブラリ、ラインライブラリ及びデータソースのリンクの情報が含まれます。

データはSuperMapのSDBデータソースから、eSuperMapの変換ツール(eSuperMap Translator)でpmrもしくはpm2に変換します。pmwはSuperMapのワークスペースファイルsmwから変換します。また、eSuperMap Viewerを使用して新規作成することもできます。

eSuperMapのナビゲーションマップのフォーマットは何ですか?どのように取得しますか?

eSuperMapのナビゲーションマップはpmrもしくはpm2データで構成されるマップで、ワークスペースに保存します。マップを使用するにはワークスペースを開く必要があります。

TAB、SHPなどの汎用データをeSuperMapがサポートするpmrあるいはpm2に変換したいです。

SuperMapのデスクトップ製品でまずSDBに変更します。更にeSuperMapの変換ツールでpmr、pm2に変換することができます。

▲ページトップへ

ナビゲーション

ナビゲーションはどのように実現しますか?

主なステップは以下のとおりです。

(1) 起点と終点を設定して、CSePathAnalyst::Analyseメソッドでルート解析を実行して、パスAを取得します。
(2) 模擬ナビゲーションの場合、CSeGeoLine::ResampleEquidistantlyメソッドでパスAを等距離にリサンプリングして、結果の座標点をアレイBに保存します。実際のナビゲーションの場合、GPSデバイスポートを開きます。
(3) ナビゲーションのメソッドは主にCSePathNavigatorにより提供されています。使う前にInitメソッドで初期化します。
(4) CSePathNavigator::MakePathでパスAにコントロールポイントを作成します。
(5) SetTimer、Timerにより指定時間間隔でポイント座標を取得します。模擬ナビゲーションの場合はアレイBから読み取ります。実際のナビゲーションではGPSデバイスのポートから現在の位置座標を読み取ります。
(6) CSePathNavigator::IsValidでTimerの取得したポイントが有効かどうかを判断します。 有効の時はCSePathNavigator::Navigate メソッドで補正して、返り値を取得します。無効の時は情報を提供します。

ナビアプリとして使用する場合、どの程度のメモリが必要ですか?

実行メモリは15MB、最大値は20MBです。市販している通常のデバイスであれば要求を満たしています。

▲ページトップへ

ネットワークデータ

ルート解析により、各ノードのIDと各エッジのIDを取得しましたが、どのように各ノードの座標を取得しますか?

ルート解析で返されたノードIDアレイについては、CSeDatasetVector::QueryByIDsでノードレコードをクエリしてCSeRecordsetを返すことができます。これからGetGeometryを使い幾何オブジェクトを取得します。最後に幾何オブジェクトが所有するノードの座標を取得します。

ネットワックデータセットから、あるノードを通るすべてのエッジを取得したいです。

ネットワックデータセットでは、ノードとエッジの論理関係はSMFNodeとSMTNodeのフィールドの属性値により管理されています。そのため、エッジのデータセットに含まれる以上の2つフィールドから目標とするノードIDを含むレコードセットをクエリすることで結果が得られます。

▲ページトップへ

GPS関連

GPSデータは受け取ることができますが、マップ上に表示することができません。

原因は以下の2つが考えられます。

1. GPSのポジションデータの単位は緯度経度ですが、ベースマップが投影座標系となっている場合。
2. 受信したGPSデータの座標がマップの範囲外となっている場合。

取得したGPSの座標情報はどのように度/分/秒に変換しますか?

GPSの緯度経度データの単位は0.01秒です。以下は変換式です。

long nLongitudeDegree = m_GPSData.dwLongitude / 360000;
long nLongitudeMinute = ( m_GPSData.dwLongitude % 360000 ) / 6000;
long nLongitudeSecond = ( m_GPSData.dwLongitude % 360000 ) % 6000;
long nLatitudeDegree = m_GPSData.dwLatitude / 360000;  long nLatitudeMinute = ( m_GPSData.dwLatitude % 360000 ) / 6000;
long nLatitudeSecond = ( m_GPSData.dwLatitude % 360000 ) % 6000;

開発したシステムでGPSに接続した時、「すでにGPSを開くのに成功」と表示されるが、データの読み取りにいつも失敗します。

「すでにGPSを開くのに成功」はGPSモジュールを起動する時、プログラム中で対応するデバイスのGPSパラメータの設定が正しいことを示し、この段階ではGPS情報受信の初期化作業が完了しただけです。GPSデータを受信できるかどうかについては、他にも多くの要因があります。
例えばGPSデバイスの状態、衛星の位置状態などです。また、データが少なすぎる、データの情報が不完全の場合も受信することができません。
そのため、受信の際はOnTimer時にGPSデータ情報を更新する設定にする必要があります。

▲ページトップへ

地図表示

マップウィンドウに「Please register this runtime library powered by eSuperMap」と表示されるのは何故ですか?

デバイス側にeSuperMapのランタイムライセンスがないためです。
eSuperMapには2種類のライセンスがあります。一つはPC上での開発ライセンスで、これを使いPC上でシステムを開発することができます。もう一つはデバイス側(PDA等)のランタイムライセンスで、これがないとデバイス上でシステムを実行した時に、マップウィンドウに「Please register this runtime library powered by eSuperMap」の文字が表示されます。

eSuperMapがeVC4の環境ではマップの更新速度が遅いのは何故ですか?

どのようなプログラムでもeVC4のエミュレータ環境ではeVC3の環境ほど速くなりません。
eVC4エミュレータ環境構築に多くのリソースを消耗するためです。ただし、WinCE.NETの環境では速いです。

マップの表示が遅い場合、どのようなマップ最適化の方法がありますか?

データを作成する時、レイヤーを表示する最大(最小)表示スケールを設定して、不必要にオブジェクトを多く表示させないようにしてください。
デバイスのリソースは限られているため、データサイズは小さく抑えることが必要です。
eSuperMapのpmrとpm2は無駄なく設計されたデータフォーマットです。また、eSuperMapのコアは専有するリソースを最小限に抑え、表示速度が速くする特長があります。

選択したオブジェクトをどのようにハイライト表示しますか?

以下の2つ方法で実現可能です。
(1) 選択したオブジェクトをマップウィンドウの選択セットに追加することでハイライト表示されます。
(2) 選択したオブジェクトをトラッキングレイヤーに追加して、ハイライト表示を実行します。

eSuperMapでどのようにポイントのスタイルを設定しますか? また、どのようにオリジナルのシンボルを作りますか?

ポイントレイヤーのスタイルの設定方法には2種類あります。
(1) レイヤースタイルを設定する:CSeLayer.Style
(2) レイヤーの主題図を作成する:eSuperMapは個別値主題図CSeThemeUnique、段階区分の主題図CSeThemeRange、ラベル主題図CSeThemeLabelをサポートしています。

ユーザーオリジナルのシンボルを作る場合は、SuperMap Deskproの「シンボルエディタ」を使用することで可能です。保存したシンボルは、シンボルライブラリとしてワークスペースに保存して、eSuperMap Translatorでsmwワークスペースをpmw(Portable Map Workspace)に変換します。ここでは、シンボルライブラリをインポートするオプションを選択します。

ラスタ地図を回転表示することは可能?

ラスタデータセットでも、リンクで開く方式でも、回転させることはできません。

eSuperMapの地図描画スピードを向上させる方法を教えてください。

eSuperMapのデータソースとワークスペースはSuperMap Deskproのデータから変換することができますが、データソースはsdbからpmr、pm2の2種類のフォーマットに変換することができます。
pmrの場合は、データアクセスの効率が従来の方式より大幅にアップしているため、ナビ等の使用に最適なタイプですが、編集することができません。編集の必要があれば、pm2をご使用ください。
組込みディバイスのリソースはPCより小さいですが、マップ表示速度が遅い場合は、現在マップウィンドウで表示しているデータ量が多いことが考えられます。スピードアップのためには、地図作成を合理的にし、表示できるスケール範囲を設定してください。

▲ページトップへ