Thursday, July 5, 2012

Creating Polylines from Point Data in ArcGIS

ArcGIS users are quite familiar with adding point data in a form of shapefile from XY data (e.g. Lat/Lon entity). However, if there is a question of creating line or polyline data from those point shapefile, most of the GIS users have to think about it for a while. In my knowledge, I didn't find any built-in function to create polyline shapefile from point shapefile with a specific connectivity objectives. Or, If I say, creating polygon from point data, most of GIS users would agree with me regarding the possible challenges in doing so, using ArcGIS solely. However, in practice we do need to create line entity from point entity. For example, if we have the start and end coordinates of a fluid pipeline ( e.g. water, oil, or gas supply line) and we need do show the pipelines in a map, most of the GIS users will first create the point shapefiles using the coordinate and then probably create a line shapefile separately to connect those points. But how about thousands, or even more pipelines? In this post I'll try to show how we are going to solve this sort of problem using an wonderful tool ET GeoWizard. 

Example Task: In this project we need to create polylines from point data. The point data belong to the start and ending coordinate of a fluid pipeline. We need to create point shapefile using those coordinates and then we need to convert these point shapefile into polyline shapefile to show the pipeline as a line entity using their connectivity. For example consider four coordinates:
Example Definition

Point IDLatLonLine ID

In this example, we have four point data. However, point 1 and 2 make a line and point 3 and 4 make another line to show the two pipelines. If we add these 4 XY data in ArcGIS, it'll be seen something like the Fig. 1(a). However, we would like to convert it to polyline as shown in Fig. 1(b). In this example we will do it for 352 pipelines (i.e. 704 points)

Fig. 1 a) Point Data (left), b) Line Data (right)

Software Requirement: ArcGIS 9.X, ET GeoWizard

Step 1: The first thing is to download and install the required software. It should be noted that ET GeoWizard is free to install. However, not all the functions in ET GeoWizard is free. The function we'll use in this project is free to use. Regarding ArcGIS, the user needs to buy the registered copy of the software from ESRI.

To download ET GeoWizard one can follow THIS LINK

It should be noted that, each version of the ET GeoWizard is compatible with corresponding ArcGIS version. So, be cautious while downloading the version. In this example project I downloaded the ET GeoWizard Version 10.2 for my ArcGIS 9.2. After downloading, you should open your ArcMAP and then add the ET GeoWizard Tool by clicking: View>Toolbar> ET GeoWizard. You will noticed a new toolbar will be appeared on the ArcMAP like the figure below:

Fig. 2 

Step 2: In this step we need to prepare a TEXT file that include the Point IDs, Point Coordinates, and Line IDs ( eventually which show the point connectivity). As two point will make a line, we need to keep the same Line ID for those two points. An example to creating such Text file is shown below:
PonitID    Lat    Long    LineID
1    39.01    -92.28    1
2    44.03    -88.16    2
3    43.56    -96.72    3
4    29.95    -82.86    4
5    37.47    -79.99    5
6    25.88    -80.37    6
7    29.71    -82.58    7
8    28.58    -82.42    8
9    25.78    -80.42    9
10    33.22    -80.45    10
353    38.45    -92.48    1
354    44.03    -85.18    2
355    44.27    -99.32    3
356    28.94    -82.7    4
357    37.57    -78.52    5
358    28.94    -82.7    6
359    28.94    -82.7    7
360    28.94    -82.7    8
361    28.94    -82.7    9
362    33.96    -80.98    10

Eventually the example on above shows 20 points that'll form 10 pipelines (LineID 1-10). The entire example file, that includes 704 points to construct 252 lines, can be download from this LINK

Step 3: Now we'll add the XY data into ArcMAP. The work is pretty simple. Just follow: Tools> Add XY Data. A new window will open. Browse the XY data, set the X as Long, and Y as Lat (see Fig. 3 below) and click OK.

Fig. 3

You will be noticed, a new data layer named "PointDATA.txt Events" will be added on the left pan of your ArcMap and you will see the point data on the map as well (Fig. 4)

Fig. 4

Step 4: In this step we'll use ET GeoWizard to connect the pipeline 'start' and 'end' coordinates to generate polyline data. To do this follow the following sub-steps:

4a)  Click the ET GeoWizard Tool and in the new window, select Convert Menu, then click Point to Polyline, and finally click GO (Fig. 5)

Fig. 5

4b) In the new window, select the added point data (PointDATA.txt Events) and select the folder for the Polyline data and provide a name ( say PolyLineData) and then click NEXT ( Fig. 6)

 Fig. 6

4c) Now in the new window we need to set the connectivity of these points. In step 2, we prepared the TEXT file that include the Point IDs, Point Coordinates, and Line IDs. The LineID is the field that eventually shows the point connectivity. Follow the Fig. 7 for more clarification:

Fig. 7

4d) Finally, Click Finish, then OK, and close the wizard. You will se the polylines as below:

Fig. 8

 NB: You can try other tools of the ET GeoWizard as well.

Acknowledgement: Dr. Faruque Hasan for the example data


Post a Comment