0

C# コードで Web サービスを呼び出しています。サービスはジオメトリを WKT (既知のテキスト) で返します。

返された WKT をメッセージ ボックスに出力すると、次のようになります。

POINT(-9206304.681343028 5363253.767605823)

ただし、この文字列から SQLChar を作成し、STGeomFromText を呼び出してポイントを作成しようとすると、次のエラーが発生します。

{"24114: 入力ウェルノウン テキスト (WKT) のラベル ???POINT(-9206304.68 は無効です。有効なラベルは、POINT、LINESTRING、POLYGON、MULTIPOINT、MULTILINESTRING、MULTIPOLYGON、GEOMETRYCOLLECTION、CIRCULARSTRING、COMPOUNDCURVE、CURVEPOLYGON です。 FULLGLOBE (地理データ タイプのみ)。"}

この場合、実際の「POINT」ラベルではなく、座標セパレーターまでの文字列全体がラベルとして認識される理由がわかりません。

ここに私のC#コードがあります:

// Call the webservice.
byte[] responseBody = webClient.UploadData(uri, requestMethod, requestBodyBytes);

string ProjectedWKTString = Encoding.ASCII.GetString(responseBody);

SqlString anSQLString = new SqlString(ProjectedWKTString);
SqlChars anSQLChar = new SqlChars(anSQLString);

SqlGeometry projectedPoint = SqlGeometry.STGeomFromText(anSQLChar, 3857);

私はしばらくこれを調査してきました。どんな助けでも大歓迎です

4

0 に答える 0