Creating regions from network

274 views
Skip to first unread message

Matt

unread,
Jan 11, 2007, 8:29:41 PM1/11/07
to MapInfo-L
Hello,

I have a MapInfo dataset of a network, with each network carrier being
connected to a specific substation (it is a power network). The dataset
contains line objects, each with an attribute of the substation name it
is connected to. A sample screenshot of the dataset can be found at:
http://groups-beta.google.com/group/mapinfo-l/web/lineMap.jpg

I would like to be able to create the bounding regions for these
"substation service areas", and I was wondering how to go about it. I
have MapBasic, so if some scripting needs to be done, that is OK.

Any suggestions?

Patrick Palmier

unread,
Jan 12, 2007, 3:14:29 AM1/12/07
to mapi...@googlegroups.com
Hello,

You may try to enclose your network table and then combine the parcels created by combining them with the substation ID
You need to transfer substation ID to the enclosed region before combining.

Another solution is to grid your polyline layer with station ID and to generate stationID iso-regions

Patrick Palmier

2007/1/12, Matt <sho...@gmail.com>:

Greg Driver

unread,
Jan 12, 2007, 4:47:25 AM1/12/07
to MapInfo-L
Matt,

One way would be to convert the polylines into points retaining the
substation attribute, and then use the convexhull function to create
the regions based on the substation id.

You could use this tool to convert the polylines into points (the link
might get broken over 2 lines!) -
www.directionsmag.com/files/index.php/view/535

Once you have your points you could then use the Create Object
statement from the MapBasic window in MapInfo to create the convexhull
regions grouped by the substation attribute --

Create Object As ConvexHull from source_table into table new_table data
new_id = substation_id group by substation_id

You'll need to create a new table to hold the region objects with the
attributes you want to carry across from the source table (data new_id
= substation_id).

Let me know if you need further help with the above.

Greg Driver

mags

unread,
Jan 12, 2007, 11:16:12 AM1/12/07
to mapi...@googlegroups.com
Matt,

Is not neccesary convert polylines into points.
Using MI8 you can select all polylines of a Substation and after run a
convexhull function (with the opcion "One output object for all input
objects" selected).
Besides, the convex hull run propertly if you have lines, polylines,
polygons and arcs in the selection table !

regards
alejandro

Peter Horsbøll Møller

unread,
Jan 12, 2007, 2:07:27 PM1/12/07
to mapi...@googlegroups.com
A different approach would be to convert the linies into points (could just be the centroids).
After this you could use the Voronoi function to convert these points into areas.

When you have created the voronoi, you need to combine the regions using the substation id.
This can be done thru Table > Combine objects using column...

Voronoi will make sure that the area will be parted nicely between the points and that there is no overlaps and underlaps.
You can even select a regions that the voronoi regions should stay within.

Peter Horsbøll Møller
GIS Developer, MTM
Geographical Information & IT

COWI A/S
Odensevej 95
DK-5260 Odense S.
Denmark

Tel +45 6311 4900
Direct +45 6311 4908
Mob +45 5156 1045
Fax +45 6311 4949
E-mail p...@cowi.dk
http://www.cowi.dk/gis

Matt

unread,
Jan 14, 2007, 6:40:07 PM1/14/07
to MapInfo-L
OK,
I have done a bit of testing, and have found the following things:
- Convex enclosure is not suitable. The networks are not convex.
- Voroni subdivision on each point in the network (I wrote a custom
script to convert polylines and lines to points) works wonderfully,
except around the areas where the lines run next to eachother. I could
deal with this however. Unfortunately though, my MapInfo (7) won't
allow me to do Voroni on large datasets. It seems like it is processing
them, but I get no regions output. I think I will try on the centroid
points next, that might just work admirably.
- I have considered using a grid to do it, but it won't be as accurate
as I would like. Besides, processing a fine enough grid over half of
Australia won't be so easy on my workstation.

Patrick, I'm not sure what you mean by:


"You may try to enclose your network table and then combine the parcels

created by combining them with the substation ID
You need to transfer substation ID to the enclosed region before
combining."

Thanks to everyones suggestions so far. I'll keep on playing, and let
you know how I get on.

Matt

Uffe Kousgaard

unread,
Jan 15, 2007, 2:42:33 AM1/15/07
to mapi...@googlegroups.com
> - Voroni subdivision on each point in the network (I wrote a custom
> script to convert polylines and lines to points) works wonderfully,
> except around the areas where the lines run next to eachother. I could
> deal with this however. Unfortunately though, my MapInfo (7) won't
> allow me to do Voroni on large datasets.

Try this tool, which also offers voronoi and generally works on larger
datasets than MapInfo do:
http://www.routeware.dk/toolbox.php

Regards
Uffe

Matt

unread,
Jan 15, 2007, 6:24:27 PM1/15/07
to MapInfo-L
The method of Voronoi subdivision using only the centroids worked a
charm. Fortunately, the dataset was also small enough for MapInfo to be
able to process directly.

Thank you everyone for the help.

Reply all
Reply to author
Forward
0 new messages