You are on page 1of 6



Abstract Today there are a number of power distribution
companies around the world; there are two in Sri Lanka. With a
growing customer base, companies should look for better
methods to gain advantage in their business. Companies are
always looking for efficient, cost-effective methods to achieve
their goals. Most companies use outdated equipment, which can
lead to errors in day to day operations. Technicians at any time
do not have a clear picture of what parts of the network have
power and what parts do not, due to the lack of real-time GIS
facilities. Some companies use a mimic board to represent the
network; this is a single line diagram that is operated manually,
which is a cumbersome process and can lead to errors. This
system will help operators to map the distribution network and
keep track of all the equipment and expand the network. It
should provide means to monitor and control the operational
status of the network. The research methods used are: literature
review and data analysis and gathering. The system will be
implemented using JavaScript and PHP programming languages,
and the DBMS will be MySQL.

I ndex Terms Geographical Information System, Google
Maps, Google Maps API

Geographical Information Systems are used in a wide range of
applications such as mapping networks. The GIS can be easily
extended to an electricity distribution network that can be
advantageous to electricity distributors, as well as consumers.
There can be many ways of implementing a GIS, but this
project serves to accomplish this through the use of Google
Maps API. The use of the API in web applications has sky-
rocketed in the past few years due to its wide range of features
that provide flexibility for developers, its simplicity in use
which can easily be grasped by people of all ages and/or
computer literacy backgrounds and finally its cost-
effectiveness which is great advantage to the end-users.

A. Literature Survey
Most GIS currently in use are based online; the use has
accelerated recently due to the applications such as Google
maps and Open Street maps. Many SCADA systems (e.g. 11
kV underground network of Colombo) do not feature the

ability to view the network in geographical standpoint. They
usually have a single line diagram that is difficult to interpret.
Another disadvantage is the system can only be monitored and
controlled remotely from a single control center. Another
method that is employed by some distribution companies is
the use of a mimic board to represent the network. Single line
diagrams are shown on the board with different colors which
represent the different distribution lines. The switches are
represented by pins which are removed and inserted into the
board when switching operations are done. Small World
Electric Office; it is an application that is developed by Digital
Energy (a division of General Electric)[1]. It combines the
use of their application with Google maps services to visualize
the network and display details such as outage time to
customers. The application can be accessed online just as in
our program and there will be a user interface that allows users
to control the layers, search for information and seamlessly
move through the interface.

This section will focus on the methodology used in the
development of a Google Maps application for visualizing the
operational status of the network.
A. Definition of Google Maps
Google maps is a web-mapping application founded by
Google. It allows users to view any part of the world in
different views such as road map or satellite view. Google
Maps satellite images are not updated in real time; however,
Google adds data to their Primary Database on a regular basis.
Like many other Google web applications, Google Maps uses
JavaScript extensively. Some end users have reverse-
engineered the tool and produced client-side scripts and
server-side hooks which allowed a user or website to introduce
expanded or customized features into the Google Maps
interface. This led to the introduction of Google Maps API.[2]

B. Definition of Google Maps API
Google maps Application Programming Interface (API) is a
free service that allows any user to use Google maps on their
website. It also allows customization of the Google maps. The
Google maps API features a range of functions, most of which
Design and Implementation of a Google Maps Application for Visualizing the
Operational Status of Distribution Network
Sajith Nawarathne
, Kalindu Wijesundara
, M. A. M. Ziyan
, Gayan Wijendrasiri

and Nalin Wickramarachchi

1, 2, 3, 4
Department of Electrical Engineering
University of Moratuwa, Sri Lanka

Department of Electrical Engineering
University of Moratuwa
Sri Lanka

will be used to develop the application such as Zoom, Pan,
Scale, Maptype, and Rotate, Custom Controls, Events, Styles,
Layers, Markers, InfoWindows, Shapes Overlays.[3]
The advantage of using Google Maps is that there is no
need to create a digital map, as the map is loaded from Google
each time using the API key which is unique to that

C. Programming Tools and Data used
Net beans is the IDE used for developing the software, it
supports PHP, JavaScript and HTML languages. Coding was
done using PHP and JavaScript languages. HTML is used to
design the user interfaces, PHP is used to code the server side
functions and JavaScript is used to code the client-side
To implement the application, data for mapping various
components such as high voltage poles, low voltage poles,
transformers and switches are essential. The main data
requirements are the GPS coordinates of the components
which are used to locate the components. For the prototype,
actual GPS coordinates of components in the 11 kV
distribution network of the Moratuwa South Region of Sri
Lanka were used.


