<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>NEW SPATIAL FEATURES IN The SQL SERVER 2008 FEBRUARY CTP</title><link>http://blogs.msdn.com/edkatibah/archive/2008/02/28/new-spatial-features-in-the-february-ctp-ctp-6.aspx</link><description>Now that the February CTP (CTP-6) for SQL Server 2008 is available , it's time to let folks know what new spatial features have been added or updated since the November CTP (CTP-5). Before I get into the new and updated features, I want to make sure that</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>
	New SQL Server Spatial blog
</title><link>http://blogs.msdn.com/edkatibah/archive/2008/02/28/new-spatial-features-in-the-february-ctp-ctp-6.aspx#7968887</link><pubDate>Sat, 01 Mar 2008 05:31:18 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7968887</guid><dc:creator>
	New SQL Server Spatial blog
</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://www.iter.dk/post/2008/02/29/New-SQL-Server-Spatial-blog.aspx"&gt;http://www.iter.dk/post/2008/02/29/New-SQL-Server-Spatial-blog.aspx&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Let Ed tell us what's new in the February CTP</title><link>http://blogs.msdn.com/edkatibah/archive/2008/02/28/new-spatial-features-in-the-february-ctp-ctp-6.aspx#7969364</link><pubDate>Sat, 01 Mar 2008 06:06:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7969364</guid><dc:creator>Isaac @ MSDN</dc:creator><description>&lt;p&gt;Hi Folks, Well, it looks like Ed finally started blogging. (I'll try not to let him take too much pressure&lt;/p&gt;
</description></item><item><title>Let Ed tell us what's new in the February CTP</title><link>http://blogs.msdn.com/edkatibah/archive/2008/02/28/new-spatial-features-in-the-february-ctp-ctp-6.aspx#7969663</link><pubDate>Sat, 01 Mar 2008 06:27:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7969663</guid><dc:creator>Noticias externas</dc:creator><description>&lt;p&gt;Hi Folks, Well, it looks like Ed finally started blogging. (I&amp;amp;#39;ll try not to let him take too much&lt;/p&gt;
</description></item><item><title>re: New Spatial Features in the SQL Server 2008 February CTP</title><link>http://blogs.msdn.com/edkatibah/archive/2008/02/28/new-spatial-features-in-the-february-ctp-ctp-6.aspx#7975612</link><pubDate>Sat, 01 Mar 2008 15:36:02 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7975612</guid><dc:creator>adamw-manifold</dc:creator><description>&lt;p&gt;Several things:&lt;/p&gt;
&lt;p&gt;1. Latitude / longitude:&lt;/p&gt;
&lt;p&gt;&amp;quot;I want to make sure that it is clear that the latitude-longitude coordinate ordering switch, which we will be making for the Geography type, is not in CTP-6&amp;quot;&lt;/p&gt;
&lt;p&gt;Could you elaborate on what exactly the change is going to be? I have followed the link to Isaac's blog and to the relevant thread on MSDN forum, but came up empty. Is it that you will switch the WKB and WKT representations for the GEOGRAPHY type to use XY ordering or is it something else?&lt;/p&gt;
&lt;p&gt;2. Degenerate polygons collapsed to lines and points:&lt;/p&gt;
&lt;p&gt;&amp;quot;Additionally, in some cases, STIntersects between two Polygons would return 1, however the STIntersection would return GeometryCollection Empty because the resultant intersection was considered to be a degenerate Polygon.&amp;quot;&lt;/p&gt;
&lt;p&gt;Is there an option to turn this off (if that's in the docs, just say so and I will find it)? For many scenarios, it would be undesirable for an operation that should conceptually produce a polygon to produce something else because of the limitations of floating-point arithmetic. In fact, I am not sure I can come up with a single scenario where this collapse to lines and points would be desired. Why was that done? In the thread you linked, why not just return an empty geometry value?&lt;/p&gt;
&lt;p&gt;Was it the desire to make geometry::Parse('&amp;lt;polygon&amp;gt;').Reduce(10).ToString() (mentioned in your next point) work regardless of whether or not the parsed polygon is degenerate? If so, why would one want that?&lt;/p&gt;
&lt;p&gt;3. Distance between GEOGRAPHY objects&lt;/p&gt;
&lt;p&gt;&amp;quot;STDistance can be calculated on any pair of Geography objects&amp;quot;&lt;/p&gt;
&lt;p&gt;What is the computational complexity of that?&lt;/p&gt;
&lt;p&gt;Thanks a lot for Filter!&lt;/p&gt;
</description></item><item><title>re: New Spatial Features in the SQL Server 2008 February CTP</title><link>http://blogs.msdn.com/edkatibah/archive/2008/02/28/new-spatial-features-in-the-february-ctp-ctp-6.aspx#7975744</link><pubDate>Sat, 01 Mar 2008 15:44:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7975744</guid><dc:creator>adamw-manifold</dc:creator><description>&lt;p&gt;Just noted that the entry to my question 2 is misleading. What I would like to know is this:&lt;/p&gt;
&lt;p&gt;If I read that correctly, in the new CTP the intersection operation and other operations that were previously returning Empty due to the resulting polygon being degenerate will apparently start returning sets of lines and points. Is there a way to avoid that and force the operation at hand to use the previous behavior and return Empty?&lt;/p&gt;
&lt;p&gt;Thanks.&lt;/p&gt;
</description></item><item><title>re: New Spatial Features in the SQL Server 2008 February CTP</title><link>http://blogs.msdn.com/edkatibah/archive/2008/02/28/new-spatial-features-in-the-february-ctp-ctp-6.aspx#7983989</link><pubDate>Sun, 02 Mar 2008 04:48:10 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7983989</guid><dc:creator>Steven Hemingray</dc:creator><description>&lt;p&gt;Hi Adam,&lt;/p&gt;
&lt;p&gt;Just wanted to make sure you fully understand the rather limit set of cases in which the change for #2 would apply. &amp;nbsp;If you have two Polygons that intersect at a Line, in almost all cases Intersection would return that line. &amp;nbsp;However, in a very small number of cases, the Intersection would appear to have non-zero Area and we would generate a Polygon. &amp;nbsp;This Polygon might turn out to be so thin at at least one point that it was considered degenerate and would collapse to Empty. &amp;nbsp;This change only affects the outcome of the degenerate cases - the Intersection code itself remains unchanged. &amp;nbsp; Intersection and most of the other operations already had the semantics of returning any type of object, so in no case could you rely on Polygon/Polygon Intersection always returning another Polygon.&lt;/p&gt;
&lt;p&gt;The only operation that does conceptually always return a Polygon is Buffer. &amp;nbsp;In that case, it's a question of which conceptual semantics is stronger: &lt;/p&gt;
&lt;p&gt;1. That the Buffer output should contain the original input&lt;/p&gt;
&lt;p&gt;or 2. That Buffer output should be a Polygon? &lt;/p&gt;
&lt;p&gt;I believe that #1 is definitely the right choice here - the original behavior as seen in Morton's post just seems buggy.&lt;/p&gt;
&lt;p&gt;While there is no built-in switch to disable this behavior, it is very easy to handle it yourself by switching off the InstanceOf expression of the output:&lt;/p&gt;
&lt;p&gt;select case x.shape.InstanceOf('Polygon') when 1 then x.shape when 0 then geometry::STGeomFromText('POLYGON EMPTY', x.shape.STSrid) end from (select geometry::Parse('POLYGON ((0 0, 10 0, 10 10, 0 10, 0 0))').Reduce(10) as shape) x&lt;/p&gt;
&lt;p&gt;For Reduce, this change lets the user decide whether they would like to display small Islands as Points on their map when zoomed out for example, which was much more difficult to do under the old behavior.&lt;/p&gt;
</description></item><item><title>re: New Spatial Features in the SQL Server 2008 February CTP</title><link>http://blogs.msdn.com/edkatibah/archive/2008/02/28/new-spatial-features-in-the-february-ctp-ctp-6.aspx#7996782</link><pubDate>Mon, 03 Mar 2008 10:01:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7996782</guid><dc:creator>adamw-manifold</dc:creator><description>&lt;p&gt;Thanks for the clarification.&lt;/p&gt;
&lt;p&gt;First, on the semantics of operations on polygons. I forgot that you are aiming to be compliant with OGC SFS. That answers my &amp;quot;why&amp;quot; question in that the reason intersecting two polygons might return something else than a polygon or a semantic null is that this is what the OGC spec states this operation should do. Same for other operations. I would argue that returning a polygon or a null would be much better than returning a mish-mash of lines and points, but I understand that it is too late to do anything about this.&lt;/p&gt;
&lt;p&gt;On to your proposed workaround:&lt;/p&gt;
&lt;p&gt;Of course, one can use &amp;quot;case ... end&amp;quot; like you show but that makes the text of a query much more complex than it should be. If the original query was already complex, it gets completely unreadable. What we and other people will likely end up doing is create a wrapper function that would maintain the &amp;quot;returns polygon&amp;quot; invariant. There would have to be a wrapper function for each spatial operation. It would of course be simpler if we did not have to use these wrappers, since creating them requires having write access to the database (for CREATE FUNCTION). Or am I overlooking a simpler way to both enforce a &amp;quot;return polygon&amp;quot; thing without adding too much to the text (and complexity) of the subject query?&lt;/p&gt;
&lt;p&gt;Thanks for your answer.&lt;/p&gt;
</description></item><item><title>re: New Spatial Features in the SQL Server 2008 February CTP</title><link>http://blogs.msdn.com/edkatibah/archive/2008/02/28/new-spatial-features-in-the-february-ctp-ctp-6.aspx#8010315</link><pubDate>Tue, 04 Mar 2008 00:33:14 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8010315</guid><dc:creator>Steven Hemingray</dc:creator><description>&lt;p&gt;I don't think there is currently a better workaround to meet your requirements. &amp;nbsp;Though I'm not sure I understand your complete requirements in the general case. &amp;nbsp;What would you expect for the Intersection of a Polygon and a LineString, for example? Or would this be disallowed?&lt;/p&gt;
&lt;p&gt;The only product I'm aware of that works this way is DB2, where the inputs to ST_Union must be of the same Dimension and the output of ST_Intersection is defined to be in the minimum dimension of the inputs. &amp;nbsp;My impression was that this was an implementation restriction rather than the desired behavior, however.&lt;/p&gt;
&lt;p&gt;If you have a clear, valuable use-case for such behavior and can codify the semantics for different dimensionality in different methods, I'd suggest you file it as a suggestion on connect.microsoft.com.&lt;/p&gt;
</description></item><item><title>re: New Spatial Features in the SQL Server 2008 February CTP</title><link>http://blogs.msdn.com/edkatibah/archive/2008/02/28/new-spatial-features-in-the-february-ctp-ctp-6.aspx#8019844</link><pubDate>Tue, 04 Mar 2008 08:35:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8019844</guid><dc:creator>adamw-manifold</dc:creator><description>&lt;p&gt;Will do. Any comments on the other two questions in my first post? Anyone?&lt;/p&gt;
</description></item><item><title>re: New Spatial Features in the SQL Server 2008 February CTP</title><link>http://blogs.msdn.com/edkatibah/archive/2008/02/28/new-spatial-features-in-the-february-ctp-ctp-6.aspx#8053785</link><pubDate>Wed, 05 Mar 2008 21:33:28 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8053785</guid><dc:creator>Steven Hemingray</dc:creator><description>&lt;p&gt;1. As you said, the Lat/Long change coming in CTP6 only swaps the coordinate order in WKT and WKB. &amp;nbsp;GML, the static Point constructor, and the on-disk binary format are not affected.&lt;/p&gt;
&lt;p&gt;3. &amp;nbsp;Geodetic distance complexity is still O(n*m), just like geometry distance. &amp;nbsp;The constant factor is just a little higher to account for doing operations on the ellipsoid vs the plane.&lt;/p&gt;
</description></item><item><title>re: New Spatial Features in the SQL Server 2008 February CTP</title><link>http://blogs.msdn.com/edkatibah/archive/2008/02/28/new-spatial-features-in-the-february-ctp-ctp-6.aspx#8171440</link><pubDate>Wed, 12 Mar 2008 20:08:12 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8171440</guid><dc:creator>t_sch</dc:creator><description>&lt;p&gt;Hi Ed,&lt;/p&gt;
&lt;p&gt;great to see you here, too!&lt;/p&gt;
&lt;p&gt;I observed that Reduce() acts the same on LINESTRINGs and that does not conform to the docs that say the start and end points of LINESTRINGs stay the same.&lt;/p&gt;
&lt;p&gt;select geometry::Parse('LINESTRING(0 0, 0 10, 10 10, 10 0, 0 0)').Reduce(10).ToString()&lt;/p&gt;
&lt;p&gt;returns&lt;/p&gt;
&lt;p&gt;LINESTRING (10 10, 0 0)&lt;/p&gt;
&lt;p&gt;I already filed a bug in Connect. Reason is we always work on polylines as the base objects and concat polygons on the fly. So we are able to display borders of different hierarchical levels in different signatures and don't waste space on redundant coords. Some polylines represent small islands and those have the same start and end point.&lt;/p&gt;
&lt;p&gt;Cheers,&lt;/p&gt;
&lt;p&gt;Thomas&lt;/p&gt;
</description></item><item><title>re: NEW SPATIAL FEATURES IN The SQL SERVER 2008 FEBRUARY CTP</title><link>http://blogs.msdn.com/edkatibah/archive/2008/02/28/new-spatial-features-in-the-february-ctp-ctp-6.aspx#8838709</link><pubDate>Wed, 06 Aug 2008 22:40:11 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8838709</guid><dc:creator>SQL server 2008 features for database developers</dc:creator><description>&lt;p&gt;Thanks for nice post. Here are some more features that SQL server 2008 provide for database developers&lt;/p&gt;
&lt;p&gt;&amp;lt;a href=&amp;quot;&lt;a rel="nofollow" target="_new" href="http://www.techbaba.com/q/2051-new+features+sql+server+2008+database+developers.aspx&amp;quot;&amp;gt;SQL"&gt;http://www.techbaba.com/q/2051-new+features+sql+server+2008+database+developers.aspx&amp;quot;&amp;gt;SQL&lt;/a&gt; server 2008 features for database developers&amp;lt;/a&amp;gt;&lt;/p&gt;
</description></item></channel></rss>