SuperMap GIS 基本製品コンポーネント GIS FAQ コレクション (2)

SuperMap GIS 基本製品コンポーネント GIS FAQ コレクション (2)

[iObjects for Spark] GDBを読み取るためのパラメータを入力するにはどうすればよいですか?
[対処方法] 以下の例を参照してください。 val GDB_params = new util.HashMap String, java.io.Serializable GDB_params.put(FeatureRDDProviderParams.InputFile.key, “F:\test.gdb”) GDB_params.put(FeatureRDDProviderParams.ProviderType.キー、「GDB」)

【iObjects.Net】コード設定ポイントシンボルライブラリにシンボル番号303を設定するにはどうすればよいですか?
[解決策] キーインターフェイスはMarkerSymbolIDで、具体的なコードは次のとおりです。

 // 实例化一个点几何对象,并对其进行风格设置
    GeoStyle geoStyle_P = new GeoStyle();
    geoStyle_P.MarkerAngle = 14.0;
    geoStyle_P.MarkerSize = new Size2D(10, 10);
    geoStyle_P.MarkerSymbolID = 303;
    GeoPoint geoPoint = new GeoPoint();
    geoPoint.X = 100.0;
    geoPoint.Y = 100.0;
    geoPoint.Style = geoStyle_P;

[iObjects Java] [11.0.1] iObjects Java コンポーネントの基本ジオメトリ操作クラス Geometrist のオブジェクト交差インターフェイス intersect に、交点が 2 つだけある線オブジェクトを渡すと、戻り結果が null になってしまいます。
[問題の原因] Geometrist.intersect インターフェイスは、返されるジオメトリ オブジェクト タイプが入力されたものと同じであることをサポートするようにのみ設計されています。

[iObjects C++] [10.2.1] [11.0.0] [11.0.1] iObjects C++ コードが Tiantu Web データ ソースを開くことができないときに、返されたデータ ソースが null ポインター nullptr を指すのはなぜですか?
[問題の原因] iObjects C++ コンポーネントに基づいた Tiandi マップ サービス データ ソースを開くことができない理由は次の 2 つが考えられます。1 つずつ確認することをお勧めします: 1. UGEngineType ::MapWorldMaps タイプが使用されているかどうかを確認します

2. iObjects C++ プロジェクト \bin\bind_x64 ディレクトリに依存するかどうかにかかわらず、必要な依存ライブラリ ファイルの一部が \bin\bind_x64 ディレクトリにありません
[解決策] 上記 2 つの理由により、次の変更を行うことをお勧めします:
1. UGEngineType::MapWorldMaps タイプを UGEngineType::WEB データ ソース エンジン タイプに変更します;
2. 依存する \bin\bind_x64 ディレクトリを \bin に変更します\bin_x64 ディレクトリ。

【iObjects Java】【10.2.1】iObjects Java コンポーネントはどのようにして .terrainz 形式の地形キャッシュを生成しますか?
[解決策] CacheBuilderTIN クラスを使用し、ストレージ タイプを元のタイプに設定し (setStoreType(StorageType.Original))、圧縮を有効にする (setCompressed(true)) ことで、.terrainz 形式のテレイン キャッシュを生成します。

[UE] エディターで、この SuperMapEdMode 編集モードを使用するにはどうすればよいですか?
[問題の原因] 編集モードでデータを参照する場合、SuperMapEdMode モードで GIS 操作を実行できます。
[解決策] プラグインは、UE 編集モードでの GIS カメラ操作をサポートします。ツールバーでモード アイコンを見つけ、クリックして展開すると、下に SuperMapEdMode オプションが表示されるので、チェックを入れます。シーンに戻ると、マウスを使用してシーンの回転、パン、ズームなどを行うことができます。

[UE] UEが読み込むキャッシュ層のコンポーネントにはカテゴリ属性がありますが、その属性に従ってカテゴリのコンポーネントを直接マテリアルに置き換えたい場合、どうすれば実現できますか?
【問題の原因】 UE で既知のマテリアルを UE マテリアルに一括置換するには、レイヤーを保存して LayerInfo 内のマテリアル関係を直接変更する方法と、UE プラグイン シーン内のマテリアル関数を置き換える方法の 2 つの方法があります。 。
【解決策】
1. レイヤーを保存し、プロジェクトパス \Content\LayerInfo\map\LayerInfo.json を開き、UE 内のマテリアルをコピーして引用し、関連付けられたマテリアルの位置に貼り付けます。位置関係は図 2 になります。衝突検出をオンにし、レイヤーを右クリックして
プロパティ パネルをポップアップし、「データ美化 - マテリアルの置換」を見つけ、モデル オブジェクトをマウスでクリックし、必要なマテリアルを選択し、右クリックして「参照のコピー」を貼り付けます。結果を置換パス配下にコピーして置換します。