The application requires an internet connection. Once the user
is logged in they should be able to:

Visualize the network based on its geographical
Use the application as a mapping tool to expand the
Store data related to all equipment in a database,
where the data can be retrieved simply by clicking
icons on the map.
Simulate real-time switch operations and show
live/dead sections of the network
Locate where faults have occurred by identifying the
live/dead sections of the map
Find alternate ways of supplying power through
switching operations
This section will cover the database design, algorithm
design and user interface design.
A. Database design
The database is designed using MySQL which is a free,
open-source RDBMS. The database consists of 14 tables. The
tables hold static data which is used to map the components
and display static information. It is also used to hold real-time
data such as the operational status of the distribution lines.

Figure 1. Database table design

The 13 tables are:
user table used to store user name and password of all
switches table used to store details of all switches in the
poles_lv table used to store details of all LV poles in the
poles_hv table used to store details of all HV poles in the
lv_poles_con table used to store current and next pole
IDs which are used to draw the LV distribution line
hv_poles_con table used to store current and next pole
IDs which are used to draw the HV distribution line
bulk_trans table used to store details of all bulk
transformers in the network
distribution_trans table used to store details of all bulk
transformers in the network
mixed_trans table used to store details of all bulk
transformers in the network
primary table used to store details of all primary
section_status table used to store status of the sections in
the network
switch_section table used to store switch and section
connection details
transformer_section table links transformer and section
B. Algorithm Design
The raw data must be interpreted on the map visually, for this
purpose we need to design algorithms. The Google Maps API
allows the developer to set properties to markers and polylines
such as color, size, thickness and opacity. These tools can be
used to differentiate between several components of the map.


The algorithm will be designed to carry out various tasks in
the application. Algorithms must be created for handling data
within the databases. The various data handling operations are:

Adding a new component to the network such as a
transformer, HV or LV pole
Editing data related to an existing component in the
Deleting a component from the network
Draw the connection between two HV poles or two LV
Switch operations are an integral part of the application. The
network is filled with load break switches. When these are
operated, a part of the network should be isolated. The part of
the distribution line that is de-energized must be shown on the
map. In order to do this a suitable and efficient algorithm
should be developed.

The algorithm requires 3 important pre-requisites:

1. The network must be split into sections. A section would
be defined as a region of the distribution network that is
surrounded by 2 switches. Each section will have a
unique ID. The section will contain medium voltage
poles, each MV pole ID is linked to a Section ID, so we
can identify the MV network that belongs to that section.
2. Each section will contain transformers; therefore each
Transformer ID is linked with a Section ID, to identify
the section that the transformer is found in.
3. Each transformer will be connected to a series of LV
poles; therefore each LV pole ID is linked to a
Transformer ID, so that we can identify the LV network
that is supplied by the transformer.
The algorithm works in stages; first it will identify the
sections that do not have power, Secondly it will identify all
the transformers and high voltage poles that belong to that
section and thirdly it will identify the low voltage poles that
are being supplied by the transformers. This algorithm can be
used to identify all the components (transformers, high voltage
poles and low voltage poles) that are energized and de-

The switching algorithm works using the data from the
switch_section table. The data is transferred from the database
into an array. The array is used to create a graph network as
shown in Figure 2, where the nodes are sections and the edges
are switches.

Figure 2. Graph network representing distribution network

When a switch is operated, the edge corresponding to the
switch is removed and the graph is updates as shown below
(switch 3 and 5 are operated):

Figure 3. Resulting graph network when switches are turned off

The logic behind the algorithm is that if the graph network
can be traversed from the primary to any other node; that
section is energized or else it is de-energized. For this purpose
a simple BFS (breadth-first search) from the primary to all
other nodes, i.e. sections will be done. The result will return
all sections that are energized. In this manner, the sections that
are de-energized can be found.

After identifying the sections that are live/dead, we can
distinguish between the live and dead components on the map
by displaying them in different colors. This can be set through
the Google Maps API. Below is the BFS algorithm used [5]:

procedure BFS (G,v)
Create a queue Q
enqueue primary onto Q
array_visited = primary
while Q is not empty;
dequeue an item from Q into v
for each node connected to v by incident
edge e in Graph;
let w be the new node
if w not in array_visited
array_visited = w
enqueue w onto Q
return array_visited


C. User interface design
The user interface is an important part of the application.
Since, it is accessible online; the goal is to make it available
for both operators and customers. For this reason, there must
be several user levels with different security levels and access
rights. While the operator has the ability to make real-time
switching operations and manipulate the databases, the
customer has only the option of viewing the network and its
operational status.

