我在我的 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);
我已经对此进行了一段时间的调查。很感谢任何形式的帮助