[iObject .net] mapControl.Action = Action.CreateLine の設定が有効にならないのはなぜですか?
【解決方法】 地図操作状態を描画に変更する前に、MapControl.TrackMode を設定する必要があります。

[iObjects java] iObjects javaでモデルの中心点の座標を取得するにはどうすればよいですか?
【解決方法】 モデルオブジェクト geomodel を取得後、geomodel.getBoundingBox でバウンディングボックスを取得します。次に、BoundingBox.getCenter を通じて中心 3D ポイント Point3D を取得します。

[iObjects java] Java コンポーネント内のデータセットのフィールドのタイプを表示するにはどうすればよいですか?
[対処方法] フィールドタイプは dataset.recordset.getFieldInfos().get("フィールド名").getType() で返すことができます。

[iObjects Java] Java コンポーネントで幾何学オブジェクトを移動および回転するにはどうすればよいですか?
[解決策] Geometry.offset(double dx, double dy) は幾何学オブジェクトを平行移動させます; Geometry.rotate(Point2D BasePoint, double angle) は幾何学オブジェクトを回転させます。ここで、平行移動と回転の効果はテクスチャのようなものです。

[iObject JAVA] [10.2.1] DM データベースへの接続時にエラーが報告されました。ターゲット VM から切断されました。アドレス: '127.0.0.1:XXX '、トランスポート: 'ソケット '。[問題の原因] 問題があります。
DLL 自体の 2023 バージョンを使用します。コンポーネントのバージョンは 11.0.1 です。
【解決方法】 V8-2023 バージョンの DM ではエラーが報告されますが、V8-2020 バージョンの DM dll は正常に使用できます。

[iObjects Python] 物体検出サンプル モデルは Machine Learning Resources パッケージのどこに保存されていますか?
[解決方法] resource_ml\model\obj_det_plane_car_ship_cascade ディレクトリに格納されている obj_det_plane_car_ship_cascade.sdm ファイル

