Saturday, January 13, 2007

A note to contributors

Author: Sestic, Maksim

Inserting Source Code Snippets

Seems more complex than actually writing it :-) I embedded some tiny JavaScript source code parser in the blog head tag, here's how authors should use it to avoid article/code malformatting:

  1. Write article body first (no source code yet) using Compose tool, leaving blank paragraphs for future source code snippets
  2. When you have your article fully formatted, hit the Save Now button
  3. Switch to Edit Html tool. That's how article's underlying HTML looks like
  4. Find the spot where you want your source code snippet inserted
  5. Open actual source file (.cs) in Visual Studio, copy the source code (Ctrl+C)
  6. Go back to article's HTML and paste (Ctrl+V) code snippet enclosing it with <pre><\pre> tags, as in:

<pre class="c-sharp:collapse" name="code">
...your source code snippet goes here...
</pre>

In case you're posting VB.NET code snippet then replace c-sharp constructor parameter with vb. If you want your code snippet expanded by default, omit :collapse part of the constructor. But I suggest you always use collapsed source snippets due to physical message length and scrolling issues. Of course, don't forget to hit Save Now button at the end.

Friday, January 12, 2007

Topology Framework .NET (TF.NET)

Author: Sestic, Maksim

Topology Framework .NET represents a topology manipulation API capable of handling managed objects representation of topological entities based on other popular APIs, exposing it's JTS-based common topology manipulation core to them.

JTS Topology Suite is, in fact, Java API providing spatial object model and fundamental geometric functions, providing a complete, consistent, robust implementation of fundamental 2D spatial algorithms. It implements geometry model defined in the OpenGIS Consortium Simple Features Specification for SQL. JTS port for .NET was named NTS, and is fully conformant to Microsoft .NET 2.0 specification. NTS extends JTS with numerous coordinate transformation and other functions, while TF.NET extends NTS further, including additional IO functions and generic classes related to geometry graphs. For details regarding described technologies and their respective authors see acknowledgements below.

Provided Functions

  • Spatial predicates (based on the DE-9IM model)
  • Overlay functions (intersection, difference, union, symmetric difference)
  • Buffer Convex hull
  • Area and distance functions
  • Topological validity checking
  • Coordinate systems manipulation (transformations)
  • Topological graphs manipulation
  • Generic geometry I/O support: WKT, WKB, GML, SHP

Supported External Managed APIs

Package Components Available For Download

  • TF.NET Core Library, a mandatory component exposing basic topology manipulation API.
  • TF.NET Reader/Writer for MapGuide, a reader/writer for geometric primitives exposed by OSGeo MapGuide Server.
  • TF.NET Reader/Writer for FDO, a reader/writer for geometric primitives exposed by OSGeo Feature Data Objects spatial library.
  • TF.NET Reader/Writer for ObjectARX, a reader/writer for geometric entities exposed by Autodesk AutoCAD and it's verticals.

References And Further Reading

Credits

TF.NET is primarily based on other people's work related to topology manipulation, hence special acknowledgement to them. Referred libraries were additionally repackaged and their namespaces renamed for easier use. Please download copyright disclaimer for detailed description.

For more information please contact project owner: Maksim Sestic