Тип пространственных данных - PullRequest
3 голосов
/ 29 марта 2012

Я думаю, что не могу найти свою (очевидную глупую) ошибку: -).

После оператора SELECT в базе данных:

SELECT geography::STMPolyFromText('MULTIPOLYGON( (((11.791039 47.5448077, 11.7910551 47.544757, 11.7911677 47.5446375, 11.7644687 47.542786))) )',4326)

И ошибка:

NET Framework error occurred during execution of user-defined routine or aggregate "geography": 
System.FormatException: 24141: A number is expected at position 26 of the input. The input has (11.791039.
System.FormatException: 
   at Microsoft.SqlServer.Types.WellKnownTextReader.RecognizeDouble()
   at Microsoft.SqlServer.Types.WellKnownTextReader.ParseLineStringText()

Не могу найти мою ошибку, может быть, один из вас видит ошибку?!


Только что нашел решение: a '(' было слишком много.

1 Ответ

1 голос
/ 29 марта 2012

Я думаю, у вас есть слишком много пар скобок после MULTIPOLYGON ... , в этом примере показано только 3 , но у вас 4.

Вместо этого попробуйте:

SELECT geography::STMPolyFromText
(
    'MULTIPOLYGON
    ( 
        (
            (
                11.791039 47.5448077, 
                11.7910551 47.544757, 
                11.7911677 47.5446375, 
                11.7644687 47.542786
            )
        ) 
    )',4326
)
...