无法为sql server中的地理数据类型设置值

无法为sql server中的地理数据类型设置值,sql,sql-server-2014,polygon,shapes,sqlgeography,Sql,Sql Server 2014,Polygon,Shapes,Sqlgeography,我试图运行一个查询,在sql表中设置地理和几何数据类型。正在设置几何图形值,但未设置地理字段 谢谢你的帮助 查询: DECLARE @g GEOMETRY; SET @g = geometry::STGeomFromText('POLYGON ((367259.4 215248.8, 367254.4 215242.8, 367254.3 215242.8, 367232.3 215215.8, 367231.6 215214.7, 367229.8 215210.9, 367226.8 21

我试图运行一个查询,在sql表中设置地理和几何数据类型。正在设置几何图形值,但未设置地理字段

谢谢你的帮助

查询:

DECLARE @g GEOMETRY; 
SET @g = geometry::STGeomFromText('POLYGON ((367259.4 215248.8, 367254.4 215242.8, 367254.3 215242.8, 367232.3 215215.8, 367231.6 215214.7, 367229.8 215210.9, 367226.8 215206.1, 367225 215203.3, 367224.3 215201.9, 367222.4 215196.1, 367214.4 215176.2, 367208.4 215161.2, 367206.3 215154.9, 367206.1 215154.2, 367205.1 215149.2, 367205 215148, 367205 215145, 367204.3 215142.9, 367204.2 215139.5, 367205 215136.3, 367205 215126.3, 367206 215118.3, 367206.2 215117.4, 367208.1 215110.7, 367209.1 215104.2, 367209.1 215103.8, 367210.1 215099.2, 367211 215087.5, 367211.2 215086.5, 367212 215083.3, 367212 215080.2, 367209 215047.5, 367209 215020.2, 367208 215009.5, 367208.4 215006.8, 367210.4 215001.8, 367221.6 215006.2, 367220.1 215009.9, 367221 215019.5, 367221 215046.8, 367224 215079.5, 367224 215084, 367223.8 215085.5, 367222.9 215089, 367222 215100.5, 367221.9 215101.2, 367220.9 215105.9, 367219.9 215112.8, 367219.8 215113.6, 367217.9 215120.2, 367217 215127.5, 367217 215137, 367216.8 215138.5, 367216.3 215140.8, 367216.7 215142.1, 367217 215144, 367217 215147.5, 367217.8 215151.4, 367219.6 215156.9, 367225.6 215171.8, 367233.6 215191.8, 367233.7 215192.1, 367235.4 215197.3, 367237 215199.7, 367237.2 215199.9, 367240.2 215204.9, 367242.1 215208.7, 367263.7 215235.2, 367263.6 215235.2, 367268.6 215241.2, 367259.4 215248.8))',0);  

SET @g = @g.MakeValid(); 
DECLARE @gt NVARCHAR(MAX); 
DECLARE @gm GEOMETRY; 

DECLARE @gmvalid GEOMETRY; 
DECLARE @gg GEOGRAPHY; 
SET @gt = 'POLYGON ((-2.4765572168979246 51.834886150919068, -2.4766292083745185 51.834831912938959, -2.4766306595989849 51.834831907055218, -2.4769473630140695 51.834587865033036, -2.4769574169895581 51.834577934119665, -2.4769831777228739 51.834543663720581, -2.4770262579352518 51.8345003320179, -2.4770521136274786 51.834475052239561, -2.477062139037761 51.83446242412635, -2.4770891607127061 51.834410166542611, -2.4772033653852503 51.8342307816791, -2.4772890111640855 51.83409556865886, -2.4772904338343387 51.83409286557616, -2.47731888720382 51.834038803918482, -2.4773217230263049 51.834032498688686, -2.4773357594618584 51.833987486584057, -2.4773370965267119 51.833976691928015, -2.4773368111962268 51.833949720018786, -2.4773467698326082 51.833930798435162, -2.4773478976464407 51.83390022437866, -2.4773359837403435 51.833871501481319, -2.4773354796598643 51.83382385110739, -2.4773350992226897 51.833787888560785, -2.4773350326462658 51.8337815951151, -2.4773197598921088 51.833709728943553, -2.4773167719208637 51.833701649154669, -2.4772885621816818 51.83364152383426, -2.4772734321945706 51.8335831436103, -2.477273394156088 51.833579547355448, -2.4772584448866315 51.833538249339448, -2.4772442716866596 51.833433111905173, -2.4772412742386161 51.833424133050173, -2.4772293605278977 51.833395410139218, -2.4772290657590572 51.833367539163142, -2.4772694914866498 51.833073368574055, -2.4772694439398095 51.833068873255115, -2.47726689544732 51.832827924155083, -2.477280389530371 51.83273166541003, -2.4772743281507004 51.832707414252539, -2.477244829592216 51.832662578886733, -2.4770827185155531 51.832702797393083, -2.4771048375752787 51.832735974416757, -2.4770926897132579 51.832822337550944, -2.47709273724208 51.832826832870182, -2.4770952848050527 51.833067781976396, -2.4770548579467651 51.833361952508724, -2.4770549054727407 51.833366447827565, -2.4770552856809833 51.833402410378241, -2.477058330617 51.833415884556928, -2.477071723920965 51.833447298787576, -2.4770858777121738 51.8335506381159, -2.4770873954367034 51.8335569256728, -2.4771023540623536 51.833599122774515, -2.477117521860051 51.833661099275744, -2.4771190490993762 51.8336682858958, -2.4771472491228717 51.833727512193413, -2.4771610038654157 51.8337930908322, -2.4771613366266245 51.833824558061266, -2.4771619070758217 51.833878501882133, -2.4771649520766816 51.83389197605679, -2.477172426724862 51.833912625069729, -2.4771667455445856 51.833924336458708, -2.4771625726021442 51.833941436339188, -2.4771629053662148 51.833972903567442, -2.4771516665782216 51.834008014171573, -2.47712606789238 51.834057568691719, -2.4770404121909131 51.834191882531584, -2.476926216470225 51.834372166303091, -2.4769247937694434 51.834374869381342, -2.4769006173327388 51.834421720772234, -2.4768776260017566 51.834443392489682, -2.4768747425818582 51.834445202390405, -2.4768316812782207 51.834490332165494, -2.4768288168556416 51.834493940192338, -2.4768044692453031 51.834524608417773, -2.4764935229141578 51.834764131212488, -2.4764949741364735 51.834764125330437, -2.47642298260564 51.834818363229154, -2.4765572168979246 51.834886150919068))'; 

SET @gmvalid = @gm.MakeValid(); 
SET @gt = @gmvalid.STAsText(); 

IF LEFT(@gt,7 ) = 'POLYGON' 
BEGIN 
SET @gg = GEOGRAPHY::STPolyFromText(@gt, 4326); 
END 
ELSE 
BEGIN 
SET @gg = GEOGRAPHY::STMPolyFromText(@gt, 4326); 
END 

UPDATE RM_COMMON_ATTRIBUTES SET BLCE=367204,TRCE=367269,BLCN=215002,TRCN=215249,EASTING=367236.5,NORTHING=215125.5,DIGITAL_LENGTH=0,DIGITAL_AREA=0,SHAPE_GEOMETRY=@g,SHAPE_GEOGRAPHY=@gg WHERE ITEM_UID = 859327

当我运行到@gmvalid时,它将@gmvalid设置为null。我想再看看@gt的值,因为它似乎不是有效的多边形

DECLARE @g GEOMETRY; 
SET @g = geometry::STGeomFromText('POLYGON ((367259.4 215248.8, 367254.4 215242.8, 367254.3 215242.8, 367232.3 215215.8, 367231.6 215214.7, 367229.8 215210.9, 367226.8 215206.1, 367225 215203.3, 367224.3 215201.9, 367222.4 215196.1, 367214.4 215176.2, 367208.4 215161.2, 367206.3 215154.9, 367206.1 215154.2, 367205.1 215149.2, 367205 215148, 367205 215145, 367204.3 215142.9, 367204.2 215139.5, 367205 215136.3, 367205 215126.3, 367206 215118.3, 367206.2 215117.4, 367208.1 215110.7, 367209.1 215104.2, 367209.1 215103.8, 367210.1 215099.2, 367211 215087.5, 367211.2 215086.5, 367212 215083.3, 367212 215080.2, 367209 215047.5, 367209 215020.2, 367208 215009.5, 367208.4 215006.8, 367210.4 215001.8, 367221.6 215006.2, 367220.1 215009.9, 367221 215019.5, 367221 215046.8, 367224 215079.5, 367224 215084, 367223.8 215085.5, 367222.9 215089, 367222 215100.5, 367221.9 215101.2, 367220.9 215105.9, 367219.9 215112.8, 367219.8 215113.6, 367217.9 215120.2, 367217 215127.5, 367217 215137, 367216.8 215138.5, 367216.3 215140.8, 367216.7 215142.1, 367217 215144, 367217 215147.5, 367217.8 215151.4, 367219.6 215156.9, 367225.6 215171.8, 367233.6 215191.8, 367233.7 215192.1, 367235.4 215197.3, 367237 215199.7, 367237.2 215199.9, 367240.2 215204.9, 367242.1 215208.7, 367263.7 215235.2, 367263.6 215235.2, 367268.6 215241.2, 367259.4 215248.8))',0);  

SET @g = @g.MakeValid(); 
select @g

DECLARE @gt NVARCHAR(MAX); 
DECLARE @gm GEOMETRY; 

DECLARE @gmvalid GEOMETRY; 
DECLARE @gg GEOGRAPHY; 
SET @gt = 'POLYGON ((-2.4765572168979246 51.834886150919068, -2.4766292083745185 51.834831912938959, -2.4766306595989849 51.834831907055218, -2.4769473630140695 51.834587865033036, -2.4769574169895581 51.834577934119665, -2.4769831777228739 51.834543663720581, -2.4770262579352518 51.8345003320179, -2.4770521136274786 51.834475052239561, -2.477062139037761 51.83446242412635, -2.4770891607127061 51.834410166542611, -2.4772033653852503 51.8342307816791, -2.4772890111640855 51.83409556865886, -2.4772904338343387 51.83409286557616, -2.47731888720382 51.834038803918482, -2.4773217230263049 51.834032498688686, -2.4773357594618584 51.833987486584057, -2.4773370965267119 51.833976691928015, -2.4773368111962268 51.833949720018786, -2.4773467698326082 51.833930798435162, -2.4773478976464407 51.83390022437866, -2.4773359837403435 51.833871501481319, -2.4773354796598643 51.83382385110739, -2.4773350992226897 51.833787888560785, -2.4773350326462658 51.8337815951151, -2.4773197598921088 51.833709728943553, -2.4773167719208637 51.833701649154669, -2.4772885621816818 51.83364152383426, -2.4772734321945706 51.8335831436103, -2.477273394156088 51.833579547355448, -2.4772584448866315 51.833538249339448, -2.4772442716866596 51.833433111905173, -2.4772412742386161 51.833424133050173, -2.4772293605278977 51.833395410139218, -2.4772290657590572 51.833367539163142, -2.4772694914866498 51.833073368574055, -2.4772694439398095 51.833068873255115, -2.47726689544732 51.832827924155083, -2.477280389530371 51.83273166541003, -2.4772743281507004 51.832707414252539, -2.477244829592216 51.832662578886733, -2.4770827185155531 51.832702797393083, -2.4771048375752787 51.832735974416757, -2.4770926897132579 51.832822337550944, -2.47709273724208 51.832826832870182, -2.4770952848050527 51.833067781976396, -2.4770548579467651 51.833361952508724, -2.4770549054727407 51.833366447827565, -2.4770552856809833 51.833402410378241, -2.477058330617 51.833415884556928, -2.477071723920965 51.833447298787576, -2.4770858777121738 51.8335506381159, -2.4770873954367034 51.8335569256728, -2.4771023540623536 51.833599122774515, -2.477117521860051 51.833661099275744, -2.4771190490993762 51.8336682858958, -2.4771472491228717 51.833727512193413, -2.4771610038654157 51.8337930908322, -2.4771613366266245 51.833824558061266, -2.4771619070758217 51.833878501882133, -2.4771649520766816 51.83389197605679, -2.477172426724862 51.833912625069729, -2.4771667455445856 51.833924336458708, -2.4771625726021442 51.833941436339188, -2.4771629053662148 51.833972903567442, -2.4771516665782216 51.834008014171573, -2.47712606789238 51.834057568691719, -2.4770404121909131 51.834191882531584, -2.476926216470225 51.834372166303091, -2.4769247937694434 51.834374869381342, -2.4769006173327388 51.834421720772234, -2.4768776260017566 51.834443392489682, -2.4768747425818582 51.834445202390405, -2.4768316812782207 51.834490332165494, -2.4768288168556416 51.834493940192338, -2.4768044692453031 51.834524608417773, -2.4764935229141578 51.834764131212488, -2.4764949741364735 51.834764125330437, -2.47642298260564 51.834818363229154, -2.4765572168979246 51.834886150919068))'; 

SET @gmvalid = @gm.MakeValid(); 
select @gmvalid, @gt