Figure 4. Overview of user interface

Apart from providing all the features, the user interface must
be easy to use. It should be clear to the user and must be user-

Once, the application was designed and the prototype was
implemented. It was tested using various test cases. The
testing is a trial and error process that gives the programmer
time to develop or improve the application before it is
available to users as a final product.

A. Map Interactions
The user has the ability to choose between the map and
satellite mode.

Figure 5. Main interface with road map view

Figure 6. Main interface with satellite view

Figure shows the main interface after login. There are several
menus available to Add, Delete and Edit components in the

Figure 7. Level of detail decreases at lower zoom level

Figure shows a Zoomed out view of the map, as it can be seen
the level of detail is smaller as the zoom level decrease.

Figure 8. Level of detail increases at higher zoom level

Figure shows that when the zoom level increases, the level of
detail also increases. The low voltage poles are shown in small
dark blue circles. The high voltage poles are shown in light
blue circle and the transformers are shown in a black circle
with a larger diameter.


Figure 9. Pop-up window containing details are shown when component

As shown in figure , when a component is clicked, the
details regarding that component is shown in a pop-up
window. In this example, the transformer is shown with
Transformer ID and Capacity. The search box allows the user
to search for any component in the network using its ID. The
interface will zoom in on the component and centre in on its

B. Add/Edit/Delete Components
The application can be used to expand the network by adding
new LV poles, HV poles, transformers and switches. The
interfaces were created for each of the operations with the
necessary validations. Figure shows a typical interface for
adding an LV pole to the network.

Figure 10. Add LV pole interface

C. Add Connections
After adding HV or LV poles, the user has the freedom to
make the connections, such as in a mapping application. The
user can also delete these connections by deleting their
respective poles, after which the new poles must be added
again and the connection must be reset. This is a better process
because the user is prone to mistakes and it gives them the
ability to rectify these mistakes.

Figure 11. Before adding a new connection between two poles

Figure 12. After adding a new connection between two poles

D. Switch Operations
To simulate switch operations, a switch will either be turned
on or off.
Live distribution lines will be Red color
Dead distribution lines will be Blue color
On switches are in Green color
Off switches are in Black color
It is worth noting that we are only simulating the switch
operations, by changing the switch status in the database. In
reality some external data acquisition system will update the
database. This triggers the algorithm and the live/dead sections
are shown on the map. The operation should work the other
way around as well. When the switch is deliberately operated
using the application, the database is updated and the map will
be updated as well.



Figure 13. Before switch is turned off

Figure 13 shows the switch operation interface, the prompt
says Are you sure you want to switch off BT223? When
OK is clicked, the map is updated.

Figure 14. After switch is turned off

Figure 14 shows that after the switch is closed, the part of the
line is de-energized. This is seen by the blue colored line
between the two black circles.

As explained earlier, this interface can be used to simulate
the network switching operations. It can also be used for
finding alternate ways of supplying power to the consumers by
bypassing faulty areas.

Figure 15. Simulation of real-time switch operations
The objective of this research is to determine how effective
a Google Maps application can be in mapping an electricity
distribution network and to what extent it can be improved to
show the operational status of the network. After
implementing a small area of the actual distribution network
of Sri Lanka, it can be said that Google Maps API is an
excellent tool due to its fast loading speeds, the accuracy of
the maps and the fact that Google Maps are free to use. Only,
open-source software were used in the implementation,
because of this the end-product is commercially viable.
However, during testing it was realized that map loading
and query times could be improved by optimizing the
algorithms that were used to construct the functions.
Finally, it is important to note that this research explores
only a small amount of potential in Google Maps as a basis for
a Distribution Management System. It is expected that this
application works hand in hand with a data acquisition system.
Therefore, this application can be an alternative to expensive
supervisory control software that is accompanied with some
SCADA systems. Further improvements can be made to show
outage times, and calculate SAIFI or SAIDI values.

Our thanks go to Lanka Electricity Company Pvt. Ltd. for
providing us with the data necessary to make this research a


[1] Small World Electric Office, GE Digital Energy, [online] 2012,
tm#sa1 [March 19, 2014]

[2 Google Maps, Wikipedia, [online] 2014,
Available: [March 19, 2014]

[3] Google Maps JavaScript API v3, Google Developers, [online] 2014,
[March 19, 2014]

[4] ORACLE, NetBeans IDE 8.0, [online], Available:

[5] Breadth-first search, Wikipedia, [online] 2014,