Не съм чувал за никакви ограничения на размера на LINESTRING (със сигурност не толкова кратък, колкото 567 точки).
Току-що опитах пример
DECLARE @geom GEOGRAPHY
SET @geom = GEOGRAPHY::STGeomFromText(
'LINESTRING (142.98873903132778 -11.006193013241768
, 142.9891970000001 -11.005916999999954
-- SNIP 1,119 points
, 142.04362479801711 -11.629451936538608 )', 4326)
SELECT @geom, @geom.STNumPoints()
което работи добре (създава LINESTRING и отчита 1122 точки).
Вашият пример се проваля с НЯКАКВИ 567 точки - или само с определен набор от точки (можете ли да ги споделите с нас?). Предполагам, че се чудя дали вашата 568-ма точка прави вашия пример GEOGRAPHY по-голям от полукълбо? Например, ако променя примера си, като добавя друга точка (0,0), което принуждава ГЕОГРАФИЯТА да бъде твърде голяма:
DECLARE @geom GEOGRAPHY
SET @geom = GEOGRAPHY::STGeomFromText(
'LINESTRING (142.98873903132778 -11.006193013241768
, 142.9891970000001 -11.005916999999954
-- SNIP 1,119 points
, 142.04362479801711 -11.629451936538608
, 0 0 )', 4326) -- ADDED ANOTHER POINT !
SELECT @geom, @geom.STNumPoints()
Получавам ArgumentException 24205:Посоченият вход не представлява валиден географски екземпляр, защото надхвърля едно полукълбо. Всеки географски екземпляр трябва да се побере в едно полукълбо. Честа причина за тази грешка е, че многоъгълник има грешна ориентация на пръстена. което очевидно не е точно същата грешка като вас - но все пак реших да го повдигна [Преминете към АКТУАЛИЗАЦИЯТА в края за по-добра идея]
Вторият ми въпрос към вас е:работи ли с типа данни GEOMETRY? напр. ако променя моя пример за „счупване“ по-горе, за да използвам GEOMETRY, тогава той работи добре:
DECLARE @geom GEOMETRY -- using GEOMETRY type instead
SET @geom = GEOMETRY::STGeomFromText(
'LINESTRING (142.98873903132778 -11.006193013241768
, 142.9891970000001 -11.005916999999954
-- SNIP 1,119 points
, 142.04362479801711 -11.629451936538608
, 0 0 )', 4326) -- THIS POINT BREAKS GEOGRAPHY but works now!
SELECT @geom, @geom.STNumPoints()
Ако можете да публикувате малко повече подробности за вашия конкретен проблем, това може да подскаже основния проблем. Можете също така да добавите дали въвеждате точките в SQL Management Studio или чрез код (сглобяване на типове данни C# и SQL ли е)? Какъв е пълният текст на съобщението за грешка, което получавате (ако има повече от цитираното по-горе - вижте моята грешка).
Но краткият отговор е „Не мисля, че има ограничение от 567 точки“.
АКТУАЛИЗАЦИЯ: Публикацията на Ed съдържа точната грешка, която получавате (System.ArgumentException:24200) - така че ако вместо това можете да накарате данните си да работят в GEOMETRY, това може да си струва да опитате: