Hallo zusammen,
ich behandle mehrere Polygone nacheinander.
Declare @t geography
-- Fall1 - Stringlänge = 875 Zeichen
Set @t = geography::STGeomFromText('POLYGON ((13.47023 52.54021,13.46765 52.53849,13.46308 52.53237,13.46074 52.52958,13.45583 52.52849,13.45935 52.52567,13.46817 52.52346,13.47273 52.52064,13.47641 52.51593,13.47550 52.51507,13.47606 52.51097,13.47130 52.50520,13.46847
52.49976,13.46988 52.49937,13.48949 52.49023,13.49359 52.48650,13.49550 52.48325,13.50179 52.48255,13.50765 52.47495,13.51130 52.47551,13.51994 52.47372,13.52142 52.47510,13.53067 52.46779,13.53949 52.47485,13.54825 52.47361,13.54818 52.47391,13.54892 52.47398,13.55205
52.47368,13.55076 52.47712,13.54891 52.48013,13.54827 52.48014,13.54812 52.48239,13.55039 52.48495,13.54576 52.49344,13.54413 52.49692,13.54305 52.49846,13.53962 52.49872,13.53760 52.51008,13.53750 52.51194,13.53608 52.51302,13.53357 52.51365,13.51904 52.51401,13.51962
52.52596,13.51872 52.53347,13.51722 52.53541,13.47619 52.53306,13.58631 52.54960,13.47023 52.54021))', 4326)
Select @t
/* Ergebnis - Richtig: 0xE6100000010430000000707CED9925454A4038328FFCC1F02A408D9C853DED444A40E5F21FD26FEF2A408EAF3DB324444A4005DD5ED218ED2A40CF4E0647C9434A4007EBFF1CE6EB2A40AB21718FA5434A404512BD8C62E92A40813E912749434A40D0D556EC2FEB2A40D061BEBC00434A40C8EF6DFAB3EF2A40A67EDE54A4424A4019ADA3AA09F22A403C8386FE09424A4087F9F202ECF32A404B9352D0ED414A40FA7E6ABC74F32A405A9E077767414A4016DEE522BEF32A4038F8C264AA404A40A835CD3B4EF12A40ABECBB22F83F4A407250C24CDBEF2A40404D2D5BEB3F4A40C616821C94F02A4050C24CDBBF3E4A402670EB6E9EFA2A4083C0CAA1453E4A40E94317D4B7FC2A4060E5D022DB3D4A4004560E2DB2FD2A40A857CA32C43D4A4070EB6E9EEA002B401B9E5E29CB3C4A40F9A067B3EA032B40E275FD82DD3C4A40BDE3141DC9052B4006BB61DBA23C4A40B5C35F93350A2B40302AA913D03C4A40EDF5EE8FF70A2B40ABB2EF8AE03B4A40C8EF6DFAB30F2B40B84082E2C73C4A40C009850838142B407F87A2409F3C4A4062105839B4182B40A99F3715A93C4A407FA4880CAB182B40A27A6B60AB3C4A409B3DD00A0C192B407862D68BA13C4A407B832F4CA61A2B403E22A644123D4A40D2E3F736FD192B400CEA5BE6743D4A400CE544BB0A192B402FC03E3A753D4A407FC16ED8B6182B406FF59CF4BE3D4A402A91442FA3182B40FC1873D7123E4A404417D4B7CC192B40E544BB0A293F4A400FEECEDA6D172B403A5D16139B3F4A40828B153598162B409D2E8B89CD3F4A40832F4CA60A162B4039EE940ED63F4A40F888981249142B40FE2B2B4D4A414A40C1A8A44E40132B40D3C1FA3F87414A403333333333132B40D218ADA3AA414A405114E81379122B4092CB7F48BF414A40E140481630112B4092E86514CB414A40B6A1629CBF092B40888043A852434A40EEB1F4A10B0A2B40D5B2B5BE48444A40EF8FF7AA95092B40C6F99B5088444A409BAC510FD1082B402367614F3B444A404F5DF92CCFF32A40D8F0F44A59464A40B1A206D3302C2B40707CED9925454A4038328FFCC1F02A4001000000020000000001000000FFFFFFFF0000000003
*/
-- Fall2 - Stringlänge = 1199 Zeichen
Set @t = geography::STGeomFromText('POLYGON ((13.50510 52.59656,13.48945 52.59035,13.48686 52.58893,13.48528 52.58723,13.48927 52.59027,13.48665 52.58876,13.48527 52.58724,13.48368 52.58401,13.48193 52.58392,13.48144 52.58333,13.48049 52.58350,13.47976 52.58115,13.47975
52.57977,13.47998 52.57660,13.47981 52.57242,13.48264 52.57212,13.48252 52.57173,13.48743 52.56941,13.48510 52.56597,13.48458 52.56584,13.48473 52.56435,13.48593 52.56417,13.48550 52.56236,13.48531 52.56232,13.48525 52.56176,13.48720 52.56149,13.49033 52.56053,13.49250
52.55872,13.49522 52.55560,13.49563 52.55364,13.49439 52.55067,13.48602 52.55226,13.48198 52.54948,13.47992 52.54926,13.48042 52.54823,13.46969 52.54772,13.46855 52.54816,13.46720 52.54824,13.47023 52.54021,13.47619 52.53306,13.51722 52.53541,13.52286 52.53591,13.53301
52.53865,13.52795 52.55238,13.53350 52.56018,13.54123 52.56607,13.54252 52.56620,13.54451 52.56689,13.54558 52.56787,13.56412 52.57220,13.56711 52.57325,13.56779 52.57434,13.56648 52.57615,13.56442 52.57831,13.56157 52.58055,13.55992 52.58163,13.55573 52.58400,13.55140
52.58597,13.54696 52.58765,13.54717 52.58797,13.53151 52.59128,13.52745 52.59226,13.52297 52.59275,13.50825 52.59219,13.47023 52.54021,13.50510 52.59656))', 4326)
Select @t
/*Ergebnis - Fehler:
Meldung 6522, Ebene 16, Status 1, Zeile 3
.NET Framework-Fehler beim Ausführen der benutzerdefinierten Routine oder des benutzerdefinierten Aggregats 'geography':
System.ArgumentException: 24200: Die angegebene Eingabe stellt keine gültige geografische Instanz dar.
System.ArgumentException:
bei Microsoft.SqlServer.Types.SqlGeography.ConstructGeographyFromUserInput(GeoData g, Int32 srid)
bei Microsoft.SqlServer.Types.SqlGeography.GeographyFromText(OpenGisType type, SqlChars taggedText, Int32 srid)
*/
2 Drittel meiner Polygone können nicht bearbeitet werden.
Kann es sein, dass die Stringlänge bei Instanz 4326 eine Rolle spielt und diese deswegen einen Error zurückgibt?
Gibt es vielleicht eine Lösung?
Meine Polygone haben meist zwischen 70 - 400 Eckpunkte und normalerweise 8 Stellen hinter dem Komma bei den Koordinaten.
Danke und Grueße
Timo