<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article  PUBLIC "-//NLM//DTD Journal Publishing DTD v3.0 20080202//EN" "http://dtd.nlm.nih.gov/publishing/3.0/journalpublishing3.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" dtd-version="3.0" xml:lang="en" article-type="research article"><front><journal-meta><journal-id journal-id-type="publisher-id">JGIS</journal-id><journal-title-group><journal-title>Journal of Geographic Information System</journal-title></journal-title-group><issn pub-type="epub">2151-1950</issn><publisher><publisher-name>Scientific Research Publishing</publisher-name></publisher></journal-meta><article-meta><article-id pub-id-type="doi">10.4236/jgis.2014.64028</article-id><article-id pub-id-type="publisher-id">JGIS-48527</article-id><article-categories><subj-group subj-group-type="heading"><subject>Articles</subject></subj-group><subj-group subj-group-type="Discipline-v2"><subject>EARTH &amp; ENVIRONMENTAL SCIENCES</subject></subj-group></article-categories><title-group><article-title>Overcoming Object Misalignment in Geo-Spatial Datasets</article-title></title-group><contrib-group><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Ismail</surname><given-names>Wadembere</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref><xref ref-type="corresp" rid="cor1"><sup>*</sup></xref></contrib><contrib contrib-type="author" xlink:type="simple"><name name-style="western"><surname>Patrick</surname><given-names>Ogao</given-names></name><xref ref-type="aff" rid="aff1"><sup>1</sup></xref></contrib></contrib-group><aff id="aff1"><addr-line>College of Computing and Information Science, Makerere University, Kampala, Uganda</addr-line></aff><author-notes><corresp id="cor1">* E-mail:<email>wadembere@gmail.com(IW)</email>;</corresp></author-notes><pub-date pub-type="epub"><day>13</day><month>08</month><year>2014</year></pub-date><volume>06</volume><issue>04</issue><fpage>307</fpage><lpage>316</lpage><history><date date-type="received"><day>9</day>	<month>June</month>	<year>2014</year></date><date date-type="rev-recd"><day>5</day>	<month>July</month>	<year>2014</year>	</date><date date-type="accepted"><day>29</day>	<month>July</month>	<year>2014</year></date></history><permissions><copyright-statement>&#169; Copyright  2014 by authors and Scientific Research Publishing Inc. </copyright-statement><copyright-year>2014</copyright-year><license><license-p>This work is licensed under the Creative Commons Attribution International License (CC BY). http://creativecommons.org/licenses/by/4.0/</license-p></license></permissions><abstract><p>
	In integrating geo-spatial
