PolygonLib
A library for efficient storing great amount (>10 million) of 2D polygons in RAM and quick operations on them. The product is especially optimized for operations on large polygon sets. C++, STL, COM, ATL, MFC
GIS Framework
A framework for developing custom GIS components (extensions) that can be used in both desktop and Web applications. .NET Framework 2.0/3.5/4.0, COM, C#, HTML, Java Script, ArcGIS 9.x/10
GeoFES-Web
Migration of to the Web while retaining the existing GUI and the ability to run on the desktop (ArcMap). .NET Framework 3.5/4.0, C#, COM, ArcGIS 9.x/10 (ArcObjects, ArcGIS Server, ArcGIS API for WPF, ArcGIS Desktop)
WISYS-Web
Migration of WISYS explorers to the Web while retaining the existing GUI and the ability to run on the desktop (ArcMap). .NET Framework 2.0, C#, COM, HTML, Java Script, ArcGIS 9.x (ArcObjects, ArcGIS Server Web ADF for .NET)
WISYS Explorers
Powerful tools for displaying and analyzing the data in ArcMap. .NET Framework 2.0, C#, COM, ArcGIS 8.x/9.x/10 (ArcObjects, ArcSDE, ArcGIS Desktop)
FDAT
An ArcMap extension for assessment of flood damage. .NET Framework 2.0, C#, COM, ArcGIS 9.3 (ArcObjects, ArcGIS Desktop)
LVS
A land management system with an integrated GIS. Java (Java Beans, JAI, Swing), dbSwing, Oracle
JScribe Software Development Kit
An integrated development environment for solutions. C++, MFC, Win32 API, JavaScript, Xtreme Toolkit Pro for Visual C++ MFC
eFF
Complex system providing financing calculation for all DaimlerChrysler products in Germany and other European countries. Java (EJB, JSP, Servlet, JDBC), JavaScript, XML, XSLT, Oracle, WebSphere
V&B Online Planer
V&B Online Planer is an application for creating bathroom interiors based on recent 3D technologies. Adobe Flash, DHTML, HTML, CSS, VRML
"Since 1999 we successfully cooperate with your company on the development of GIS software
and would like hereby to highlight high level of expertise, creativity and diligence of your team.
..."
"We cooperate with your company since 1998.
During this time we were able to convince us of the high quality of your software products,
which is above all due to the good expertise of your employees.
..."
Use our PolygonLib for quick operations on 2D polygons and large polygon sets in your software (CAD, GIS, modeling systems, graphics editors, etc.).
We offer a wide range of professional and cost-efficient outsourcing of software development.
Leverage our innovative experience and know-how in developing custom GIS components that can be used in both desktop and Web applications.
PolygonLib – Polygon Clipping Library
Overview
PolygonLib is a software library for quick clipping operations on 2D polygons and polygon sets. It is especially optimized for efficient storing great amount (> 10 million) of polygons in RAM and operations on large polygon sets.
The product consists of:
A portable C++ library with much optimized performance and memory utilization.
A COM library that provides COM wrappers for objects of the C++ library. The wrappers are obtained from pools and only for objects referenced by the client, thus minimizing the COM overhead.
The library can be used in various kinds of applications (CAD, GIS, modeling systems, graphics editors, etc.) written in C++, C#, Pascal, VB and other languages allowing use of COM.
It is already used in the modeling system and the FDAT project.
Main Features
A polygon can have several disjoint areas and holes.
Automatic splitting of self-intersecting boundaries.
The node based model of polygons (no duplicated vertices) is maintained automatically thus reducing the size of the used memory.
Spatial queries (for polygons, edges and nodes) that are optimized per built-in spatial indices (B-tree for nodes and R-tree for polygons) that are maintained automatically.
Clipping operations on polygons:
Boolean operations (intersection, union, subtraction) on polygons and polygon sets.
Join of two polygon sets: union, whose result is represented by maximal count of not overlapping polygons (the overlaps and the results of their subtraction from other polygons).
Union of a polygon set (see the second screenshot).
The numerical robustness (avoiding extraneous vertices) of the operations is achieved without inserting intersection points into original polygons.
Main Competitive Advantages
Much optimized memory utilization (see the test results below)
Built-in spatial indices
Much optimized performance of Boolean operations on polygons with large number of vertices (see the test results below)
Very optimized Boolean operations on polygon sets (see the test results below)
High-quality API
Performance Comparison with 2 well known Polygon Clipping Libraries
We have compared the performance and memory utilization of the COM version of PolygonLib with those of 2 well known polygon clipping libraries.
The testing was performed on a PC with Intel Core 2 (2 GHz) CPU and 2 GB of RAM under Windows XP.
The results are listed in the following table and show clear advantages of PolygonLib over the competing products (the best results are marked bold in the table).
Library
Memory use, MB
Duration of operations on polygons depending on total number of vertices, ms
1 A mesh of 42000 triangles and a set of 2100 geographical areas. 2 A mesh of 199000 triangles and a set of 15000 geographical areas. * A polygon set can be defined in GPC only as a polygon with many boundaries.
The polygons used in the testing are contained in the archive of the evaluation version of the product (see below).
Downloads
You can download the evaluation version of PolygonLib .
The archive contains:
A Windows application for testing main possibilities of the C++ library. It allows loading polygon sets from .shp files, their visualization and operations on them (see the screenshots above).
Test polygon data as .shp files.
The evaluation version of the COM library. Please note that it has some important restrictions vs. the corresponding full version (see the readme.txt file for details).