| |
| Featured Articles |
| |
| SuperGIS Mobile Engine Beta Brief Introduction |
| |
| What is SuperGIS Mobile Engine? |
SuperGIS Mobile Engine is a software development kit (SDK) structured on .NET Compact Framework. It can be used to quickly create various kinds of GIS application programs and be executed on all platforms that supports .NET CF, including desktop computers and smart devices. Due to this and with the attempt to fulfill different requirements of developers, all programs developed by SuperGIS Mobile Engine can directly utilize the built-in objects of .NET CF and also the hundreds of objects and controls of SuperGIS Mobile Engine.
When using SuperGIS Mobile Engine to build applications, developers can use both Visual Studio .NET and Delphi 2005 or other developing environments that support .NET Compact Framework to design the mobile device application that suits personal needs. Using the controls and objects provided by SuperGIS Mobile Engine, a powerful GIS system can be created. Taking Visual Studio .NET as an example, a Visual Studio .NET smart device application project should be first created when building a device application. The SuperGIS Mobile Engine controls and references should then be added to the toolbox and project, respectively. In order to establish a simple developing procedure for developers when using SuperGIS Mobile Engine, at the designing stages developers only have to drag the controls to their forms and configure the settings to quickly produce a program that has basic map browsing functions. This kind of deign flow can decrease the amount of program codes that developers need to write and thus greatly reduce the hassle and burden of these developers. |
 |
| |
| .NET Compact Framework, the developer program of SuperGIS Mobile Engine |
SuperGIS Mobile Engine is a set of Software Development Kit (SDK) developed by .NET Compact Framework. And what is .NET Compact Framework? Microsoft .NET Compact Framework(.NET CF) is the subset of .NET Framework class library. The main purpose of .NET CF is to enable those devices with limit resources such as Pocket PC or so to be equipped with the same tools as desktop PC and to have the capabilities of writing application programs that is able to be installed to such devices. The developers not only can apply most of the .NET Framework technologies into Windows Mobile and Windows Embedded CE device through .NET Compact Framework in the future but also create managed application programs as well as perform the application programs and the Web service on the devices. In addition, because .NET Compact Framework supports the code management and XML(Extensible Markup Language) Web Service, the developing cost on writing application programs for devices like Smartphone, PDA or so and service can be effectively reduced.
In the architecture, .NET Compact Framework has two core components: Common Language Runtime (CLR) and .NET Compact Framework class library. |
| |
Common Language RuntimeG |
It is an environment in charge of managing .NET Framework code during Runtime. It not only manages the memory and the thread but also improves the security and accuracy of programs. .NET Compact Framework completely inherits the .NET Framework architecture of CLR so that the developers can directly use it to run the Managed code. In addition, the interoperability of the device with Windows CE operating system can help the developers save the native functions and integrate the favorite native objects into the application programs. |
| |
|
| |
.NET Compact Framework Class libraryG |
This class library provides many re-usable classes and supports many functions like Windows Communication Foundation (WCF) and Windows Form. The developers can use these classes to develop application programs fast to effectively shorten the developing time for the software. |
| |
|
|
| The key purpose for .NET Compact Framework is to enable those devices with limited resources to optimize its application program, therefore, .NET Compact Framework provides below functions: |
| |
1. |
Optimization with the limited resource. |
| |
2. |
Just-In-Time, with the JIT compiling function the unmanaged code can be run in the native machine language and is able |
| |
|
to be deployed to different platforms without the need of re-compiling. |
| |
3. |
The application program of designing device is provided for developers. |
| |
4. |
Various common network protocols are provided and the Web Service access is also supported. |
|
| In the aspect of device support, currently .NET Compact Framework supports all Microsoft intelligent devices and acts as the operating system components for them, such as Pocket PC device, Pocket PC Phone Edition, Smartphone device and other Windows CE devices. In the aspect of technology support, now .NET Compact Framework can run Microsoft Visual C#, Microsoft Visual Basic and other .NET programming languages as long as they conform to CLR subset supported by .NET Compact Framework. However, C++, J#, JSL and ASP.NET cannot be supported yet. |
| |
|
| SuperGIS Mobile Engine components |
| The functional structure of SuperGIS Mobile Engine is relatively similar to SuperObjects. The principal difference is that SuperGIS Mobile Engine has GPS functions while SuperObjects does not. Other than this, all functions provided by SuperGIS Mobile Engine is the same as SuperObjects, as shown in the figure below. SuperGIS Mobile Engine, in terms of functions, offers 13 main components, and the functions provided by each component is listed as follows: |
| Map component (GeneralMap): |
| Provides the function for maps to add vector layers (FeatureLayer), raster layers (RasterLayer) and map elements (Element). Users can use layer to record the map data and display them with more advanced configurations. |
| Symbol components (Symbol): |
| Controls the display of features, includes SimplePointSymbol,
SimpleLineSymbol, SimpleFillSymbol, SimpleTextSymbol, PictirePointSymbol and TextureFillSymbol. |
| Annotation component (Annotator): |
| Adds text labels on the map and provides text font and placement angle variations. Also allows overlap texts, repeated texts, fonts and rotation functions. |
| Map element component (Element): |
| Allows users to add map elements on the map, such as compass (Compass), scale bar (ScaleLine) and alternating scale bar (AlternatingScaleBar). |
| Vector data component (FeatureClass): |
| Saves and reads the attribute data of vector layers, allowing users to read any line of the record and displays the feature according to its attribute data. |
| Raster data component (RasterClass): |
| Allows users to extract the wanted data from raster grids according to the characteristic of the raster layer. |
| Feature renderer component (FeatureRenderer): |
| Displays the features of vector layers according to the three render types, which includes SimpleRenderer, SimpleClassRenderer and SimpleUniqueRenderer. |
| Raster renderer component (RasterRenderer): |
| Displays raster data using the three raster renderer types, including gradient colors (RibbonRenderer), color wheel (ColorTableRenderer) and RGB (RGBRenderer). |
| Conditional query component (FeatureFilter): |
| Provides five kinds of data filters which search through a large quantity of data and filter out those that match the users requirements. These five filters include expression filter, binary logic filter, binary spatial filter, binary comparison filter and feature ID filter. |
| Coordinate system component (CoordinateSystem): |
| Defines the coordinate system and relevant parameters for map layers. Also allows users to define their own self-defined coordinate system and provides a transformation interface for coordinate transformations. |
| Geometry component (Geometry): |
Allows users to draw, edit and modify the geometry on the map according to the geometry type, including:
Point (SGPoint), Multi-Point (SGMultiPoint)
Line (SGLineString), Multi-Line (SGMultiLineString)
Polygon (SGPolygon), Multi-Polygon (SGMultiPolygon)
Geometry Collection (SGGeometryCollection), Envelope (Envelope) |
| Map control and display component (MapControl): |
| Controls the map controls, layer list, map display and events triggered by mouse actions. |
| GPS component (GPS Control): |
| Includes IGpsconnection, IGpsparser and IGpsdisplay. IGpsconnection connects to the GPS source and reads GPS data; IGpsparser analyzes GPS data according to the predefined data format to obtain the latitude and longitude attribute data; IGpsdisplay provides a graphic interface to display the status of satellite signals. |
|
| |
| |
| |
| |
| |
| |
| |
|
|