datasets, sometimes layers are unable to perfectly overlay each other. In most
cases, the cause of misalignment is the cartographic variation of objects
forming features in the datasets. Either this could be due to actual changes on
ground, collection, or storage approaches used leading to overlapping or
openings between features. In this paper, we present an alignment method that
uses adjustment algorithms to update the geometry of features within a dataset
or complementary adjacent datasets so that they can align to achieve perfect
integration. The method identifies every unique spatial instance in datasets
and their spatial points that define all their geometry; the differences are
compared and used to compute the alignment parameters. This provides a uniform
geo-spatial features’ alignment taking into consideration changes in the
different datasets being integrated without affecting the topology and
attributes.
</p></abstract><kwd-group><kwd>Object-Based</kwd><kwd> Geometry Alignment</kwd><kwd> Geo-Spatial Management</kwd></kwd-group></article-meta></front><body><sec id="s1"><title>1. Introduction</title><p>The appreciation of geo-spatial information by the different information system managers and users as the basis for location based decision-making has led to the need to develop approaches for integrating geo-spatial datasets as the driving force towards the vision of common data storage to increase availability and accessibility of already captured geographic information through exchange and sharing. Most geo-spatial information systems use map layers to organize geographical and geo-spatial objects forming features in datasets. Each layer describes a certain aspect of the modeled real world e.g. roads, buildings, forest, etc. This provides a natural technique to organize and visualize data from different sources making it an efficient way of data storage, manipulation, and analysis [<xref ref-type="bibr" rid="scirp.48527-ref1">1</xref>] .</p><p>Features especially on earth’s surface and land uses are constantly changing, so is the need to continuously update, adjust, and align the objects forming features on different layers in geodatabases. These layers are always updated separately by individuals or organizations concerned with certain aspects and locations. However, storing map layers separately makes it difficult to directly solve topological queries that relate to features that belong to many and different layers [<xref ref-type="bibr" rid="scirp.48527-ref1">1</xref>] and [<xref ref-type="bibr" rid="scirp.48527-ref2">2</xref>] , thus the need to integrate using algorithms based on either geometric matching, topological matching, or semantic matching [<xref ref-type="bibr" rid="scirp.48527-ref3">3</xref>] . However, because of the various and multi- sources of data, method of collection, instrument used, method of storage, and projection parameters used, the different geo-spatial datasets sometimes cannot match perfectly. In the process, overlay operations intersect objects from different layers resulting into creation of new objects that are unwanted [<xref ref-type="bibr" rid="scirp.48527-ref2">2</xref>] or leave opening between features. This does not accomplish the need of integrating datasets since it leaves the geodatabases not properly updated with the required new changes to depict what is currently on the ground.</p><p>To overcome that, object-based geometry adjustment algorithms [<xref ref-type="bibr" rid="scirp.48527-ref2">2</xref>] -[<xref ref-type="bibr" rid="scirp.48527-ref6">6</xref>] have been developed that can be used to adjust features. In this paper, we use these algorithms combining them in different ways to come up with individual object-based geo-spatial data alignment method so that complementary and adjacent datasets can be integrated without creating overlaps, openings, undershoots, and overshoots that result into slivers (unwanted small objects) and danglings (duplicate points, lines, or polygons) in geo-spatial datasets.</p></sec><sec id="s2"><title>2. Related Work</title><sec id="s2_1"><title>2.1. Dataset Integration</title><p>Geo-spatial datasets are captured using different methods, instruments, reference systems and geodetic datum that make datasets to vary. Thus, different operations and many algorithms exist for carrying out clipping and finding intersection between two datasets. Some focus on merging similar geometric objects [<xref ref-type="bibr" rid="scirp.48527-ref3">3</xref>] including exchange of attributes or for homogenizing geometry. This address semantics heterogeneity of spatial datasets, improvement of quality in case one dataset is captured to a higher quality, multi representation based on the matching of two datasets using Unified Modeling language (UML), selecting matching objects using Structured Query Language (SQL), and geo-spatial object geometry adjustment. For polygon overlays, many algorithms are explained by [<xref ref-type="bibr" rid="scirp.48527-ref2">2</xref>] and [<xref ref-type="bibr" rid="scirp.48527-ref4">4</xref>] that can work on different polygons like convex, rectangle, and concave polygons with some requiring complex and specific data structures and others computing Boolean operations on polygons that help to determine the intersection of segments [<xref ref-type="bibr" rid="scirp.48527-ref2">2</xref>] . Although these operations determine the spatial coincidence (if any) of two data layers, they do not guide the end user on how to implement them to update geo-spatial datasets through aligning features for same, adjacent, or complementary datasets.</p><p>For the approaches that handle combined primitives, we find a huge number of research efforts in this domain: 1) approaches dealing with geo-spatial object matching, and 2) methods for geo-spatial object intersection or database updating. Different schemes have been proposed: a) layer’s overlying approaches that use algorithms for different geo-spatial data merging tasks, and b) more specific ideas, using individual geo-spatial object adjustment strategies, to achieve full integrated solution. The latter is the focus of this work dealing with geometry alignment basing on current approaches like Boolean polygon matching [<xref ref-type="bibr" rid="scirp.48527-ref2">2</xref>] , alignment algorithms [<xref ref-type="bibr" rid="scirp.48527-ref5">5</xref>] , computational geometry [<xref ref-type="bibr" rid="scirp.48527-ref7">7</xref>] , and object adjustment in corresponding datasets [<xref ref-type="bibr" rid="scirp.48527-ref6">6</xref>] .</p></sec><sec id="s2_2"><title>2.2. GIS Vector Data Structure and Composition</title><p>There are two common spatial data models for geo-spatial data storage—raster and vector. In the alignment method, we focus on vector, which is the use of directional lines to represent a geographic feature. Several different vector data models exist, however only two are commonly used in GIS data storage: computer-aided drafting (CAD) and topologic data structure. The focus is on topologic since it maintains spatial relationships among features. Three files types are considered: 1) shapefile as it has been around since the 1980s and remains one of the most common data transfer formats, 2) GML is text and is human readable, and 3) Spatialite as it uses one file and is able to store geometries and query them with spatial functions similar to what is found in geodatabase like PostGIS.</p><p>As we developed method, we link topological data structures to the requirement of geo-spatial framework:</p><p>1) The ideal method for improving data usability should be based on object-oriented data model [<xref ref-type="bibr" rid="scirp.48527-ref8">8</xref>] [<xref ref-type="bibr" rid="scirp.48527-ref9">9</xref>] . The geo-spatial data must be modeled as identifiable objects according to the geographic entities (features) existing in the real world, which helps to link spatial information with various social-economic and natural resource information.</p><p>2) Geo-spatial data from different sources with varying scales must be able to be mapped to the same standards, data model, projection, and representation [<xref ref-type="bibr" rid="scirp.48527-ref10">10</xref>] [<xref ref-type="bibr" rid="scirp.48527-ref11">11</xref>] so that the description of the same entity in different datasets is consistent.</p><p>3) The relationships among objects should be modeled and integration of different geo-spatial datasets must handle the three dimension 1) horizontal (adjacency), 2) vertical (overlay), and 3) temporal (time) integration [<xref ref-type="bibr" rid="scirp.48527-ref12">12</xref>] , for example, the relations among buildings and land plots, the relations between poles (point object) and electricity line (line object) [<xref ref-type="bibr" rid="scirp.48527-ref13">13</xref>] , etc.</p><p>The alignment method uses the three characteristics where objects forming features are used as the modeling unit basing on the primary spatial primitives (point, polylines, and polygons) to accomplish the geometrical inconsistency correction through updating and adjustment of objects so that they align in the three dimensions (horizontal, vertical, and temporal) of spatial data. This is done by putting into consideration the desirable characteristics of information systems—being true, up-to-date, standard, flexible, concise, in desired form and sufficient to the needs of users and their need to share [<xref ref-type="bibr" rid="scirp.48527-ref14">14</xref>] . For GIS, sharing provides avenues to distribute geographic information among many users which enhances decision-making and produces significant savings in data collection and merging by reducing the effort and money wasted as result of duplication [<xref ref-type="bibr" rid="scirp.48527-ref15">15</xref>] [<xref ref-type="bibr" rid="scirp.48527-ref16">16</xref>] , which is the aim of many initiatives like openstreepmap, googlemaps, OpenGIS, and SDI. The alignment method compliments these initiatives by making it easy to update, adjust, and align geometries of objects in dataset horizontally, vertically and over time in line with the second and third characteristics of geo-spatial framework.</p></sec></sec><sec id="s3"><title>3. The Alignment Method Requirements</title><p>Geo-spatial data alignment approaches are categorized into global and local/individual. Global methods assume that all features on layer can be aligned using the same parameters. Methods like “automatic image-map alignment problem using a similarity measure named edge-based code mutual information” [<xref ref-type="bibr" rid="scirp.48527-ref5">5</xref>] are good for image based datasets and use global transformation parameters that do not take care of individual object changes. Others include vector based polygon clipping, intersection, or overlay [<xref ref-type="bibr" rid="scirp.48527-ref2">2</xref>] and [<xref ref-type="bibr" rid="scirp.48527-ref4">4</xref>] . The individual methods assume that each feature on layer may have different errors and alignment parameters are computed for each object like alignment method.</p><p>For vector GIS data alignment, there are certain requirements that have to be fulfilled</p><p>• maintain the meaning of the shapes—this calls for keeping the attributes;</p><p>• maintain the relationship between objects—this is handled under topology;</p><p>• separate data into layers for easy modeling and analysis—need to keep objects on layers during alignment.</p><p>We added the following to guide in development of alignment method.</p><p>• it should be possible to handle individual objects on a layer or parts of objects;</p><p>• able to handle points, lines, and polygons or any combination of them.</p><p>There are requirements and conditions that must be fulfilled and should exist in datasets during and after alignment method, these are categorized into four: datasets merging requirement, geo-spatial complementary alignment, datasets transformation requirement, and aligned datasets characteristics.</p><p>During integration, there are certain dataset merging requirements that need to be satisfied to have a proper GIS vector dataset or layer.</p><p>• There should be no slivers (small-unwanted objects) that result from objects intersecting during merging of datasets. If slivers do appear, they should be adjusted during alignment instead of using clean or removal algorithms to eliminate them;</p><p>• There should be no danglings (meaningless points and lines) in the final aligned dataset. Nodes should only exist at the end of lines or at intersection of lines. Vertices should only be along a line where there is change of direction;</p><p>• Merging should take place on datasets in the same projection, scale, and datum;</p><p>• Merging is should be based on objects forming features and primary attribute used for identification.</p><p>We introduced the term “geo-spatial complementary alignment” to define three different situations that can exit during geometry adjustment and alignment between Adjustment Dataset (AD) and Reference Dataset (RD). Where AD is dataset that need updating or has objects that need to be adjusted while RD is the dataset used as reference during computing of adjustment and alignment parameters:</p><p>1) Single Forward Alignment (SFA): where RD has all the details required to update AD and only comparison with AD is needed to compute alignment parameters. Let us take an example of two datasets—AD having residential plots and RD with both residential plots and houses on those plots. If RD has all recent information on houses needed for AD, then the updates for SFA will be applied where values from RD are transferred to AD and nothing is brought backwards to RD.</p><p>2) Single Complementary Alignment (SCA): RD does not have all the required details to update and adjust objects in AD. This means there is need to get some details from AD to supplement on those coming from RD before final alignment of AD can be achieved even when the dataset of interest is AD. For example RD has recent information on houses and AD has proper demarcation of land plots for the houses. The two are needed in order to get updated dataset having plots with properly aligned and corresponding houses.</p><p>3) Two-way Complementary Alignment (TCA): Neither RD nor AD have all the required details to stand alone, but both need to be updated. This means that there is need to get details from the two to update each for both to be useful. For example AD has recent information on houses and RD has proper demarcation of land plots for the houses, but we need both datasets to be updated. Another example is where RD and AD are adjacent, but the two need to be updated to obtain a perfect boundary without creating openings and overlaps.</p><p>There are dataset transformation requirements that the resulting datasets should satisfy including:</p><p>• Objects and features can maintain their meaning (primary attributes);</p><p>• Transformation can change the meaning of object if it is needed;</p><p>• Transfer of primary attribute can be between two different datasets;</p><p>• The relationship between objects should be kept;</p><p>• Transformation can move datasets from one projection to another;</p><p>• Transformation can change geometry primitive type if needed;</p><p>• Coordinates of objects can be changed during transformation;</p><p>• Coordinate systems can be changed during transformation;</p><p>• Transformations can move datasets from one datum to another;</p><p>• Transformations can change the number of objects in layer or dataset through addition or deletion.</p><p>The characteristics of aligned datasets include the following:</p><p>• shapes having meaning (primary attribute);</p><p>• relationship between object maintained;</p><p>• data able to be separated into layers for easy modeling and analysis;</p><p>• able to identify individual objects or parts of object on a layer;</p><p>• no slivers and danglings;</p><p>• final projection being that of the reference dataset.</p></sec><sec id="s4"><title>4. The Components of the Alignment Method</title><p>The object-based geometry adjustment algorithms [<xref ref-type="bibr" rid="scirp.48527-ref2">2</xref>] -[<xref ref-type="bibr" rid="scirp.48527-ref6">6</xref>] were used in varying combinations according to the requirements as detailed in previous Section 3. They were manipulated to get the four major components of the alignment method 1) data input, 2) data preparation (cleaning, matching, geometry validity, and primary attribute), 3) data processing, and 4) data management as shown on <xref ref-type="fig" rid="fig1">Figure 1</xref>—the method flowchart.</p><sec id="s4_1"><title>4.1. Data Input</title><p>The first task is reading the geo-spatial datasets involved in the alignment as layers—reference dataset (RD) that will provide alignment values and adjustment dataset (AD) that has objects to be aligned. The user specifies the AD and RD, also identifies the primary attribute (PA) which is the meaning of features. As the data is read in, the data structures are compared to check for geometry type of objects (points, lines, polygons) before storing them in matrices according to their geometry type. This is vital to ensure that same geometry type are used when comparing, updating, adjusting, and aligning datasets.</p></sec><sec id="s4_2"><title>4.2. Data Preparation</title><p>Data preparation involves putting the data into the same projection, cleaning and removing unnecessary geome-</p><fig id="fig1"><label>Figure 1</label><caption><p> Alignment method components and flowchart</p></caption><graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\4-8401363x\92f4100f-6156-40bc-b0c1-079711cce5d9.png"/></fig><p>tries, matching the corresponding object in the datasets, difference determination, and making sure that geometries being worked on are the same—point with point, line with line, and polygon with polygon. This is achieved by algorithms based either on geometric, topological, or semantic matching [<xref ref-type="bibr" rid="scirp.48527-ref3">3</xref>] . For the GIS data layers the difference is determined and parameters used in comparison are precision, resolution, and actual data values. Those steps are already available in the existing GIS applications like QGIS, ArcGIS, and Jump GIS.</p><p>If the difference obtained is zero, that means the layers are the same and objects do match. If the result is not zero, it could be positive or negative, that means the two datasets have variations. The positive or negative values indicate the direction, to either subtract or add during the geometrical adjustment. It helps also in identifying the objects that are causing the differences. For positive, it means the first dataset have bigger or more geometry components and vice versa for negative. Implying that for the positive, either geometry objects have to be reduced in the first dataset or more objects have to be added in the second dataset. For negative it means they are more or bigger objects in the second dataset thus the need to add in the adjustment dataset if requirement is only to update or to reduce in the second (reference dataset) in case of complementary.</p><p>To apply the above, the method takes advantage of the way geo-spatial datasets are organized according to meaning (themes). Each theme is stored independently in layers like road layer having types of roads (like highways, avenues), building layer having different buildings (like houses, plazas, gatehouse, arcades, etc.). This provides a natural way and technique to organize and visualize data from different sources making it an efficient way of data storage, manipulation, and analysis [<xref ref-type="bibr" rid="scirp.48527-ref1">1</xref>] . For gatehouse on a building layer, there are objects like window, door, etc. that are represented by spatial objects. The objects are defined by their shape, size, and location presented by primitives (points, lines, and polygons). The vertices define the shape of the polyline along its length. Polylines that connect to each other will share a common node. Polygons are formed by bounding polylines that keep track of the location of each polygon.</p></sec><sec id="s4_3"><title>4.3. The Processing</title><p>During the processing, the requirements vary from one dataset to another. That is why each algorithm is able to run and be called upon to act independently depending on the complementary situations and adjacent requirements.</p><p>The method translates and decodes the geometry shape into text by reading and creating the data structure followed by storing the text in a matrix. In MATLAB, the function “shaperead” handles the reading of layers and it populates matrixes, for example S = shaperead (“nakawa.shp”)—reads the nakawa layer and keeps the matrix in variable S. The alignment method creates a data structure if needed for example using “struct” function in MATLAB S = struct (“Geometry”, “Line”, “Bounding Box”, [0 0; 3 3], “X”, [1 2 2 1 1], “Y”, [1 1 2 2 1]). To reference and work on a particular spatial point in a matrix, the approach of specifying its row and column number is used, where in the matrix variable S, specify the row then column: S (row, column). The number of objects inside the structure is computed and is used to determine the number of iterations to perform on the structure during the alignment process. Since the x-y coordinates for points, vertices, and nodes of all objects forming features on a layer are read, geometry adjustment takes place by changing the x-y values that are handled in their respective indexes as variables to ensure the objects and shape can be reconstructed.</p><p>The method takes advantage of the geometries editing in a text form and the following capabilities are provided:</p><p>1) Creation of points, lines, and polygons;</p><p>2) Moving points, lines, and polygons;</p><p>3) Deleting points, lines, and polygons;</p><p>4) Inserting, moving, and deleting vertices;</p><p>5) Combining and exploding of geometries to and from datasets.</p><p>The alignment method runs in such a way that it loads the various adjustment algorithms in different combinations to provide the needed geometry alignment. Different functions in existing algorithms were extracted and grouped into the following sub-algorithms that form the alignment method:</p><p>1) Reading the datasets and identifying geometry type;</p><p>2) Carrying out dataset to dataset referencing and deciding on type of adjustment;</p><p>3) Making the number of objects the same in the two datasets;</p><p>4) Updating, adjusting, and aligning the geometries using coordinate values;</p><p>5) Writing the aligned dataset onto disk.</p><p>To put the method into action, we used Nakawa shapefiles having many but varying objects. The data sources were KCCA (Kampala City Council Authority) and UBOS (Uganda Bureau of Statistics) representing Nakawa division of Kampala City in Uganda as shown on <xref ref-type="fig" rid="fig2">Figure 2</xref>.</p><p>From the above figure, we are able to see the size and shape of objects but not their structure details (geometry type, location, number of objects, and attributes). KCCA dataset is used as RD (on left) has smaller sub-divi- sions called parishes and the one from UBOS used as AD (right) represents Nakawa as one solid object. Using MATLAB (or any data structure details viewer), we extracted the data structure (see <xref ref-type="table" rid="table1">Table 1</xref> and <xref ref-type="table" rid="table2">Table 2</xref>) in order to have the parameters that are updated and adjusted.</p><p>In the tables above, we have the file name characters (Filename), types of geometry objects inside (ShapeType), the location extend of the dataset (Bounding Box), number of objects inside (NumFeatures), the number of attributes associated with each structure (Attributes). The dataset from KCCA (<xref ref-type="table" rid="table1">Table 1</xref>) had 23 objects that can observed by looking at the NumFeatures row and comparing it with <xref ref-type="table" rid="table2">Table 2</xref> of UBOS that has only one object. In addition, the dataset from KCCA has more details that can be observed by looking at the attributes as it has 18 columns of attributes as compared to eight columns in the dataset from UBOS. It can also be observed that the two datasets although representing the same location (Nakawa division of Kampala City) lie in different locations according to the min and max values as per Bounding Box of each dataset (<xref ref-type="table" rid="table1">Table 1</xref> and <xref ref-type="table" rid="table2">Table 2</xref>). Extracting the bounding box values and comparing them using <xref ref-type="table" rid="table3">Table 3</xref>, we observe variation in location.</p><p>From table, the two datasets are located between same latitudes as per their Easting (x-coordinates) readings, but in different longitudes (locations) along the northing (y-coordinates) readings. Putting that on the x-y axes, we get <xref ref-type="fig" rid="fig3">Figure 3</xref> that shows relative location of the two bounding boxes for the two datasets.</p><p>Further analysis shows that two datasets occupy the same size of area of 9057 by 13755 meters on earth’s surface, although they are at different locations because of varying y-values, they have same x-values. This is common for datasets that have been capture and stored using different systems. That means for the two datasets to lie in the same location and to have the same size of boundary box for the two datasets, method carried out dataset to dataset referencing, that we termed “Dataset Referencing”. This is achieved by translating AD through 9,800,000 meters (difference between the y-values as computed in <xref ref-type="table" rid="table3">Table 3</xref>) along the y-axis to be at the same location as RD on the earth’s surface. This makes the AD to have the size of the bounding box and to be in the same location as RD.</p><p>The next step was to deal with the number objects in the datasets, from <xref ref-type="table" rid="table1">Table 1</xref> and <xref ref-type="table" rid="table2">Table 2</xref>, dataset AD from UBOS had one object, therefore, the number of objects in AD had to be increased to match those of RD. The method accomplishes that by inserting more objects into AD using the coordinates details of the objects in RD.</p><fig-group id="fig2"><caption><title>Figure 2</title><p> Nakawa from KCCA (left) and UBOS (right)</p></caption><fig id ="fig2_1"><graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\4-8401363x\cb0b8c59-88a0-46d6-ba8d-57e11404114e.png"/></fig><fig id ="fig2_2"><graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\4-8401363x\11b043d9-2cdf-46b5-ae8c-8d559fb123c1.png"/></fig></fig-group><fig id="fig3"><label>Figure 3</label><caption><p> Location of bounding boxes for Nakawa</p></caption><graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\4-8401363x\31fd240f-927d-4460-941e-52bbb67ef6f9.png"/></fig><table-wrap id="table1"  position="float"><object-id pub-id-type="pii">Table 1</object-id><label>Table 1</label><caption><p>. Data structure details of Nakawa data from KCCA</p></caption><table><thead><tr><th align="center" valign="middle" >Field</th><th align="center" valign="middle" >Value</th><th align="center" valign="middle" >Min</th><th align="center" valign="middle" >Max</th></tr></thead><tbody><tr><td align="center" valign="middle" >Filename</td><td align="center" valign="middle" >&lt;3 &#215; 57 char&gt;</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >ShapeType</td><td align="center" valign="middle" >Polygon</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >BoundingBox</td><td align="center" valign="middle" >[4.5388e+05, 10031395; 4.6294e+05, 10045150]</td><td align="center" valign="middle" >4.5388e+05</td><td align="center" valign="middle" >10045150</td></tr><tr><td align="center" valign="middle" >NumFeatures</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >23</td><td align="center" valign="middle" >23</td></tr><tr><td align="center" valign="middle" >Attributes</td><td align="center" valign="middle" >&lt;18 &#215; 1 struct&gt;</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr></tbody></table></table-wrap><table-wrap id="table2"  position="float"><object-id pub-id-type="pii">Table 2</object-id><label>Table 2</label><caption><p>. Data structure details of Nakawa data from UBOS</p></caption><table><thead><tr><th align="center" valign="middle" >Field</th><th align="center" valign="middle" >Value</th><th align="center" valign="middle" >Min</th><th align="center" valign="middle" >Max</th></tr></thead><tbody><tr><td align="center" valign="middle" >Filename</td><td align="center" valign="middle" >&lt;3 &#215; 58 char&gt;</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >ShapeType</td><td align="center" valign="middle" >Polygon</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr><tr><td align="center" valign="middle" >BoundingBox</td><td align="center" valign="middle" >[4.5388e+05, 231395; 4.6294e+05, 245150]</td><td align="center" valign="middle" >231395</td><td align="center" valign="middle" >4.6294e+05</td></tr><tr><td align="center" valign="middle" >NumFeatures</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td><td align="center" valign="middle" >1</td></tr><tr><td align="center" valign="middle" >Attributes</td><td align="center" valign="middle" >&lt;8 &#215; 1 struct&gt;</td><td align="center" valign="middle" ></td><td align="center" valign="middle" ></td></tr></tbody></table></table-wrap><table-wrap id="table3"  position="float"><object-id pub-id-type="pii">Table 3</object-id><label>Table 3</label><caption><p>. Nakawa geometry bounding box</p></caption><table><thead><tr><th align="center" valign="middle"  rowspan="2"  ></th><th align="center" valign="middle"  colspan="2"  >Lower left corner</th><th align="center" valign="middle"  colspan="2"  >Upper right corner</th></tr></thead><tbody><tr><td align="center" valign="middle" >X</td><td align="center" valign="middle" >Y</td><td align="center" valign="middle" >X</td><td align="center" valign="middle" >Y</td></tr><tr><td align="center" valign="middle" >Dataset from KCCA</td><td align="center" valign="middle" >453879.312</td><td align="center" valign="middle" >10031395</td><td align="center" valign="middle" >462936.3437</td><td align="center" valign="middle" >10045150</td></tr><tr><td align="center" valign="middle" >Dataset from UBOS</td><td align="center" valign="middle" >453879.312</td><td align="center" valign="middle" >231395</td><td align="center" valign="middle" >462936.3437</td><td align="center" valign="middle" >245150</td></tr><tr><td align="center" valign="middle" >Difference in Coordinates</td><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" >9800000</td><td align="center" valign="middle" >0.0</td><td align="center" valign="middle" >9800000</td></tr></tbody></table></table-wrap><p>This is done by handling one object in RD at a time and the process involves reading object’s details that are attached to points (in this case the vertices along the segments that make up the edges of polygons and transferring them into AD. This is done by inserting the x-y values and corresponding attributes into matrix having the AD data structure. The process continues until all objects in RD and their attributes are read and transferred. This makes AD to have the same numbers of objects as RD and its attribute matrix will increase as per number of copied objects. This alignment process accomplishes the updating and adjustment of AD.</p><sec id="s4_3_1"><title>Aligning the Updated Objects</title><p>The final x-y values obtained after updating and adjustment actions are used to replace the x-y coordinates of objects and fed back into the matrix of the data structure. It should be noted that, it is only x-y values of all the components of data structure that are replaced in the matrix. This helps to maintain the attribute and topology/relationship between the objects in the dataset.</p><p>The process continues for each vertex and for each object in the dataset being aligned to get a list of values as:</p><p>List of x values (Xuv<sub>1</sub>, Xuv<sub>2</sub>, Xuv<sub>3</sub>, Xuv<sub>4</sub>… Xuv<sub>n</sub>)</p><p>List of y values (Yuv<sub>1</sub>, Yuv<sub>2</sub>, Yuv<sub>3</sub>, Yuv<sub>4</sub>… Yuv<sub>n</sub>)</p><p>After changing the x-y values, the method compares the attributes/meaning by promoting the user to identify the primary attribute for each object. If the user decides to add more attributes, then she/he indicates so. The method proceeds by reading the attributes from the matrix and appends them to the attributes in the data structure of the target dataset.</p></sec></sec><sec id="s4_4"><title>4.4. Management</title><sec id="s4_4_1"><title>4.4.1. Converting Updated Objects into a GIS Layer</title><p>The aligned objects are transformed from the matrix format into the vector layer and written to the disk. For the case of shapefiles, three files for each shapefile are created with the same base name but varying file extensions. The extensions are .dbf (attribute format—columnar attributes for each shape, in dBase IV format), .shp (shape format—stores the geometry of the objects), and .shx (shape index format—a positional index of the object geometry to allow seeking forwards and backwards quickly). For example a shapefile of districts will have districts.dbf, districts.shp, and districts.shx files.</p></sec><sec id="s4_4_2"><title>4.4.2. Point Removal and Bend Simplification</title><p>After alignment process, point removal algorithm or bend simplification algorithm maybe applied in case there is need to reduce on the number of points or storage or achieve line generalization [<xref ref-type="bibr" rid="scirp.48527-ref17">17</xref>] . However, care should be put into consideration when using point remove algorithm so the objects do not loss their original geometry shape that in turn affects the topological relations between objects.</p></sec><sec id="s4_4_3"><title>4.4.3. Testing the Alignment Method</title><p>Testing was carried out using different datasets and conditions as described under requirement of the alignment method, where by adjustment Dataset (AD) was updated and objects adjusted so that they align using correspond-ing reference dataset (RD) values that fed into the method as demonstrated in Section 4.3 using Nakawa dataset.</p></sec></sec></sec><sec id="s5"><title>5. Conclusion and Future Work</title><sec id="s5_1"><title>5.1. Conclusion</title><p>We have shown that geo-spatial data integration can be effectively carried out by incorporating geometry alignment to update and adjust one dataset with changes from another dataset or a known source. This can be easily done by using spatial geometry objects that are manipulated to define all geo-spatial data elements. With this, we obtain a uniform alignment that avoids slivers and danglings that are always created during data merging due to overlaps, openings, and overshoots among geometries of features on layers as a result of variations in data capture, storage, and manipulation approaches. This supplements effective integration of data from a variety of sources that contributes to increased understanding and informed decision-making about actions taking place on earth through answering complex questions in geo-spatial information systems. The method was tested on actual geo-spatial datasets and an analysis of resultant datasets met requirements of topological vector GIS datasets.</p></sec><sec id="s5_2"><title>5.2. Future Work</title><p>To facilitate day-to-day use by GIS practitioners, we plan to convert the method into an application or extension using python that can be used as a plugin in QGIS. This will put all the functionalities into a QGIS menu like “Geometry Alignment” and different functions accessed by QGIS users by clicking on its submenus. The functionalities will come from the different independent algorithms that make up the method. QGIS plugin will have the help that links and explains all functionalities and a well-documented user guide detailing on how to implement all tasks on actual data.</p></sec></sec><sec id="s6"><title>NOTES@endMarkP#wang#_title:ep!!!</title><p></p><disp-formula id="scirp.48527-formula3801"><inline-graphic xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="http://file.scirp.org/Html/htmlimages\4-8401363x\a6693651-2f9a-4534-8eee-a412d24ac04f.png"/></disp-formula><p><sup>*</sup>Corresponding author.</p><p></p></sec></body><back><ref-list><title>References</title><ref id="scirp.48527-ref1"><label>1</label><mixed-citation publication-type="other" xlink:type="simple">OOSTEROM, P.V. (1994) AN R-TREE BASED MAP-OVERLAY ALGORITHM. EGIS FOUNDATION.</mixed-citation></ref><ref id="scirp.48527-ref2"><label>2</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>MARTINEZ</surname><given-names> F.</given-names></name>,<name name-style="western"><surname> RUEDA</surname><given-names> A.J. </given-names></name>,<name name-style="western"><surname> FEITO</surname><given-names> F.R. </given-names></name>,<etal>et al</etal>. (<year>2009</year>)<article-title>A NEW ALGORITHM FOR COMPUTING BOOLEAN OPERATIONS ON POLYGONS</article-title><source> COMPUTERS &amp; GEOSCIENCES</source><volume> 35</volume>,<fpage> 1177</fpage>-<lpage>1185</lpage>.<pub-id pub-id-type="doi">HTTP://DX.DOI.ORG/10.1016/J.CAGEO.2008.08.009</pub-id></mixed-citation></ref><ref id="scirp.48527-ref3"><label>3</label><mixed-citation publication-type="other" xlink:type="simple">MOOSAVI, A. AND ALESHEIKH, A.A. (2008) DEVELOPING OF VECTOR MATCHING ALGORITHM CONSIDERING TOPOLOGIC RELATIONS. IN: PROCEEDINGS OF MAP MIDDLE EAST, UAE, DUBAI, PAPER NO. 40. 
HTTP://GISDEVELOPMENT.NET/PROCEEDINGS/MAPMIDDLEEAST/2008/MME08_40.PDF HTTP://GISDEVELOPMENT.NET/PROCEEDINGS/MAPMIDDLEEAST/2008/INDEX.HTM</mixed-citation></ref><ref id="scirp.48527-ref4"><label>4</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>LIU</surname><given-names> Y.K.</given-names></name>,<name name-style="western"><surname> WANGA</surname><given-names> X.Q.</given-names></name>,<name name-style="western"><surname> BAO</surname><given-names> S.Z.</given-names></name>,<name name-style="western"><surname> GOMBOSI</surname><given-names> M. </given-names></name>,<name name-style="western"><surname> ZALIK</surname><given-names> B. </given-names></name>,<etal>et al</etal>. (<year>2007</year>)<article-title>AN ALGORITHM FOR POLYGON CLIPPING, AND FOR DETERMINING POLYGON INTERSECTIONS AND UNIONS</article-title><source> COMPUTERS &amp; GEOSCIENCES</source><volume> 33</volume>,<fpage> 589</fpage>-<lpage>598</lpage>.<pub-id pub-id-type="doi">HTTP://DX.DOI.ORG/10.1016/J.CAGEO.2007.03.002</pub-id></mixed-citation></ref><ref id="scirp.48527-ref5"><label>5</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>LI</surname><given-names> T. </given-names></name>,<name name-style="western"><surname> KAMATA</surname><given-names> S. </given-names></name>,<etal>et al</etal>. (<year>2008</year>)<article-title>LI, T. AND KAMATA, S.  AUTOMATIC IMAGE-MAP ALIGNMENT USING EDGE-BASED CODE MUTUAL INFORMATION AND 3-D HILBERT SCAN</article-title><source> THE JOURNAL OF IIEEJ</source><volume> 37</volume>,<fpage> 223</fpage>-<lpage>230</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.48527-ref6"><label>6</label><mixed-citation publication-type="other" xlink:type="simple">SESTER, M., G?SSELN, G.V. AND KIELER, B. (2007) IDENTIFICATION AND ADJUSTMENT OF CORRESPONDING OBJECTS IN DATASETS OF DIFFERENT ORIGIN. 10TH AGILE INTERNATIONAL CONFERENCE ON GEOGRAPHIC INFORMATION SCIENCE 2007, AALBORG UNIVERSITY, 1-7.</mixed-citation></ref><ref id="scirp.48527-ref7"><label>7</label><mixed-citation publication-type="other" xlink:type="simple">BAYER, T. (2008) THE IMPORTANCE OF COMPUTATIONAL GEOMETRY FOR DIGITAL CARTOGRAPHY. GEOINFORMATICS, FACULTY OF CIVIL ENGINEERING (FCE), CZECH TECHNICAL UNIVERSITY, PRAGUE. 
HTTP://GEOINFORMATICS.FSV.CVUT.CZ/GWIKI/THE_IMPORTANCE_OF_COMPUTATIONAL_GEOMETRY_FOR_DIGITAL_ CARTOGRAPHY</mixed-citation></ref><ref id="scirp.48527-ref8"><label>8</label><mixed-citation publication-type="other" xlink:type="simple">NAJAR, C., RAJABIFARD, A., WILLIAMSON, I. AND GIGER, C. (2006) A FRAMEWORK FOR COMPARING SPATIAL DATA INFRASTRUCTURES AN AUSTRALIAN—SWISS CASE STUDY. GSDI-9 CONFERENCE PROCEEDINGS, SANTIAGO, 201-213.</mixed-citation></ref><ref id="scirp.48527-ref9"><label>9</label><mixed-citation publication-type="other" xlink:type="simple">USERY, E.L. (1996) A CONCEPTUAL FRAMEWORK AND FUZZY SET IMPLEMENTATION FOR GEOGRAPHIC FEATURES. IN: BURROUGH, P. AND FRANK, A., EDS., GEOGRAPHIC OBJECTS WITH INDETERMINATE BOUNDARIES, GISDATA SERIES VOL. 2, TAYLOR AND FRANCIS, LONDON, 71-86.</mixed-citation></ref><ref id="scirp.48527-ref10"><label>10</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>FRIIS-CHRISTENSEN</surname><given-names> A.</given-names></name>,<name name-style="western"><surname> NYTUN</surname><given-names> J.P.</given-names></name>,<name name-style="western"><surname> JENSEN</surname><given-names> C.S. </given-names></name>,<name name-style="western"><surname> SKOGAN</surname><given-names> D. </given-names></name>,<etal>et al</etal>. (<year>2005</year>)<article-title>A CONCEPTUAL SCHEMA LANGUAGE FOR THE MANAGEMENT OF MULTIPLE REPRESENTATIONS OF GEOGRAPHIC ENTITIES</article-title><source> TRANSACTIONS IN GIS</source><volume> 9</volume>,<fpage> 345</fpage>-<lpage>380</lpage>.<pub-id pub-id-type="doi">HTTP://DX.DOI.ORG/10.1111/J.1467-9671.2005.00222.X</pub-id></mixed-citation></ref><ref id="scirp.48527-ref11"><label>11</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>PARENT</surname><given-names> C.</given-names></name>,<name name-style="western"><surname> SPACCAPIETRA</surname><given-names> S. </given-names></name>,<name name-style="western"><surname> ZIMANYI</surname><given-names> E. </given-names></name>,<etal>et al</etal>. (<year>2005</year>)<article-title>PARENT, C., SPACCAPIETRA, S. AND ZIMANYI, E.  MODELING AND QUERYING MULTI-REPRESENTATION SPATIO-TEMPORAL DATABASES INFORMATION SYSTEMS</article-title><source> INFORMATION SYSTEMS</source><volume> 31</volume>,<fpage> 733</fpage>-<lpage>769</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref><ref id="scirp.48527-ref12"><label>12</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>CHRISMAN</surname><given-names> N.R. </given-names></name>,<etal>et al</etal>. (<year>1990</year>)<article-title>DEFICIENCIES OF SHEETS AND TILES: BUILDING SHEETLESS DATABASES</article-title><source> INTERNATIONAL JOURNAL OF GEOGRAPHICAL INFORMATION SYSTEMS</source><volume> 4</volume>,<fpage> 157</fpage>-<lpage>167</lpage>.<pub-id pub-id-type="doi">HTTP://DX.DOI.ORG/10.1080/02693799008941537</pub-id></mixed-citation></ref><ref id="scirp.48527-ref13"><label>13</label><mixed-citation publication-type="other" xlink:type="simple">JIANG, J., CHEN, J., ET AL. (2005) A MODEL FOR INTEGRATING MULTI-SCALE SPATIAL DATA FOR E-GOVERNMENT AND PUBLIC SERVICE. SDI AND WEB SERVICES. FROM PHARAOHS TO GEOINFORMATICS, FIG WORKING WEEK 2005 AND GSDI-8, CAIRO.</mixed-citation></ref><ref id="scirp.48527-ref14"><label>14</label><mixed-citation publication-type="other" xlink:type="simple">ERDI, A. AND SAVA, D.S. (2005) INSTITUTIONAL POLICIES ON GEOGRAPHICAL INFORMATION SYSTEM (GIS) STUDIES IN TURKEY. PHARAOHS TO GEOINFORMATICS, FIG WORKING WEEK 2005 AND GSDI-8, CAIRO.</mixed-citation></ref><ref id="scirp.48527-ref15"><label>15</label><mixed-citation publication-type="other" xlink:type="simple">SOHIR, M.H. (2005) THE ROLE OF ESA IN BUILDING THE EGYPTIAN SPATIAL DATA INFRASTRUCTURE (ESDI) TOWARDS THE ELECTRONIC GOVERNMENT (E-GOV.). SPATIAL PORTALS AND E-GOVERNMENT. FROM PHARAOHS TO GEOINFORMATICS, FIG WORKING WEEK 2005 AND GSDI-8, CAIRO.</mixed-citation></ref><ref id="scirp.48527-ref16"><label>16</label><mixed-citation publication-type="other" xlink:type="simple">GSDI (2005) SPATIAL DATA INFRASTRUCTURE. GLOBAL SPATIAL DATA INFRASTRUCTURE ASSOCIATION. HTTP://WWW.GSDI.ORG/</mixed-citation></ref><ref id="scirp.48527-ref17"><label>17</label><mixed-citation publication-type="journal" xlink:type="simple"><name name-style="western"><surname>SAEEDRASHED</surname><given-names> Y.S. </given-names></name>,<etal>et al</etal>. (<year>2014</year>)<article-title>AN EXPERIMENTAL COMPARISON OF LINE GENERALIZATION ALGORITHMS IN GIS</article-title><source> INTERNATIONAL JOURNAL OF ADVANCED REMOTE SENSING AND GIS</source><volume> 3</volume>,<fpage> 446</fpage>-<lpage>466</lpage>.<pub-id pub-id-type="doi"></pub-id></mixed-citation></ref></ref-list></back></article>