[iObjects for Spark] コマンドライン ツールは外部クラスターをどのように使用しますか?
[解決策] --master を使用してタスクを実行するクラスターを指定し、--conf を使用してタスクの実行に使用される他の Spark 構成を指定します (例: --master スパーク://master:7077 --conf spar.driver.host) =192.168.12.34 --conf スパーク.executor.memory=16g

[iObjects for Spark] 要素は DSFFeatureRDD にどのように保存されますか?
[解決策] グリッド インデックスまたはクアッドツリー インデックスを確立することにより、同じインデックスに属するオブジェクトがパーティションに再分割され、パーティション内の要素が繰り返し格納されます。フィーチャが複数のパーティションにまたがる場合、各パーティションにはそれぞれのコピーが存在します。空間的に同じ範囲内にあるオブジェクトが同じノード上にあるようにするフィーチャ オブジェクト

[iObjects Java] MapcacheBuilder で、ビルドに失敗し、画像の切り取りパラメータが設定されています。このメソッドは false を報告し、どのパラメータがエラーを報告するのかが指定されていません。原因は何でしょうか?
【問題の原因】 画像を切り取る場合、データソースを読み取り専用モードで開く必要があります。
[対処方法] datasourceInfo.setReadOnly(true); データソースが読み取り専用モードで開かれている場合は true、そうでない場合は false となります。詳細については、オンライン ヘルプのマップを参照してください。画像

[iObjects Java] マシンを変更した後、プロジェクトの実行中に次の問題が発生します: java.lang.UnsatisfiedLinkError: com.supermap.data.EnvironmentNative.jni_InitEnvironment()V... 原因は何ですか?
【問題の原因】 環境変数に起因するエラー。
[対処]環境変数がパスの先頭に正しく配置されているか確認してください(IDEA開発の場合は実行設定の環境変数にパスのJavaパスを設定する必要があります)

[iObjects Java] メモリ型データソースを作成し、その中に新しいデータセットを作成するにはどうすればよいですか?
【問題の原因】 テンポラリデータソースの格納方法は通常のファイル型UDBデータソースと同じですが、格納場所が異なり、テンポラリデータソースの格納場所はメモリ内になります。
[解決策] 新しいメモリ データ ソースを作成します。具体的なコードは次のとおりです。

DatasourceConnectionInfo info = new DatasourceConnectionInfo();
		// 设置数据源存储位置为内存中,类型为UDB
		// Set the location of the datasource to the memory, in the type of UDB.
		info.setServer(":memory:");
		info.setEngineType(EngineType.UDB);

インストール パッケージ内のマップに示されているように、完全なインストール パッケージ内のサンプル プログラム MemoryDatasource を参照できます。

画像

【iObject.NET】ポリゴンを線分ごとに複数のポリゴンに分割するにはどうすればよいですか?
[解決策] オーバーレイ解析でクリッピング演算子を使用して OverlayAnalyst.Clip を実装できます。

[iObjects Java] [10.2.1] iObjects Java コンポーネントに TIN 地形キャッシュを生成するよう依頼したいのですが、開始レイヤと終了レイヤを設定した後、すべてのレベルの TIN 地形キャッシュがまだ生成されていることがわかりました。生成プロセス、その理由は何ですか?
[問題の原因] TIN 地形キャッシュを生成するプロセスでは、三角形ネットワークが最も細かいレイヤから生成され、上位レイヤに向かって順に単純化されます。最終的な TIN テレイン キャッシュが生成された後、設定された開始レイヤーから終了レイヤー範囲までの TIN キャッシュ データは保持され、他のレベルの TIN テレイン キャッシュ データは削除されます。

【iObjects C++】【11.0.1】iObjects C++ コンポーネントの KML データ ファイルをインポートおよびエクスポートする方法と、どのインターフェイスを使用する必要がありますか?
[解決策] UGC::UGDataExchange クラスは、インポート (const UGImportParams &importParams) およびエクスポート (const UGExportParams &exportParams) インターフェイスを通じて KML データをインポートおよびエクスポートするために、iObjects C++ コンポーネントで提供されています。

【iObjects .NET】【10.2.1】【11.0.1】iObjects .NETコンポーネントの3Dシーンのトラッキングレイヤー(TrackingLayer)上に3Dベクトル面(GeoRegion3D)オブジェクトを表示するにはどうすればよいですか?
[問題の原因] トラッキング レイヤー (TrackingLayer) は、レイヤー スタイルを通じて AltitudeMode を ClampToObject に設定できません。
【解決策】 トラッキングレイヤー(TrackingLayer)に追加した3Dベクトル曲面(GeoRegin3D)フィーチャオブジェクトの3Dスタイル(GeoStyle3D)のAltitudeModeをClampToObjectモードに直接設定します。

【iObjects .NET】iObjects .NET コンポーネントは Baidu オンライン サービスをロードできますか?
【解決策】はい。キーコードは次のとおりです。

datasourceConnetionInfo.Server = "https://map.baidu.com/";
datasourceConnetionInfo.EngineType = EngineType.BaiduMaps;
datasourceConnetionInfo.Alias = "baidu";
workspace.Datasources.Open(datasourceConnetionInfo);

[iObjects .NET] AutoNavi オンライン サービスを iObjects .NET コンポーネントにロードすることはできますか?
【解決策】はい。キーコードは次のとおりです。

datasourceConnetionInfo.Server = "https://amap.com/";
datasourceConnetionInfo.EngineType = EngineType.GaoDeMaps;
datasourceConnetionInfo.Alias = "gaode";
workspace.Datasources.Open(datasourceConnetionInfo);

[iObjects .NET] 3D データ -> モデル ツール -> 属性抽出、頂点数を抽出するインターフェイスはどこにありますか?
[解決策] Model.GetInfoメソッド(int lod、ref ValueType vertexCount、ref ValueType TriangleCount)
パラメータ:
lod(型: System.Int32): 指定されたLODレベル。モデルのLODレベルが0の場合、値は-1でなければなりません。
vertexCount (型: System.ValueType ): 頂点の数を指定します。
triangleCount (型: System.ValueType ): 三角形の数を指定します。モデルは次のようにして取得されます。

GeoModel3D geoModel3D = recordset.GetGeometry() as GeoModel3D;
Model model = geoModel3D.Model;

[iObjects .NET] モデルの分割に使用されるインターフェイス
[解決策] モデルのスケルトンを分割します。

ModelBuilder3D.SplitSkeleton(Model modelSrc,Model modelResult,bool bVertexPositionConsidered)

パラメータ:
modelSrc (型: SuperMap.Data.Model): 分割されるソース モデル オブジェクト
modelResult (型: SuperMap.Data.Model): 結果モデル
bVertexPositionConsidered (型: System.Boolean): 分割時に頂点位置を考慮するかどうか分割は
値を返します。スケルトンの分割が成功した場合は true を返し、スケルトンの分割が失敗した場合は false を返します。

【iObjects.NET】MapControlにおけるマップ座標系と画面座標系の違いは何ですか?
【解決方法】 マップ座標系の座標原点は左下隅、X値は右方向、Y値は上方向に増加し、画面座標系の座標原点は左上隅になります。 、X 値は右方向に増加し、Y 値は下方向に増加します。

[iObjects.NET] ポイント、ライン、およびエリア オブジェクトを編集するときに、MapControl.Action プロパティを Create** 定数に設定します。時々失敗するのはなぜですか?その理由は何ですか?
【対処方法】
1. 失敗した場合は、まず地図に編集可能なレイヤーがあるか確認し、編集可能なレイヤーがない場合は設定に失敗します。
2. 通常のレイヤーには描画したくないが、一時的なオブジェクトを描画する必要がある場合は、Action を設定する前に MapControl の TrackMode プロパティを設定してください。
3. 現在編集可能なレイヤーのタイプが描画オブジェクトのタイプと異なる場合も、失敗する可能性があります。両方とも一貫性が必要です

[iObjects Java] データベースへのティルト結果が表示されない
[問題理由] 射影パラメータが
設定されていないため、射影変換が失敗する 射影変換基準枠の変換パラメータにはパラメータを設定する必要がなく、その後ObliquePhotogrammetryBuilder.setTargetCoordSysTransParameter(CoordSysTransParameter) を使用して投影変換パラメータを設定し、他の手順でデスクトップのチルト ストレージ パラメータをシミュレートできます。

[iObjects Java] Oracle データ ソースに接続できない原因は何ですか?
【問題の原因】 oracle クライアントの環境変数が設定されていない
【解決方法】 iDea の環境変数に oracle クライアントのインストールパスを追加する

[UE] ピクセル ストリーミング フロントエンドは、レンダリングされたデータ (パイプライン、高精度モデルなど) をどのようにして UE に動的に追加しますか?
[対処方法] 一致関係のlayerinfo.jsonファイルをパッケージ化フォルダの同じパスにコピーし、再実行時に美化データを読み込む必要があります。パッケージ化する前にロードして、exe が実行されるたびにデータが追加されるのを避けることもできます。

【UE】レベル実行後、マウス操作ができなくなります
【解決方法】

  1. ゲームモードが PlaneGameMode に設定されているかどうかを確認します。
  2. プロジェクト設定で入力マッピング関係がインポートされているかどうかを確認します。
  3. SuperMap Main Actor の属性パラメータで値が選択されているかどうかを確認し、代わりに無効にする必要があります。

【iObjects for Spark】バッファ解析の使い方は?
【解決方法】 以下のコードを参照してください。

import com.supermap.bdt.analyst.vector.cpp._
val rdd = readFromUdbx("Buffer","line_3")
val bufferParam = new BufferParam(20,20,LinearUnit.Meter,BufferEnd.Round,false,10)
val result = BufferAnalyst(rdd,bufferParam)

[iObjects for Spark] フィーチャ セット内の幾何学的オブジェクトの面積を計算するにはどうすればよいですか?
[解決策] 以下のコードを参照してください。

import com.supermap.bdt.analyst.vector.cpp.CalculateArea
//设置结果数据中用于保存面积的字段名
val fieldname="Area"
val featurerdd1 = CalculateArea.apply(featurerdd,fieldname)

[iObjects for Spark] tif でヒストグラム統計を作成するにはどうすればよいですか?
[解決策] 以下のコードを参照してください。

val Path = "/jw/JingjinTerrain.tif"
val rasterRDD = RasterRDDProvider.readGeoTiff(sc, Path, TileSize.T512)
//对栅格数据进行直方图统计,参数分别为:栅格RDD、直方图分组数,待统计的波段索引
val res1 = Histogram(rasterRDD,40,0)

【UE】データサービスレイヤー追加後、ロード時にローカルデータが表示されない
【問題の原因】データサービスのロード時に生成されたローカルキャッシュが正しくないため、データが表示されない 【解決方法】方法
:ローカルキャッシュ、データをリロードします。
クリーニング方法: ファイル ブラウザのアドレス バーに「%temp%」と入力し、Enter キーを押します。次に、ローカル フォルダを選択し、
SuperMap フォルダを見つけて、[キャッシュ] の下にあるキャッシュ ファイルを削除します。

[UE] クラウド レンダリング機能を実行するときに、エラー ターゲット ボックスに指定された名前 '-AudioMixer' が無効です
[解決策] パラメーター設定:
1. 追加の起動パラメーター: " -AudioMixer -PixelStreamingIP=localhost -PixelStreamingPort=8888";
2.ショートカットを右クリックしてプロパティを開き、ショートカットの「ターゲット」の後に上記のパラメータを追加します(.exeの後に追加する必要があることに注意してください)。ステッカーを参照してください:画像

[iObjects Java] 点と面の座標を含むデータセットがありますが、その点がデータセット内のいずれかの面の内側にあるかどうかを判断するにはどうすればよいですか?
[問題の原因] 基本幾何演算クラスは、クリッピング、交差、消去、結合、対称差分、更新、恒等演算をサポートしています。canContain は、検索ジオメトリ オブジェクトに検索ジオメトリ オブジェクトが含まれているかどうかを判断できます。
[解決策] Geometrist クラスの canContain を使用して、検索ジオメトリ オブジェクト geometrySearch に検索ジオメトリ オブジェクト geometryTarget が含まれるかどうかを判断し、含まれる場合は true を返します。

System.out.println(Geometrist.canContain(geometrySearch, geometryTarget));

[iObjects Java] 50 ノードを必要とするポリラインは、スムージング後は 5 ノードだけで済みます。パスをスムージングする方法はありますか?
【解決策】リサンプルリサンプリング方法、ジオメトリオブジェクトのリサンプリングは、データを単純化するという目的を達成するために、特定のルールに従っていくつかのノードを削除することです。異なるリサンプリング方法を使用するため、結果が異なる場合があります。SuperMap は、幾何学的オブジェクトをリサンプリングするための 2 つの方法、つまりアパーチャ方法と Douglas-Puke 方法を提供します。

【iObjects Java】ワークスペースに地形データがあるのに、取得される高度が常に0になるのはなぜですか?
【問題理由】 ビジュアルシーンの前提が必要なため、地形データがある場合は地上点の標高を返し、地形データがない場合は0.0を返します。テレイン ストレッチ係数に関係なく、返されるテレインの高さは常に実際のテレインの高さです。
[解決策] 高さを取得するために地形データを追加するシーンを設定します。具体的なコードは次のとおりです。

public void TestSceneGetAltitude(Scene sceneObject) {
       // 进行三维场景的设置,添加地形数据设置可见
       sceneObject.getAtmosphere().setVisible(true);     
       TerrainLayers terrainLayers = sceneObject.getTerrainLayers();
       TerrainLayer terrainLayer =terrainLayers.add("./GlobalTerrain.sct", true);
       terrainLayer.setVisible(true);

       // 返回地面上某点的海拔高度
       double altitudeValue = sceneObject.getAltitude(120, 40);
       System.out.println("某点海拔高度为:" + altitudeValue);
}

【iObjects.NET】iDesktopのシーンにおける「ポリゴンクエリ」は、対応するコンポーネントがどのように実装しているのでしょうか?
[解決策] 主な実装アイデアには次の重要な手順があります:
1. シーンのトラッキング レイヤーにサーフェス オブジェクトを描画します;
2. トラッキング レイヤー描画導入イベントでサーフェス オブジェクトを取得し、サーフェス オブジェクトをストレッチして線形化します。
3. 取得したモデル本体とレイヤー レコードに対して交差クエリを実行します。スコープにはオブジェクトの smid コレクションが含まれます。詳細については、以下のスクリーンショットを参照してください。

画像

【iObjects.NET】単一の幾何学オブジェクトに対して射影変換を行うにはどうすればよいですか?
[解決策] 主要なインターフェイス: CoordSysTranslator.Convert、このメソッドには、コレクション オブジェクトの射影変換をサポートする複数のコールバック メソッドがあります。

Convert(Geometry, PrjCoordSys, PrjCoordSys, CoordSysTransParameter,CoordSysTransMethod) 

ソース投影座標系とターゲット投影座標系に従って、幾何学オブジェクトが投影および変換され、その結果はソース幾何学オブジェクトを直接変更します。

【iObjects C++】【11.0.1】iObjects C++ コンポーネントを使用してワークスペースを開いてデータ ソースを挿入した後、ワークスペース保存インターフェイスを直接呼び出して保存すると、ワークスペース ファイルが既に存在するという例外情報が出力される問題を解決するにはどうすればよいですか?
【問題の理由】 ワークスペースの接続情報を開くときに、m_bFailIfExists フィールドの値が設定されていません。ファイル タイプのワークスペースに有効で、ファイルがすでに存在する場合に失敗を返すかどうか、デフォルトは true です。
[対処] ワークスペースの接続情報を開くときに、m_bFailIfExists フィールドの値を false に設定すると、ワークスペースが保存されると実行が成功します。

【iObjects C++】【11.0.1】 iObjects C++ コンポーネント トラッキング レイヤー (UGC::UGTrackingLayer) には、選択可能かどうかを設定するための SetSelectable インターフェイスが用意されていますが、設定後にトラッキング レイヤー上の要素が選択できないのはなぜですか? トラッキング レイヤー上で幾何学的特徴の選択を実現するにはどうすればよいですか?
[問題の原因] トラッキング レイヤー (UGC::UGTrackingLayer) が提供する SetSelectable インターフェイスは非推奨となり、現在、iObjects C++ コンポーネントはトラッキング レイヤー上のジオメトリ要素の選択をサポートしていません。
【解決策】 トラッキング レイヤー (UGC::UGTrackingLayer) で幾何要素の選択効果を実現する必要がある場合は、次のプロセスを参照することをお勧めします。 (1) トラッキング レイヤーの幾何要素を一時データセットに追加します

(2) マップ上の幾何要素をクリックして選択すると、マウス クリックの位置に従って点要素が構築されます
(3) 一時的なデータ セットと構築された点要素から空間クエリが実行され、クエリの結果は選択された要素です;
(4) トラッキングレイヤーを変更する 要素のスタイルを選択して、強調表示された状態を実現します。

【iObjects Java】デスクトップではExcelシートをインポートできるのですが、コンポーネントのインポートが文字化けしてしまいます。
[問題の理由] iObjects Java コンポーネントによる Excel 形式のデータのインポートには、Office のサードパーティ ライブラリの承認が必要です

[iObjects Java] SuperMap iObjects Java で SceneControl を使用せずにワークスペース内のシーンを取得するにはどうすればよいですか?
[解決策] Scene scene = new Scene(workspace); 次に、ワークスペース内の既存のシーンのコンテンツを取得し、String xml = workspace.getScenes().getSceneXML(); を使用して、最後に定義された scene : scene にコンテンツを割り当てます。 fromXML(xml)。

【iObjects Java】JavaコンポーネントでWeb型ライセンスを使用するにはどうすればよいですか?
【解決方法】 JavaコンポーネントのBSLicenseクラスを使用して、アプリケーションの入り口にWebライセンスログインのコード部分を埋め込み、Webライセンスにログインします。

// 以下测试需要在本机没有其他正式许可的情况下进行。
	public static void main(String[] args) {
		int[] loginFeatures = new int[] { 10002, 10003 };
		// 登录Web许可
		BSLicense.login("192.168.17.32", 9183, loginFeatures);
		// 连接Web许可中的许可模块,验证Web许可获取是否成功,成功返回0。
		License lic = new License();
		int code = lic.connect(10002);
		System.out.println("code = " + code);
		// 登出Web许可
		BSLicense.logout();
		// 再次连接许可模块,验证Web许可是否已经无效,返回值应该为非0值。
		code = lic.connect(10002);
		System.out.println("code = " + code);
		System.out.println("end");
	}

【iObject.NET】ブリキ地形キャッシュ内の指定点の高さを取得するにはどうすればよいですか?
[解決策]
方法 1: データ抽出を使用して TIN キャッシュ自体の高さを取得します: CacheProcessor3D.GeometryMatchTIN()
方法 2: シーン レンダリングを使用してシーンに地形データを追加します。使用: Scene.GetAltitude() または Scene.GetHeight ( ) 方法 2 を使用するには、シーンが視覚化ウィンドウに表示されている必要があることに注意してください。

【iObject JAVA】デスクトップ型変換で簡易データセットからCADデータセットへの変換を実現するにはどうすればよいですか?対応する方法はありますか?
【解決方法】 本機能はビジネス機能であり、直接インターフェースを使用するものではありません。具体的には、オブジェクトを操作し、CAD データ セットの各オブジェクトを走査して取り出し、Geometry の幾何学的タイプを決定し、特定の幾何学的タイプに従って新しいベクトル データ セットを作成し、オブジェクトをタイプごとのカテゴリに格納することによって実現されます。

【iObjects Java】コンポーネント開発、顔データセットに投影変換をしたいのですが、投影座標系のパラメータが多すぎるのですがどうやって埋めればいいですか?
[解決策] 投影座標系には、基準楕円体、投影座標系の種類、中心子午線、オフセットなど、実に多くのオブジェクトが存在します。特定の値を誤って設定すると、投影座標系オブジェクト全体の内容が正しくなくなり、投影変換が失敗する可能性があります。epsg 値を使用して投影座標系オブジェクトを構築する便利で実用的な方法:

 PrjCoordSys prj=new PrjCoordSys(); 
 prj.fromEPSGCode(4547); 

setEPSGCode インターフェイスは呼び出されないことに注意してください。

[iObjects for Spark] ラスター データセットの投影変換では現在どの座標系がサポートされていますか?
[解決策] 現在、WGS84 (epsg: 4326)、China2000 (epsg: 4490)、WebMercator (epsg: 3857) の 3 つのターゲット座標系をサポートしています。

[iObjects for Spark] ラスター データセット投影変換メソッドを呼び出すにはどうすればよいですか?
[解決策] 以下のコードを参照してください。

val udbPath = "/data/test3857.tif"
val rasterRDD = RasterRDDProvider.readGeoTiff(sc, udbPath, TileSize.T512 , 2)
//转投影为WGS84坐标系
val res = Reproject.apply(rasterRDD,4326)

【iObjects JAVA】Excelテーブルをデータセットとしてバッチでインポートします。2行目をフィールド行として実装するにはどうすればよいですか?
[解決策] コンポーネントを使用して Excel テーブルをデータセットとしてインポートし、2 行目をフィールド行としてインポートします。解決する必要がある 2 つの問題: 1. Excel のインポートには Office のサードパーティ依存が必要です。これには権限が必要です
。そうでない場合は、OK をバイパスし、最初に CSV ファイルに変換してからインポートする必要があります (デスクトップで Excel をインポートできる理由は、デスクトップにサードパーティの依存関係があるためです)。 2. 既存のインターフェイスと機能
、 Excel 自体の関数と同様に、最初の行のメソッドが削除されていないため、次のように実行する JAVA プログラムを作成することしかできません。

public class DeleteFirstRow {
    public static void main(String[] args) throws IOException {
        String folderPath = "C:/ExcelFiles"; // Excel文件所在的文件夹路径
        File folder = new File(folderPath);
        File[] files = folder.listFiles();
        for (File file : files) {
            if (file.isFile() && file.getName().endsWith(".xlsx")) { // 只处理.xlsx文件
                deleteFirstRow(file);
            }
        }
    }
    private static void deleteFirstRow(File file) throws IOException {
        FileInputStream inputStream = new FileInputStream(file);
        Workbook workbook = WorkbookFactory.create(inputStream);
        Sheet sheet = workbook.getSheetAt(0);
        sheet.shiftRows(1, sheet.getLastRowNum(), -1); // 删除第一行
        FileOutputStream outputStream = new FileOutputStream(file);
        workbook.write(outputStream);
        workbook.close();
        outputStream.close();
        inputStream.close();
        System.out.println("Deleted first row in " + file.getName());
    }
}

このプログラムは、まず Excel ファイルが配置されているフォルダー パスを指定し、次にフォルダー内のすべての .xlsx ファイルを調べて、各ファイルのメソッドを呼び出しますdeleteFirstRowこの方法では、Apache POI ライブラリを使用して Excel ファイルを読み取り、最初の行を削除し、変更したファイルを元のファイルに保存します。最後に、プログラムはどのファイルが削除されたかを示す最初の行を出力します。

【Java】SuperMap iObjects Javaでモデルの位置を変更するにはどうすればよいですか?
【解決策】 Geometry3D.setPosition(Point3D point3D) でモデルの位置を変更できます。

【Java】SuperMap iObjects Javaでモデルオブジェクトをs3mモデルとしてエクスポートするにはどうすればよいですか?
【解決方法】 ModelConvertor.toFile(モデルモデル, ModelFileSetting 設定)を使用して、指定した形式でモデルをエクスポートできます。

[Java] Java コンポーネントのラスター データセットの行数と列数を取得するにはどうすればよいですか?
[解決策] DatasetGrid.getWidth()で行数を取得、DatasetGrid.getHeight()で列数を取得

【iObject.net】デスクトップと同じように、シーンを切り替えるときにレイヤーマネージャーに現在のシーンのレイヤーも表示するようにするにはどうすればよいですか?
【対処方法】 シーンコントロール/シーン切り替えイベントで、

layersControl.Layer3DsTree.Scene = sceneControl.Scene;

[iObjects Java] [10.0.1] iObjects Java 10.0.1 バージョン コンポーネントを使用して、DatasetVector.append インターフェイスを通じてレコードセット (Recordset) をベクトル データセットに追加する場合、udbx データ ソースは正常に追加できますが、PostgreSQL データソースには追加の失敗を解決するにはどうすればよいですか?
[解決策] PostgreSQL データ ソースにレコードセットを正常に追加するには、プロジェクトが依存する iObjects Java コンポーネントのバージョンを 10.2.1 にアップグレードします。

[iObjects Java] [11.0.1] GeoJSON データをインポートした後、iObjects Java コンポーネントはデフォルトで _R などのサフィックスをデータセット名に追加します。
【問題の原因】 GeoJSON データには点、線、多角形などのデータが含まれている場合があり、これらはインポート後に分解されますが、異なる種類のデータセットの名前間で重複する競合を避けるために、型サフィックスはデフォルトで追加されます。

【UE】 サンプルマップを実行するとクラッシュが発生し、「EXCEPTION_ACCESS_VIOLATION reading address 0x000000003f800010」のエラーが報告される 【解決方法】
UE プロジェクトが配置されているディレクトリのファイル権限を設定し、ユーザーの現在のユーザーをフルコントロールにします

[UE] データを初めてロードするとき、または操作中にマテリアル フォルダーを開くときにクラッシュが発生します。
[問題の理由] データを初めてロードするとき、シェーダーはコンパイルのために実行インターフェイスの左上隅でコンパイルされます。または実行後、SuperMap のコンテンツの下にあるマテリアル フォルダーを開くと、コンパイルされたシェーダーのコンパイルが不完全であることが原因でクラッシュが発生します。
[解決策] 実行する前に、マテリアル ファイル内のすべてのシェーダーを開いてコンパイルし、保存して閉じるをクリックすると、完了後に再度実行すると、上記 2 つの問題は発生しなくなります。

[iObjects .NET] 幾何学的プロパティの計算で範囲座標を取得するにはどうすればよいですか? 中心点の座標を取得するにはどうすればよいですか?
【解決策】
1. Geometry.Boundsで最小の外接四角形を取得します。その左境界座標値、下境界座標値、右境界座標値、上境界座標値が境界範囲
2となります。外接長方形を取得した後、Rectangle2D.Centerにより中心点座標系を取得します。

[iObjects .NET] マップをすばやくズームインまたはズームアウトすると、エラーが報告されます。解決方法は?
[解決策] 次のコード行を App.config のランタイム ラベルの下に配置してみてください。これにより、マップをすばやくズームインおよびズームアウトする問題を解決できます。

  <runtime>
    <useLegacyJit enabled="1" />
  </runtime>

おすすめ

転載: blog.csdn.net/supermapsupport/article/details/130524572