<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>sqlspatialtools Wiki &amp; Documentation Rss Feed</title><link>http://www.codeplex.com/sqlspatialtools/Wiki/View.aspx?title=Home</link><description>sqlspatialtools Wiki Rss Description</description><item><title>Updated Wiki: Current Contents</title><link>http://sqlspatialtools.codeplex.com/wikipage?title=Current Contents&amp;version=12</link><description>&lt;div class="wikidoc"&gt;This summarizes the current contents of this package from an end-user perspective.&lt;br /&gt;
&lt;h1&gt;Scripts&lt;/h1&gt;Several scripts are included in the &lt;i&gt;SQL Scripts&lt;/i&gt; directory.  These include scripts for registering and unregistering all of the following components, as well as several examples of their use.  &lt;br /&gt;
&lt;h1&gt;Functions&lt;/h1&gt;These static methods, implemented in the class &lt;i&gt;Functions&lt;/i&gt;, can both be registered in SQL Server and used through T-SQL, as well as be used directly from the CLR:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;FilterArtifactsGeography&lt;/b&gt;(SqlGeography geography, bool filterEmptyShapes, bool filterPoints, double lineStringTolerance, double ringTolerance)&lt;/u&gt;&lt;br /&gt;Selectively filter unwanted, artifact, shapes from input geography, with the following arguments:&lt;br /&gt;geography SQLGeography           – Input geography object.&lt;br /&gt;filterEmptyShapes boolean           – A value of 1 will remove all empty shapes while a value of 0 will not remove any empty shapes.&lt;br /&gt;filterPoints Boolean                        – A value of 1 will remove all point/multipoint shapes while a value of 0 will not remove any.&lt;br /&gt;lineSTringTolerance double          – Remove all linestring/multilinestring shapes shorter than the provided tolerance. A value of 0 will not remove any linestring/multilinestring shapes.&lt;br /&gt;ringTolerance double                     – Remove all polygon rings thinner than provided tolerance (e.g. ring.STArea&amp;lt; ringTolerance * ring.STLength). A value of 0 will not remove any rings.&lt;br /&gt;General behavior:  Returned spatial objects will always be the simplest OGC construction possible.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;FilterArtifactsGeometry&lt;/b&gt;(SqlGeometry geometry, bool filterEmptyShapes, bool filterPoints, double lineStringTolerance, double ringTolerance)&lt;/u&gt;&lt;br /&gt;Selectively filter unwanted, artifact, shapes from input geometry, with the following arguments:&lt;br /&gt;geometry SQLGeometry               – Input geometry object.&lt;br /&gt;filterEmptyShapes boolean           – A value of 1 will remove all empty shapes while a value of 0 will not remove any empty shapes.&lt;br /&gt;filterPoints Boolean                        – A value of 1 will remove all point/multipoint shapes while a value of 0 will not remove any.&lt;br /&gt;lineSTringTolerance double          – Remove all linestring/multilinestring shapes shorter than the provided tolerance. A value of 0 will not remove any linestring/multilinestring shapes.&lt;br /&gt;ringTolerance double                     – Remove all polygon rings thinner than provided tolerance (e.g. ring.STArea&amp;lt; ringTolerance * ring.STLength). A value of 0 will not remove any rings.&lt;br /&gt;General behavior:  Returned spatial objects will always be the simplest OGC construction possible.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;bool &lt;b&gt;IsValidGeographyFromGeometry&lt;/b&gt;(SqlGeometry geometry)&lt;/u&gt;&lt;br /&gt;Check if an input geometry can represent a valid geography without throwing an exception.&lt;br /&gt;This function requires that the geometry be in longitude/latitude coordinates and that&lt;br /&gt;those coordinates are in correct order in the geometry instance (i.e. latitude/longitude&lt;br /&gt;not longitude/latitude). This function will return false (0) if the input geometry is not&lt;br /&gt;in the correct latitude/longitude format, including a valid geography SRID.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;bool &lt;b&gt;IsValidGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Check if an input WKT can represent a valid geography. This function requires that&lt;br /&gt;the WTK coordinate values are longitude/latitude values, in that order and that a valid&lt;br /&gt;geography SRID value is supplied.  This function will not throw an exception even in&lt;br /&gt;edge conditions (i.e. longitude/latitude coordinates are reversed to latitude/longitude).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;MakeValidGeographyFromGeometry&lt;/b&gt;(SqlGeometry geometry)&lt;/u&gt;&lt;br /&gt;Convert an input geometry instance to a valid geography instance.&lt;br /&gt;This function requires that the WKT coordinate values are longitude/latitude values,&lt;br /&gt;in that order and that a valid geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;MakeValidGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Convert an input WKT to a valid geography instance.&lt;br /&gt;This function requires that the WKT coordinate values are longitude/latitude values,&lt;br /&gt;in that order and that a valid geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeography&lt;/b&gt;(SqlGeography geography)&lt;/u&gt;&lt;br /&gt;Computes ConvexHull of input geography and returns a polygon (unless all input points are colinear).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Computes ConvexHull of input WKT and returns a polygon (unless all input points are colinear).&lt;br /&gt;This function does not require its input to be a valid geography. This function does require&lt;br /&gt;that the WKT coordinate values are longitude/latitude values, in that order and that a valid&lt;br /&gt;geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;DensifyGeography&lt;/b&gt;(SqlGeography g, double maxAngle)&lt;/u&gt;&lt;br /&gt;Returns a &lt;i&gt;geography&lt;/i&gt; instance equivalent to its input, but with no two consecutive points spaced more than &lt;i&gt;maxAngle&lt;/i&gt; apart.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;InterpolateBetweenGeog&lt;/b&gt;(SqlGeography start, SqlGeography end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geography&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;InterpolateBetweenGeom&lt;/b&gt;(SqlGeometry start, SqlGeometry end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geometry&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;LocateAlongGeog&lt;/b&gt;(SqlGeography g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geography&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;LocateAlongGeom&lt;/b&gt;(SqlGeometry g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;ShiftGeometry&lt;/b&gt;(SqlGeometry g, double xShift, double yShift)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; instance and shifts if by a given X and Y amount.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;VacuousGeographyToGeometry&lt;/b&gt;(SqlGeography toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;A special case of the equirectangular projection, taking each point (lat,long) --&amp;gt; (y, x).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;VacuousGeometryToGeography&lt;/b&gt;(SqlGeometry toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;The inverse of the VacuousGeographyToGeometry projection.&lt;br /&gt;
&lt;h1&gt;Types&lt;/h1&gt;These types can be registered in SQL Server or used directly through the CLR.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;SqlProjection&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This class provides an extensible access point to various projections and inverse projections.  See the file &lt;i&gt;projection_example.sql&lt;/i&gt; for a sample of its use.  Currently supported projections are:
&lt;ul&gt;&lt;li&gt;Albers Equal Area&lt;/li&gt;
&lt;li&gt;Equirectangular&lt;/li&gt;
&lt;li&gt;Lambert Conformal Conic&lt;/li&gt;
&lt;li&gt;Mercator&lt;/li&gt;
&lt;li&gt;Oblique Mercator&lt;/li&gt;
&lt;li&gt;Tranverse Mercator&lt;/li&gt;
&lt;li&gt;Gnomonic&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;u&gt;&lt;b&gt;AffineTransform&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This provides general affine transformations.  See the example &lt;i&gt;transform_example.sql&lt;/i&gt; for a sample of its use.&lt;br /&gt;
&lt;h1&gt;Aggregates&lt;/h1&gt;While implemented as classes, aggregates are essentially functions that take a collection of inputs to a single result.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeographyUnionAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate computes the union of a set of &lt;i&gt;geographies&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeometryEnvelopeAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate computes the envelope of a set of input &lt;i&gt;geometries&lt;/i&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>tintor</author><pubDate>Wed, 29 Dec 2010 18:02:37 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Current Contents 20101229060237P</guid></item><item><title>Updated Wiki: Current Contents</title><link>http://sqlspatialtools.codeplex.com/wikipage?title=Current Contents&amp;version=11</link><description>&lt;div class="wikidoc"&gt;This summarizes the current contents of this package from an end-user perspective.&lt;br /&gt;
&lt;h1&gt;Scripts&lt;/h1&gt;Several scripts are included in the &lt;i&gt;SQL Scripts&lt;/i&gt; directory.  These include scripts for registering and unregistering all of the following components, as well as several examples of their use.  &lt;br /&gt;
&lt;h1&gt;Functions&lt;/h1&gt;These static methods, implemented in the class &lt;i&gt;Functions&lt;/i&gt;, can both be registered in SQL Server and used through T-SQL, as well as be used directly from the CLR:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;FilterArtifactsGeography&lt;/b&gt;(SqlGeography geography, bool filterEmptyShapes, bool filterPoints, double lineStringTolerance, double ringTolerance)&lt;/u&gt;&lt;br /&gt;Selectively filter unwanted, artifact, shapes from input geography, with the following arguments:&lt;br /&gt;geography SQLGeography           – Input geography object.&lt;br /&gt;filterEmptyShapes boolean           – A value of 1 will remove all empty shapes while a value of 0 will not remove any empty shapes.&lt;br /&gt;filterPoints Boolean                        – A value of 1 will remove all point/multipoint shapes while a value of 0 will not remove any.&lt;br /&gt;lineSTringTolerance double          – Remove all linestring/multilinestring shapes shorter than the provided tolerance or -1 to remove all linestring/multilinestring shapes. A value of 0 will not remove any linestring/multilinestring shapes.&lt;br /&gt;ringTolerance double                     – Remove all polygon rings thinner than provided tolerance (e.g. ring.STArea&amp;lt; ringTolerance * ring.STLength). A value of 0 will not remove any rings.&lt;br /&gt;General behavior:  Returned spatial objects will always be the simplest OGC construction possible.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;FilterArtifactsGeometry&lt;/b&gt;(SqlGeometry geometry, bool filterEmptyShapes, bool filterPoints, double lineStringTolerance, double ringTolerance)&lt;/u&gt;&lt;br /&gt;Selectively filter unwanted, artifact, shapes from input geometry, with the following arguments:&lt;br /&gt;geometry SQLGeometry               – Input geometry object.&lt;br /&gt;filterEmptyShapes boolean           – A value of 1 will remove all empty shapes while a value of 0 will not remove any empty shapes.&lt;br /&gt;filterPoints Boolean                        – A value of 1 will remove all point/multipoint shapes while a value of 0 will not remove any.&lt;br /&gt;lineSTringTolerance double          – Remove all linestring/multilinestring shapes shorter than the provided tolerance or -1 to remove all linestring/multilinestring shapes. A value of 0 will not remove any linestring/multilinestring shapes.&lt;br /&gt;ringTolerance double                     – Remove all polygon rings thinner than provided tolerance (e.g. ring.STArea&amp;lt; ringTolerance * ring.STLength). A value of 0 will not remove any rings.&lt;br /&gt;General behavior:  Returned spatial objects will always be the simplest OGC construction possible.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;bool &lt;b&gt;IsValidGeographyFromGeometry&lt;/b&gt;(SqlGeometry geometry)&lt;/u&gt;&lt;br /&gt;Check if an input geometry can represent a valid geography without throwing an exception.&lt;br /&gt;This function requires that the geometry be in longitude/latitude coordinates and that&lt;br /&gt;those coordinates are in correct order in the geometry instance (i.e. latitude/longitude&lt;br /&gt;not longitude/latitude). This function will return false (0) if the input geometry is not&lt;br /&gt;in the correct latitude/longitude format, including a valid geography SRID.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;bool &lt;b&gt;IsValidGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Check if an input WKT can represent a valid geography. This function requires that&lt;br /&gt;the WTK coordinate values are longitude/latitude values, in that order and that a valid&lt;br /&gt;geography SRID value is supplied.  This function will not throw an exception even in&lt;br /&gt;edge conditions (i.e. longitude/latitude coordinates are reversed to latitude/longitude).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;MakeValidGeographyFromGeometry&lt;/b&gt;(SqlGeometry geometry)&lt;/u&gt;&lt;br /&gt;Convert an input geometry instance to a valid geography instance.&lt;br /&gt;This function requires that the WKT coordinate values are longitude/latitude values,&lt;br /&gt;in that order and that a valid geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;MakeValidGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Convert an input WKT to a valid geography instance.&lt;br /&gt;This function requires that the WKT coordinate values are longitude/latitude values,&lt;br /&gt;in that order and that a valid geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeography&lt;/b&gt;(SqlGeography geography)&lt;/u&gt;&lt;br /&gt;Computes ConvexHull of input geography and returns a polygon (unless all input points are colinear).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Computes ConvexHull of input WKT and returns a polygon (unless all input points are colinear).&lt;br /&gt;This function does not require its input to be a valid geography. This function does require&lt;br /&gt;that the WKT coordinate values are longitude/latitude values, in that order and that a valid&lt;br /&gt;geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;DensifyGeography&lt;/b&gt;(SqlGeography g, double maxAngle)&lt;/u&gt;&lt;br /&gt;Returns a &lt;i&gt;geography&lt;/i&gt; instance equivalent to its input, but with no two consecutive points spaced more than &lt;i&gt;maxAngle&lt;/i&gt; apart.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;InterpolateBetweenGeog&lt;/b&gt;(SqlGeography start, SqlGeography end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geography&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;InterpolateBetweenGeom&lt;/b&gt;(SqlGeometry start, SqlGeometry end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geometry&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;LocateAlongGeog&lt;/b&gt;(SqlGeography g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geography&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;LocateAlongGeom&lt;/b&gt;(SqlGeometry g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;ShiftGeometry&lt;/b&gt;(SqlGeometry g, double xShift, double yShift)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; instance and shifts if by a given X and Y amount.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;VacuousGeographyToGeometry&lt;/b&gt;(SqlGeography toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;A special case of the equirectangular projection, taking each point (lat,long) --&amp;gt; (y, x).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;VacuousGeometryToGeography&lt;/b&gt;(SqlGeometry toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;The inverse of the VacuousGeographyToGeometry projection.&lt;br /&gt;
&lt;h1&gt;Types&lt;/h1&gt;These types can be registered in SQL Server or used directly through the CLR.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;SqlProjection&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This class provides an extensible access point to various projections and inverse projections.  See the file &lt;i&gt;projection_example.sql&lt;/i&gt; for a sample of its use.  Currently supported projections are:
&lt;ul&gt;&lt;li&gt;Albers Equal Area&lt;/li&gt;
&lt;li&gt;Equirectangular&lt;/li&gt;
&lt;li&gt;Lambert Conformal Conic&lt;/li&gt;
&lt;li&gt;Mercator&lt;/li&gt;
&lt;li&gt;Oblique Mercator&lt;/li&gt;
&lt;li&gt;Tranverse Mercator&lt;/li&gt;
&lt;li&gt;Gnomonic&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;u&gt;&lt;b&gt;AffineTransform&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This provides general affine transformations.  See the example &lt;i&gt;transform_example.sql&lt;/i&gt; for a sample of its use.&lt;br /&gt;
&lt;h1&gt;Aggregates&lt;/h1&gt;While implemented as classes, aggregates are essentially functions that take a collection of inputs to a single result.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeographyUnionAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate computes the union of a set of &lt;i&gt;geographies&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeometryEnvelopeAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate computes the envelope of a set of input &lt;i&gt;geometries&lt;/i&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>tintor</author><pubDate>Mon, 27 Dec 2010 17:17:38 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Current Contents 20101227051738P</guid></item><item><title>Updated Wiki: Current Contents</title><link>http://sqlspatialtools.codeplex.com/wikipage?title=Current Contents&amp;version=10</link><description>&lt;div class="wikidoc"&gt;This summarizes the current contents of this package from an end-user perspective.&lt;br /&gt;
&lt;h1&gt;Scripts&lt;/h1&gt;Several scripts are included in the &lt;i&gt;SQL Scripts&lt;/i&gt; directory.  These include scripts for registering and unregistering all of the following components, as well as several examples of their use.  &lt;br /&gt;
&lt;h1&gt;Functions&lt;/h1&gt;These static methods, implemented in the class &lt;i&gt;Functions&lt;/i&gt;, can both be registered in SQL Server and used through T-SQL, as well as be used directly from the CLR:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;FilterArtifactsGeography(SqlGeography geography, bool filterEmptyShapes, bool filterPoints, double lineStringTolerance, double ringTolerance)&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Selectively filter unwanted, artifact, shapes from input geography, with the following arguments:&lt;br /&gt;geography SQLGeography           – Input geography object.&lt;br /&gt;filterEmptyShapes boolean           – A value of 1 will remove all empty shapes while a value of 0 will not remove any empty shapes.&lt;br /&gt;filterPoints Boolean                        – A value of 1 will remove all point/multipoint shapes while a value of 0 will not remove any.&lt;br /&gt;lineSTringTolerance double          – Remove all linestring/multilinestring shapes shorter than the provided tolerance or -1 to remove all linestring/multilinestring shapes. A value of 0 will not remove any linestring/multilinestring shapes.&lt;br /&gt;ringTolerance double                     – Remove all polygon rings thinner than provided tolerance (e.g. ring.STArea&amp;lt; ringTolerance * ring.STLength). A value of 0 will not remove any rings.&lt;br /&gt;General behavior:  Returned spatial objects will always be the simplest OGC construction possible.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;FilterArtifactsGeometry(SqlGeometry geometry, bool filterEmptyShapes, bool filterPoints, double lineStringTolerance, double ringTolerance)&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;Selectively filter unwanted, artifact, shapes from input geometry, with the following arguments:&lt;br /&gt;geometry &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=SQLGeometry&amp;referringTitle=Current%20Contents"&gt;SQLGeometry&lt;/a&gt;               – Input geometry object.&lt;br /&gt;filterEmptyShapes &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=boolean&amp;referringTitle=Current%20Contents"&gt;boolean&lt;/a&gt;           – A value of 1 will remove all &lt;br /&gt;   empty shapes while a value of 0 &lt;br /&gt;   will not remove any empty shapes.&lt;br /&gt;filterPoints &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=Boolean&amp;referringTitle=Current%20Contents"&gt;Boolean&lt;/a&gt;                        – A value of 1 will remove all &lt;br /&gt;   point/multipoint shapes while a &lt;br /&gt;   value of 0 will not remove any.&lt;br /&gt;lineSTringTolerance &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=double&amp;referringTitle=Current%20Contents"&gt;double&lt;/a&gt;          – Remove all linestring/multilinestring &lt;br /&gt;   shapes shorter than the provided &lt;br /&gt;   tolerance or -1 to remove all &lt;br /&gt;   linestring/multilinestring shapes.  &lt;br /&gt;   A value of 0 will not remove any &lt;br /&gt;   linestring/multilinestring shapes.&lt;br /&gt;ringTolerance &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=double&amp;referringTitle=Current%20Contents"&gt;double&lt;/a&gt;                     – Remove all polygon rings thinner &lt;br /&gt;   than provided tolerance (e.g. &lt;br /&gt;   ring.STArea&amp;lt; ringTolerance * ring.STLength).  &lt;br /&gt;   A value of 0 will not remove any rings.&lt;br /&gt;General behavior:  Returned spatial objects will always be the simplest OGC construction possible.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;bool &lt;b&gt;IsValidGeographyFromGeometry&lt;/b&gt;(SqlGeometry geometry)&lt;/u&gt;&lt;br /&gt;Check if an input geometry can represent a valid geography without throwing an exception.&lt;br /&gt;This function requires that the geometry be in longitude/latitude coordinates and that&lt;br /&gt;those coordinates are in correct order in the geometry instance (i.e. latitude/longitude&lt;br /&gt;not longitude/latitude). This function will return false (0) if the input geometry is not&lt;br /&gt;in the correct latitude/longitude format, including a valid geography SRID.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;bool &lt;b&gt;IsValidGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Check if an input WKT can represent a valid geography. This function requires that&lt;br /&gt;the WTK coordinate values are longitude/latitude values, in that order and that a valid&lt;br /&gt;geography SRID value is supplied.  This function will not throw an exception even in&lt;br /&gt;edge conditions (i.e. longitude/latitude coordinates are reversed to latitude/longitude).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;MakeValidGeographyFromGeometry&lt;/b&gt;(SqlGeometry geometry)&lt;/u&gt;&lt;br /&gt;Convert an input geometry instance to a valid geography instance.&lt;br /&gt;This function requires that the WKT coordinate values are longitude/latitude values,&lt;br /&gt;in that order and that a valid geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;MakeValidGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Convert an input WKT to a valid geography instance.&lt;br /&gt;This function requires that the WKT coordinate values are longitude/latitude values,&lt;br /&gt;in that order and that a valid geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeography&lt;/b&gt;(SqlGeography geography)&lt;/u&gt;&lt;br /&gt;Computes ConvexHull of input geography and returns a polygon (unless all input points are colinear).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Computes ConvexHull of input WKT and returns a polygon (unless all input points are colinear).&lt;br /&gt;This function does not require its input to be a valid geography. This function does require&lt;br /&gt;that the WKT coordinate values are longitude/latitude values, in that order and that a valid&lt;br /&gt;geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;DensifyGeography&lt;/b&gt;(SqlGeography g, double maxAngle)&lt;/u&gt;&lt;br /&gt;Returns a &lt;i&gt;geography&lt;/i&gt; instance equivalent to its input, but with no two consecutive points spaced more than &lt;i&gt;maxAngle&lt;/i&gt; apart.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;InterpolateBetweenGeog&lt;/b&gt;(SqlGeography start, SqlGeography end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geography&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;InterpolateBetweenGeom&lt;/b&gt;(SqlGeometry start, SqlGeometry end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geometry&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;LocateAlongGeog&lt;/b&gt;(SqlGeography g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geography&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;LocateAlongGeom&lt;/b&gt;(SqlGeometry g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;ShiftGeometry&lt;/b&gt;(SqlGeometry g, double xShift, double yShift)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; instance and shifts if by a given X and Y amount.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;VacuousGeographyToGeometry&lt;/b&gt;(SqlGeography toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;A special case of the equirectangular projection, taking each point (lat,long) --&amp;gt; (y, x).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;VacuousGeometryToGeography&lt;/b&gt;(SqlGeometry toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;The inverse of the VacuousGeographyToGeometry projection.&lt;br /&gt;
&lt;h1&gt;Types&lt;/h1&gt;These types can be registered in SQL Server or used directly through the CLR.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;SqlProjection&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This class provides an extensible access point to various projections and inverse projections.  See the file &lt;i&gt;projection_example.sql&lt;/i&gt; for a sample of its use.  Currently supported projections are:
&lt;ul&gt;&lt;li&gt;Albers Equal Area&lt;/li&gt;
&lt;li&gt;Equirectangular&lt;/li&gt;
&lt;li&gt;Lambert Conformal Conic&lt;/li&gt;
&lt;li&gt;Mercator&lt;/li&gt;
&lt;li&gt;Oblique Mercator&lt;/li&gt;
&lt;li&gt;Tranverse Mercator&lt;/li&gt;
&lt;li&gt;Gnomonic&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;u&gt;&lt;b&gt;AffineTransform&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This provides general affine transformations.  See the example &lt;i&gt;transform_example.sql&lt;/i&gt; for a sample of its use.&lt;br /&gt;
&lt;h1&gt;Aggregates&lt;/h1&gt;While implemented as classes, aggregates are essentially functions that take a collection of inputs to a single result.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeographyUnionAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate computes the union of a set of &lt;i&gt;geographies&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeometryEnvelopeAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate computes the envelope of a set of input &lt;i&gt;geometries&lt;/i&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>tintor</author><pubDate>Mon, 27 Dec 2010 17:15:15 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Current Contents 20101227051515P</guid></item><item><title>Updated Wiki: Current Contents</title><link>http://sqlspatialtools.codeplex.com/wikipage?title=Current Contents&amp;version=9</link><description>&lt;div class="wikidoc"&gt;This summarizes the current contents of this package from an end-user perspective.&lt;br /&gt;
&lt;h1&gt;Scripts&lt;/h1&gt;Several scripts are included in the &lt;i&gt;SQL Scripts&lt;/i&gt; directory.  These include scripts for registering and unregistering all of the following components, as well as several examples of their use.  &lt;br /&gt;
&lt;h1&gt;Functions&lt;/h1&gt;These static methods, implemented in the class &lt;i&gt;Functions&lt;/i&gt;, can both be registered in SQL Server and used through T-SQL, as well as be used directly from the CLR:&lt;br /&gt;&lt;br /&gt;+SqlGeography FilterArtifactsGeography(SqlGeography geography, &lt;br /&gt;bool filterEmptyShapes, &lt;br /&gt;bool filterPoints, &lt;br /&gt;double lineStringTolerance, &lt;br /&gt;double ringTolerance)&lt;br /&gt;Selectively filter unwanted, artifact, shapes from input geography, with &lt;br /&gt;the following arguments:&lt;br /&gt;               geography &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=SQLGeography&amp;referringTitle=Current%20Contents"&gt;SQLGeography&lt;/a&gt;           – Input geography object.&lt;br /&gt;filterEmptyShapes &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=boolean&amp;referringTitle=Current%20Contents"&gt;boolean&lt;/a&gt;           – A value of 1 will remove all &lt;br /&gt;   empty shapes while a value of 0 &lt;br /&gt;   will not remove any empty shapes.&lt;br /&gt;filterPoints &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=Boolean&amp;referringTitle=Current%20Contents"&gt;Boolean&lt;/a&gt;                        – A value of 1 will remove all &lt;br /&gt;   point/multipoint shapes while a &lt;br /&gt;   value of 0 will not remove any.&lt;br /&gt;lineSTringTolerance &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=double&amp;referringTitle=Current%20Contents"&gt;double&lt;/a&gt;          – Remove all linestring/multilinestring &lt;br /&gt;   shapes shorter than the provided &lt;br /&gt;   tolerance or -1 to remove all &lt;br /&gt;   linestring/multilinestring shapes.  &lt;br /&gt;   A value of 0 will not remove any &lt;br /&gt;   linestring/multilinestring shapes.&lt;br /&gt;ringTolerance &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=double&amp;referringTitle=Current%20Contents"&gt;double&lt;/a&gt;                     – Remove all polygon rings thinner &lt;br /&gt;   than provided tolerance (e.g. &lt;br /&gt;   ring.STArea&amp;lt; ringTolerance * ring.STLength).  &lt;br /&gt;   A value of 0 will not remove any rings.&lt;br /&gt;General behavior:  Returned spatial objects will always be the simplest OGC construction possible.&lt;br /&gt;&lt;br /&gt;+SqlGeography FilterArtifactsGeometry(SqlGeometry geometry, &lt;br /&gt;bool filterEmptyShapes, &lt;br /&gt;bool filterPoints, &lt;br /&gt;double lineStringTolerance, &lt;br /&gt;double ringTolerance)&lt;br /&gt;Selectively filter unwanted, artifact, shapes from input geometry, with &lt;br /&gt;the following arguments:&lt;br /&gt;               geometry &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=SQLGeometry&amp;referringTitle=Current%20Contents"&gt;SQLGeometry&lt;/a&gt;               – Input geometry object.&lt;br /&gt;filterEmptyShapes &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=boolean&amp;referringTitle=Current%20Contents"&gt;boolean&lt;/a&gt;           – A value of 1 will remove all &lt;br /&gt;   empty shapes while a value of 0 &lt;br /&gt;   will not remove any empty shapes.&lt;br /&gt;filterPoints &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=Boolean&amp;referringTitle=Current%20Contents"&gt;Boolean&lt;/a&gt;                        – A value of 1 will remove all &lt;br /&gt;   point/multipoint shapes while a &lt;br /&gt;   value of 0 will not remove any.&lt;br /&gt;lineSTringTolerance &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=double&amp;referringTitle=Current%20Contents"&gt;double&lt;/a&gt;          – Remove all linestring/multilinestring &lt;br /&gt;   shapes shorter than the provided &lt;br /&gt;   tolerance or -1 to remove all &lt;br /&gt;   linestring/multilinestring shapes.  &lt;br /&gt;   A value of 0 will not remove any &lt;br /&gt;   linestring/multilinestring shapes.&lt;br /&gt;ringTolerance &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=double&amp;referringTitle=Current%20Contents"&gt;double&lt;/a&gt;                     – Remove all polygon rings thinner &lt;br /&gt;   than provided tolerance (e.g. &lt;br /&gt;   ring.STArea&amp;lt; ringTolerance * ring.STLength).  &lt;br /&gt;   A value of 0 will not remove any rings.&lt;br /&gt;General behavior:  Returned spatial objects will always be the simplest OGC construction possible.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;bool &lt;b&gt;IsValidGeographyFromGeometry&lt;/b&gt;(SqlGeometry geometry)&lt;/u&gt;&lt;br /&gt;Check if an input geometry can represent a valid geography without throwing an exception.&lt;br /&gt;This function requires that the geometry be in longitude/latitude coordinates and that&lt;br /&gt;those coordinates are in correct order in the geometry instance (i.e. latitude/longitude&lt;br /&gt;not longitude/latitude). This function will return false (0) if the input geometry is not&lt;br /&gt;in the correct latitude/longitude format, including a valid geography SRID.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;bool &lt;b&gt;IsValidGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Check if an input WKT can represent a valid geography. This function requires that&lt;br /&gt;the WTK coordinate values are longitude/latitude values, in that order and that a valid&lt;br /&gt;geography SRID value is supplied.  This function will not throw an exception even in&lt;br /&gt;edge conditions (i.e. longitude/latitude coordinates are reversed to latitude/longitude).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;MakeValidGeographyFromGeometry&lt;/b&gt;(SqlGeometry geometry)&lt;/u&gt;&lt;br /&gt;Convert an input geometry instance to a valid geography instance.&lt;br /&gt;This function requires that the WKT coordinate values are longitude/latitude values,&lt;br /&gt;in that order and that a valid geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;MakeValidGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Convert an input WKT to a valid geography instance.&lt;br /&gt;This function requires that the WKT coordinate values are longitude/latitude values,&lt;br /&gt;in that order and that a valid geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeography&lt;/b&gt;(SqlGeography geography)&lt;/u&gt;&lt;br /&gt;Computes ConvexHull of input geography and returns a polygon (unless all input points are colinear).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Computes ConvexHull of input WKT and returns a polygon (unless all input points are colinear).&lt;br /&gt;This function does not require its input to be a valid geography. This function does require&lt;br /&gt;that the WKT coordinate values are longitude/latitude values, in that order and that a valid&lt;br /&gt;geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;DensifyGeography&lt;/b&gt;(SqlGeography g, double maxAngle)&lt;/u&gt;&lt;br /&gt;Returns a &lt;i&gt;geography&lt;/i&gt; instance equivalent to its input, but with no two consecutive points spaced more than &lt;i&gt;maxAngle&lt;/i&gt; apart.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;InterpolateBetweenGeog&lt;/b&gt;(SqlGeography start, SqlGeography end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geography&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;InterpolateBetweenGeom&lt;/b&gt;(SqlGeometry start, SqlGeometry end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geometry&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;LocateAlongGeog&lt;/b&gt;(SqlGeography g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geography&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;LocateAlongGeom&lt;/b&gt;(SqlGeometry g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;ShiftGeometry&lt;/b&gt;(SqlGeometry g, double xShift, double yShift)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; instance and shifts if by a given X and Y amount.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;VacuousGeographyToGeometry&lt;/b&gt;(SqlGeography toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;A special case of the equirectangular projection, taking each point (lat,long) --&amp;gt; (y, x).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;VacuousGeometryToGeography&lt;/b&gt;(SqlGeometry toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;The inverse of the VacuousGeographyToGeometry projection.&lt;br /&gt;
&lt;h1&gt;Types&lt;/h1&gt;These types can be registered in SQL Server or used directly through the CLR.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;SqlProjection&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This class provides an extensible access point to various projections and inverse projections.  See the file &lt;i&gt;projection_example.sql&lt;/i&gt; for a sample of its use.  Currently supported projections are:
&lt;ul&gt;&lt;li&gt;Albers Equal Area&lt;/li&gt;
&lt;li&gt;Equirectangular&lt;/li&gt;
&lt;li&gt;Lambert Conformal Conic&lt;/li&gt;
&lt;li&gt;Mercator&lt;/li&gt;
&lt;li&gt;Oblique Mercator&lt;/li&gt;
&lt;li&gt;Tranverse Mercator&lt;/li&gt;
&lt;li&gt;Gnomonic&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;u&gt;&lt;b&gt;AffineTransform&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This provides general affine transformations.  See the example &lt;i&gt;transform_example.sql&lt;/i&gt; for a sample of its use.&lt;br /&gt;
&lt;h1&gt;Aggregates&lt;/h1&gt;While implemented as classes, aggregates are essentially functions that take a collection of inputs to a single result.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeographyUnionAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate computes the union of a set of &lt;i&gt;geographies&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeometryEnvelopeAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate computes the envelope of a set of input &lt;i&gt;geometries&lt;/i&gt;.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>tintor</author><pubDate>Mon, 27 Dec 2010 17:09:39 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Current Contents 20101227050939P</guid></item><item><title>Updated Wiki: Home</title><link>http://sqlspatialtools.codeplex.com/wikipage?version=4</link><description>&lt;div class="wikidoc"&gt;&lt;b&gt;Project Description&lt;/b&gt;&lt;br /&gt;This project is a collection of tools for use with the spatial types that are new to SQL Server 2008.  This project does not provide an end-user application, but rather a set of reusable functions which applications can make use of.&lt;br /&gt;&lt;br /&gt;These functions may include data conversion routines, new transformations, aggregates, etc.  Please feel free to suggest additional functionality.&lt;br /&gt;&lt;br /&gt;This project is sponsored by Microsoft, but we welcome outside developers. &lt;br /&gt;&lt;br /&gt;You might be interested in &lt;a href="http://sqlspatialtools.codeplex.com/wikipage?title=Current%20Contents&amp;referringTitle=Home"&gt;Current Contents&lt;/a&gt; of this project.&lt;/div&gt;&lt;div class="ClearBoth"&gt;&lt;/div&gt;</description><author>tintor</author><pubDate>Mon, 27 Dec 2010 17:08:53 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Home 20101227050853P</guid></item><item><title>Updated Wiki: Current Contents</title><link>http://sqlspatialtools.codeplex.com/Wiki/View.aspx?title=Current Contents&amp;version=8</link><description>&lt;div class="wikidoc"&gt;This summarizes the current contents of this package from an end-user perspective.&lt;br /&gt;
&lt;h1&gt;Scripts&lt;/h1&gt;Several scripts are included in the &lt;i&gt;SQL Scripts&lt;/i&gt; directory.  These include scripts for registering and unregistering all of the following components, as well as several examples of their use.  &lt;br /&gt;
&lt;h1&gt;Functions&lt;/h1&gt;These static methods, implemented in the class &lt;i&gt;Functions&lt;/i&gt;, can both be registered in SQL Server and used through T-SQL, as well as be used directly from the CLR:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;bool &lt;b&gt;IsValidGeographyFromGeometry&lt;/b&gt;(SqlGeometry geometry)&lt;/u&gt;&lt;br /&gt;Check if an input geometry can represent a valid geography without throwing an exception.&lt;br /&gt;This function requires that the geometry be in longitude/latitude coordinates and that&lt;br /&gt;those coordinates are in correct order in the geometry instance (i.e. latitude/longitude&lt;br /&gt;not longitude/latitude). This function will return false (0) if the input geometry is not&lt;br /&gt;in the correct latitude/longitude format, including a valid geography SRID.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;bool &lt;b&gt;IsValidGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Check if an input WKT can represent a valid geography. This function requires that&lt;br /&gt;the WTK coordinate values are longitude/latitude values, in that order and that a valid&lt;br /&gt;geography SRID value is supplied.  This function will not throw an exception even in&lt;br /&gt;edge conditions (i.e. longitude/latitude coordinates are reversed to latitude/longitude).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;MakeValidGeographyFromGeometry&lt;/b&gt;(SqlGeometry geometry)&lt;/u&gt;&lt;br /&gt;Convert an input geometry instance to a valid geography instance.&lt;br /&gt;This function requires that the WKT coordinate values are longitude/latitude values,&lt;br /&gt;in that order and that a valid geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;MakeValidGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Convert an input WKT to a valid geography instance.&lt;br /&gt;This function requires that the WKT coordinate values are longitude/latitude values,&lt;br /&gt;in that order and that a valid geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeography&lt;/b&gt;(SqlGeography geography)&lt;/u&gt;&lt;br /&gt;Computes ConvexHull of input geography and returns a polygon (unless all input points are colinear).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Computes ConvexHull of input WKT and returns a polygon (unless all input points are colinear).&lt;br /&gt;This function does not require its input to be a valid geography. This function does require&lt;br /&gt;that the WKT coordinate values are longitude/latitude values, in that order and that a valid&lt;br /&gt;geography SRID value is supplied.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;DensifyGeography&lt;/b&gt;(SqlGeography g, double maxAngle)&lt;/u&gt;&lt;br /&gt;Returns a &lt;i&gt;geography&lt;/i&gt; instance equivalent to its input, but with no two consecutive points spaced more than &lt;i&gt;maxAngle&lt;/i&gt; apart.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;InterpolateBetweenGeog&lt;/b&gt;(SqlGeography start, SqlGeography end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geography&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;InterpolateBetweenGeom&lt;/b&gt;(SqlGeometry start, SqlGeometry end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geometry&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;LocateAlongGeog&lt;/b&gt;(SqlGeography g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geography&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;LocateAlongGeom&lt;/b&gt;(SqlGeometry g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;ShiftGeometry&lt;/b&gt;(SqlGeometry g, double xShift, double yShift)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; instance and shifts if by a given X and Y amount.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;VacuousGeographyToGeometry&lt;/b&gt;(SqlGeography toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;A special case of the equirectangular projection, taking each point (lat,long) --&amp;gt; (y, x).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;VacuousGeometryToGeography&lt;/b&gt;(SqlGeometry toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;The inverse of the VacuousGeographyToGeometry projection.&lt;br /&gt;
&lt;h1&gt;Types&lt;/h1&gt;These types can be registered in SQL Server or used directly through the CLR.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;SqlProjection&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This class provides an extensible access point to various projections and inverse projections.  See the file &lt;i&gt;projection_example.sql&lt;/i&gt; for a sample of its use.  Currently supported projections are:
&lt;ul&gt;&lt;li&gt;Albers Equal Area&lt;/li&gt;
&lt;li&gt;Equirectangular&lt;/li&gt;
&lt;li&gt;Lambert Conformal Conic&lt;/li&gt;
&lt;li&gt;Mercator&lt;/li&gt;
&lt;li&gt;Oblique Mercator&lt;/li&gt;
&lt;li&gt;Tranverse Mercator&lt;/li&gt;
&lt;li&gt;Gnomonic&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;u&gt;&lt;b&gt;AffineTransform&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This provides general affine transformations.  See the example &lt;i&gt;transform_example.sql&lt;/i&gt; for a sample of its use.&lt;br /&gt;
&lt;h1&gt;Aggregates&lt;/h1&gt;While implemented as classes, aggregates are essentially functions that take a collection of inputs to a single result.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeographyUnionAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate computes the union of a set of &lt;i&gt;geographies&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeometryEnvelopeAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate computes the envelope of a set of input &lt;i&gt;geometries&lt;/i&gt;.&lt;/div&gt;</description><author>tintor</author><pubDate>Thu, 04 Jun 2009 09:24:03 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Current Contents 20090604092403A</guid></item><item><title>Updated Wiki: Current Contents</title><link>http://sqlspatialtools.codeplex.com/Wiki/View.aspx?title=Current Contents&amp;version=7</link><description>&lt;div class="wikidoc"&gt;This summarizes the current contents of this package from an end-user perspective.&lt;br /&gt;
&lt;h1&gt;Scripts&lt;/h1&gt;Several scripts are included in the &lt;i&gt;SQL Scripts&lt;/i&gt; directory.  These include scripts for registering and unregistering all of the following components, as well as several examples of their use.  &lt;br /&gt;
&lt;h1&gt;Functions&lt;/h1&gt;These static methods, implemented in the class &lt;i&gt;Functions&lt;/i&gt;, can both be registered in SQL Server and used through T-SQL, as well as be used directly from the CLR:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;bool &lt;b&gt;IsValidGeography&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Check if input WKT represents a valid &lt;i&gt;geography&lt;/i&gt; without throwing an exception.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;MakeValidGeography&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Tries to fix problems with an invalid &lt;i&gt;geography&lt;/i&gt; by projecting it using gnomonic projection and running planar make valid.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeography&lt;/b&gt;(SqlGeography geog)&lt;/u&gt;&lt;br /&gt;Computes ConvexHull of input &lt;i&gt;geography&lt;/i&gt; by projecting it using gnomonic projection and running planar convex hull.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;ConvexHullGeographyFromText&lt;/b&gt;(string inputWKT, int srid)&lt;/u&gt;&lt;br /&gt;Computes ConvexHull of input geography by projecting it using gnomonic projection and running planar convex hull.&lt;br /&gt;This function does not require its input to be a valid &lt;i&gt;geography&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;DensifyGeography&lt;/b&gt;(SqlGeography g, double maxAngle)&lt;/u&gt;&lt;br /&gt;Returns a &lt;i&gt;geography&lt;/i&gt; instance equivalent to its input, but with no two consecutive points spaced more than &lt;i&gt;maxAngle&lt;/i&gt; apart.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;InterpolateBetweenGeog&lt;/b&gt;(SqlGeography start, SqlGeography end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geography&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;InterpolateBetweenGeom&lt;/b&gt;(SqlGeometry start, SqlGeometry end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geometry&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;LocateAlongGeog&lt;/b&gt;(SqlGeography g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geography&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;LocateAlongGeom&lt;/b&gt;(SqlGeometry g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;ShiftGeometry&lt;/b&gt;(SqlGeometry g, double xShift, double yShift)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; instance and shifts if by a given X and Y amount.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;VacuousGeographyToGeometry&lt;/b&gt;(SqlGeography toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;A special case of the equirectangular projection, taking each point (lat,long) --&amp;gt; (y, x).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;VacuousGeometryToGeography&lt;/b&gt;(SqlGeometry toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;The inverse of the VacuousGeographyToGeometry projection.&lt;br /&gt;
&lt;h1&gt;Types&lt;/h1&gt;These types can be registered in SQL Server or used directly through the CLR.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;SqlProjection&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This class provides an extensible access point to various projections and inverse projections.  See the file &lt;i&gt;projection_example.sql&lt;/i&gt; for a sample of its use.  Currently supported projections are:
&lt;ul&gt;&lt;li&gt;Albers Equal Area&lt;/li&gt;
&lt;li&gt;Equirectangular&lt;/li&gt;
&lt;li&gt;Lambert Conformal Conic&lt;/li&gt;
&lt;li&gt;Mercator&lt;/li&gt;
&lt;li&gt;Oblique Mercator&lt;/li&gt;
&lt;li&gt;Tranverse Mercator&lt;/li&gt;
&lt;li&gt;Gnomonic&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;u&gt;&lt;b&gt;AffineTransform&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This provides general affine transformations.  See the example &lt;i&gt;transform_example.sql&lt;/i&gt; for a sample of its use.&lt;br /&gt;
&lt;h1&gt;Aggregates&lt;/h1&gt;While implemented as classes, aggregates are essentially functions that take a collection of inputs to a single result.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeographyUnionAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate computes the union of a set of &lt;i&gt;geographies&lt;/i&gt;.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeometryEnvelopeAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate computes the envelope of a set of input &lt;i&gt;geometries&lt;/i&gt;.&lt;/div&gt;</description><author>tintor</author><pubDate>Tue, 02 Jun 2009 16:52:58 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Current Contents 20090602045258P</guid></item><item><title>Updated Wiki: Current Contents</title><link>http://sqlspatialtools.codeplex.com/Wiki/View.aspx?title=Current Contents&amp;version=6</link><description>&lt;div class="wikidoc"&gt;This summarizes the current contents of this package from an end-user perspective.&lt;br /&gt;
&lt;h1&gt;Scripts&lt;/h1&gt;Several scripts are included in the &lt;i&gt;SQL Scripts&lt;/i&gt; directory.  These include scripts for registering and unregistering all of the following components, as well as several examples of their use.  &lt;br /&gt;
&lt;h1&gt;Functions&lt;/h1&gt;These static methods, implemented in the class &lt;i&gt;Functions&lt;/i&gt;, can both be registered in SQL Server and used through T-SQL, as well as be used directly from the CLR:&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;DensifyGeography&lt;/b&gt;(SqlGeography g, double maxAngle)&lt;/u&gt;&lt;br /&gt;Returns a &lt;i&gt;geography&lt;/i&gt; instance equivalent to its input, but with no two consecutive points spaced more than &lt;i&gt;maxAngle&lt;/i&gt; apart.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;InterpolateBetweenGeog&lt;/b&gt;(SqlGeography start, SqlGeography end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geography&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;InterpolateBetweenGeom&lt;/b&gt;(SqlGeometry start, SqlGeometry end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geometry&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;LocateAlongGeog&lt;/b&gt;(SqlGeography g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geography&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;LocateAlongGeom&lt;/b&gt;(SqlGeometry g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;ShiftGeometry&lt;/b&gt;(SqlGeometry g, double xShift, double yShift)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; instance and shifts if by a given X and Y amount.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;VacuousGeographyToGeometry&lt;/b&gt;(SqlGeography toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;A special case of the equirectangular projection, taking each point (lat,long) --&amp;gt; (y, x).&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;VacuousGeometryToGeography&lt;/b&gt;(SqlGeometry toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;The inverse of the VacuousGeographyToGeometry projection.&lt;br /&gt;
&lt;h1&gt;Types&lt;/h1&gt;These types can be registered in SQL Server or used directly through the CLR.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;SqlProjection&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This class provides an extensible access point to various projections and inverse projections.  See the file &lt;i&gt;projection_example.sql&lt;/i&gt; for a sample of its use.  Currently supported projections are:
&lt;ul&gt;&lt;li&gt;Albers Equal Area&lt;/li&gt;
&lt;li&gt;Equirectangular&lt;/li&gt;
&lt;li&gt;Lambert Conformal Conic&lt;/li&gt;
&lt;li&gt;Mercator&lt;/li&gt;
&lt;li&gt;Oblique Mercator&lt;/li&gt;
&lt;li&gt;Tranverse Mercator&lt;/li&gt;
&lt;li&gt;Gnomonic&lt;/li&gt;&lt;/ul&gt;
&lt;br /&gt;&lt;u&gt;&lt;b&gt;AffineTransform&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This provides general affine transformations.  See the example &lt;i&gt;transform_example.sql&lt;/i&gt; for a sample of its use.&lt;br /&gt;
&lt;h1&gt;Aggregates&lt;/h1&gt;While implemented as classes, aggregates are essentially functions that take a collection of inputs to a single result.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeographyUnionAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate finds the union of a set of &lt;i&gt;geographies&lt;/i&gt; with an optional additional buffer.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;&lt;b&gt;GeometryEnvelopeAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate finds the envelope that contains a set of input &lt;i&gt;geometries&lt;/i&gt;.&lt;/div&gt;</description><author>tintor</author><pubDate>Tue, 02 Jun 2009 16:50:39 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Current Contents 20090602045039P</guid></item><item><title>Updated Wiki: Current Contents</title><link>http://www.codeplex.com/sqlspatialtools/Wiki/View.aspx?title=Current Contents&amp;version=5</link><description>&lt;div class="wikidoc"&gt;
This summarizes the current contents of this package from an end-user perspective.&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Scripts
&lt;/h1&gt;Several scripts are included in the &lt;i&gt;SQL Scripts&lt;/i&gt; directory.  These include scripts for registering and unregistering all of the following components, as well as several examples of their use.  &lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Functions
&lt;/h1&gt;These static methods, implemented in the class &lt;i&gt;Functions&lt;/i&gt;, can both be registered in SQL Server and used through T-SQL, as well as be used directly from the CLR:&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;DensifyGeography&lt;/b&gt;(SqlGeography g, double maxAngle)&lt;/u&gt;&lt;br /&gt;Returns a &lt;i&gt;geography&lt;/i&gt; instance equivalent to its input, but with no two consecutive points spaced more than &lt;i&gt;maxAngle&lt;/i&gt; apart.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;InterpolateBetweenGeog&lt;/b&gt;(SqlGeography start, SqlGeography end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geography&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;InterpolateBetweenGeom&lt;/b&gt;(SqlGeometry start, SqlGeometry end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geometry&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;LocateAlongGeog&lt;/b&gt;(SqlGeography g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geography&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;LocateAlongGeom&lt;/b&gt;(SqlGeometry g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;ShiftGeometry&lt;/b&gt;(SqlGeometry g, double xShift, double yShift)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; instance and shifts if by a given X and Y amount.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;VacuousGeographyToGeometry&lt;/b&gt;(SqlGeography toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;A special case of the equirectangular projection, taking each point (lat,long) --&amp;gt; (y, x).&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;VacuousGeometryToGeography&lt;/b&gt;(SqlGeometry toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;The inverse of the VacuousGeographyToGeometry projection.&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Types
&lt;/h1&gt;These types can be registered in SQL Server or used directly through the CLR.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;&lt;b&gt;SqlProjection&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This class provides an extensible access point to various projections and inverse projections.  See the file &lt;i&gt;projection_example.sql&lt;/i&gt; for a sample of its use.  Currently supported projections are:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Albers Equal Area&lt;/li&gt;&lt;li&gt;Equirectangular&lt;/li&gt;&lt;li&gt;Lambert Conformal Conic&lt;/li&gt;&lt;li&gt;Mercator&lt;/li&gt;&lt;li&gt;Oblique Mercator&lt;/li&gt;&lt;li&gt;Tranverse Mercator&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;u&gt;&lt;b&gt;AffineTransform&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This provides general affine transformations.  See the example &lt;i&gt;transform_example.sql&lt;/i&gt; for a sample of its use.&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Aggregates
&lt;/h1&gt;While implemented as classes, aggregates are essentially functions that take a collection of inputs to a single result.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;&lt;b&gt;GeographyUnionAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate finds the union of a set of &lt;i&gt;geographies&lt;/i&gt; with an optional additional buffer.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;&lt;b&gt;GeometryEnvelopeAggregate&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This aggregate finds the envelope that contains a set of input &lt;i&gt;geometries&lt;/i&gt;.&lt;br /&gt;
&lt;/div&gt;</description><author>isaac</author><pubDate>Thu, 14 Aug 2008 14:58:35 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Current Contents 20080814025835P</guid></item><item><title>Updated Wiki: Current Contents</title><link>http://www.codeplex.com/sqlspatialtools/Wiki/View.aspx?title=Current Contents&amp;version=4</link><description>&lt;div class="wikidoc"&gt;
This summarizes the current contents of this package.&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Functions
&lt;/h1&gt;These static methods, implemented in the class &lt;b&gt;Functions&lt;/b&gt;, can both be registered in SQL Server and used through T-SQL, as well as be used directly from the CLR:&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;DensifyGeography&lt;/b&gt;(SqlGeography g, double maxAngle)&lt;/u&gt;&lt;br /&gt;Returns a &lt;i&gt;geography&lt;/i&gt; instance equivalent to its input, but with no two consecutive points spaced more than &lt;i&gt;maxAngle&lt;/i&gt; apart.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;InterpolateBetweenGeog&lt;/b&gt;(SqlGeography start, SqlGeography end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geography&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;InterpolateBetweenGeom&lt;/b&gt;(SqlGeometry start, SqlGeometry end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geometry&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;LocateAlongGeog&lt;/b&gt;(SqlGeography g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geography&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;LocateAlongGeom&lt;/b&gt;(SqlGeometry g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;ShiftGeometry&lt;/b&gt;(SqlGeometry g, double xShift, double yShift)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; instance and shifts if by a given X and Y amount.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;VacuousGeographyToGeometry&lt;/b&gt;(SqlGeography toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;A special case of the equirectangular projection, taking each point (lat,long) --&amp;gt; (y, x).&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;VacuousGeometryToGeography&lt;/b&gt;(SqlGeometry toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;The inverse of the VacuousGeographyToGeometry projection.&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Types
&lt;/h1&gt;These types can be registered in SQL Server or used directly through the CLR.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;&lt;b&gt;SqlProjection&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This class provides an extensible access point to various projections and inverse projections.  See the file &lt;i&gt;projection_example.sql&lt;/i&gt; for a sample of its use.  Currently supported projections are:&lt;br /&gt;&lt;ul&gt;
&lt;li&gt;Albers Equal Area&lt;/li&gt;&lt;li&gt;Equirectangular&lt;/li&gt;&lt;li&gt;Lambert Conformal Conic&lt;/li&gt;&lt;li&gt;Mercator&lt;/li&gt;&lt;li&gt;Oblique Mercator&lt;/li&gt;&lt;li&gt;Tranverse Mercator&lt;/li&gt;
&lt;/ul&gt; &lt;br /&gt;&lt;u&gt;&lt;b&gt;AffineTransform&lt;/b&gt;&lt;/u&gt;&lt;br /&gt;This provides general affine transformations.  See the example &lt;i&gt;transform_example.sql&lt;/i&gt; for a sample of its use.&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Aggregates
&lt;/h1&gt;
&lt;/div&gt;</description><author>isaac</author><pubDate>Thu, 14 Aug 2008 14:52:34 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Current Contents 20080814025234P</guid></item><item><title>Updated Wiki: Current Contents</title><link>http://www.codeplex.com/sqlspatialtools/Wiki/View.aspx?title=Current Contents&amp;version=3</link><description>&lt;div class="wikidoc"&gt;
This summarizes the current contents of this package.&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Functions
&lt;/h1&gt; &lt;br /&gt;These static methods, implemented in the class &lt;b&gt;Functions&lt;/b&gt;, can both be registered in SQL Server and used through T-SQL, as well as be used directly from the CLR:&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;DensifyGeography&lt;/b&gt;(SqlGeography g, double maxAngle)&lt;/u&gt;&lt;br /&gt;Returns a &lt;i&gt;geography&lt;/i&gt; instance equivalent to its input, but with no two consecutive points spaced more than &lt;i&gt;maxAngle&lt;/i&gt; apart.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;InterpolateBetweenGeog&lt;/b&gt;(SqlGeography start, SqlGeography end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geography&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;InterpolateBetweenGeom&lt;/b&gt;(SqlGeometry start, SqlGeometry end, double distance)&lt;/u&gt;&lt;br /&gt;Takes start and end &lt;i&gt;geometry&lt;/i&gt; points and returns a new point that is a given distance from the start toward the end.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;LocateAlongGeog&lt;/b&gt;(SqlGeography g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geography&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;LocateAlongGeom&lt;/b&gt;(SqlGeometry g, double distance)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; linestring and finds the point a given distance along it.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;ShiftGeometry&lt;/b&gt;(SqlGeometry g, double xShift, double yShift)&lt;/u&gt;&lt;br /&gt;Takes a &lt;i&gt;geometry&lt;/i&gt; instance and shifts if by a given X and Y amount.&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeometry &lt;b&gt;VacuousGeographyToGeometry&lt;/b&gt;(SqlGeography toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;A special case of the equirectangular projection, taking each point (lat,long) --&amp;gt; (y, x).&lt;br /&gt; &lt;br /&gt;&lt;u&gt;SqlGeography &lt;b&gt;VacuousGeometryToGeography&lt;/b&gt;(SqlGeometry toConvert, int targetSrid)&lt;/u&gt;&lt;br /&gt;The inverse of the VacuousGeographyToGeometry projection.&lt;br /&gt; &lt;br /&gt;&lt;h1&gt;
Types
&lt;/h1&gt; &lt;br /&gt;&lt;h1&gt;
Aggregates
&lt;/h1&gt;
&lt;/div&gt;</description><author>isaac</author><pubDate>Thu, 14 Aug 2008 14:40:47 GMT</pubDate><guid isPermaLink="false">Updated Wiki: Current Contents 20080814024047P</guid></item></channel></rss>