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);
私はしばらくこれを調査してきました。どんな助けでも大歓迎です