Skip to main content
Question

area from lines problem


robert_punt
Contributor
Forum|alt.badge.img+6

Hi everyone, i have drawn lines to split areas into new areas. I use a chopper to drop the areas and an extenter to extend all lines (to delete gaps) then i use an intersector to cut of the lines with each other.

finaly i use an areabuilder to create all areas.

But not all areas are created the right why . (green lines are the lines i have drawn)

 

is there a solution to this problem. (i have allso used an anchorsnapper same results)

18 replies

jdh
Contributor
Forum|alt.badge.img+28
  • Contributor
  • May 17, 2019

We would need an actual sample of the data to test.


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • May 17, 2019

@robert_punt

A standard procedure.

If the topology is correct, it should create areas.

So there must be gaps. (most obvious thing to surmise)

Mostly this is solved by using a snapper, endpoint mode. Then a intersector. Then areabuilder.

Yes, data sample is required. Pref. the displayed area.


robert_punt
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 18, 2019
gio wrote:

@robert_punt

A standard procedure.

If the topology is correct, it should create areas.

So there must be gaps. (most obvious thing to surmise)

Mostly this is solved by using a snapper, endpoint mode. Then a intersector. Then areabuilder.

Yes, data sample is required. Pref. the displayed area.

@gio, thanks for your comment. as i mentioned, i have used the anchorsnapper but it has the same result. i think i can use the topology builder if the topology is right.(good tip)

the source data is cad file and de coordinates were the lines intersect are the same. but at milimeter accuracy.


robert_punt
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 21, 2019

here is the data sample.

1 ffs (zipped) file with the areas (origine is the oracle database)

1 dgn file with the centroides and linestemp_parking_lines.dgnarea.zip


robert_punt
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 21, 2019

This is the script i use.


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • May 21, 2019

@robert_punt

 

Hi Robert.

Here is a workspace. It's small as need be.

RPUNT_Areabuilding.fmw

 

1 On the (drawn)lines u you must use 1 snapper Endpoint, then one snapper segmentsnapping.

2 Coerce areas to lines.

3 Feed all to a anchor snapper with areas lines as anchor. Use segmentsnapping.

4 Then intersector and then areabuilder.

 

Easy peasy! :)

 


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • May 21, 2019

@robert_punt

Hoi Robert,

 

Ik forgot to filter the areas.

Hierbij another workbench.

RPUNT_Areabuilding.fmw

 

Greets,

Gio


robert_punt
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 22, 2019
gio wrote:

@robert_punt

Hoi Robert,

 

Ik forgot to filter the areas.

Hierbij another workbench.

RPUNT_Areabuilding.fmw

 

Greets,

Gio

@gio thanks. the filtering isn't a problem :-). but i am still working on the script with your tips. i will let you know what my findings are.


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • May 22, 2019
gio wrote:

@robert_punt

Hoi Robert,

 

Ik forgot to filter the areas.

Hierbij another workbench.

RPUNT_Areabuilding.fmw

 

Greets,

Gio

@robert_punt

 

Ok.

Findings?

The script does exactly what is required at as little transformers as can be.

No mystery there, right?

 

You did manage to download the scripts I assume?

 

Greets.


robert_punt
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 22, 2019

Well i have created a new workbench in fme 2016 but the results aren't great.


takashi
Influencer
  • May 22, 2019

I was able to create areas from your sample datasets, applying your approach - Extender, Intersector, AreaBuilder. See the attached workspace example: igds_ffs2none.fmwt (FME 2016.1.3)


robert_punt
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 22, 2019
takashi wrote:

I was able to create areas from your sample datasets, applying your approach - Extender, Intersector, AreaBuilder. See the attached workspace example: igds_ffs2none.fmwt (FME 2016.1.3)

maybe i should write from oracle to ffs.and then use it in the workbench. Or could it be a local problem?


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • May 22, 2019
robert_punt wrote:

Well i have created a new workbench in fme 2016 but the results aren't great.

The result of the wb I posted is correct:


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • May 22, 2019
robert_punt wrote:

Well i have created a new workbench in fme 2016 but the results aren't great.

@robert_punt

Hi.

 

The result seem good. Your testing with a centerpoint is flawed.

 

Remove the Chopper. It has no function and just slows down things.

 

Use an AreOnAreaOverlayer instead of the PointOnAreaOverlayer (where you use centerpoints form the areas). Because not all of the newly built objects wil a have centerpoint (save 1 = engels voor "op 1 na")

Therefore it will not match all required objects, as you clearly noticed yourself.

Test for overlaps >1 after the AoA overlayer.

That is what i did in the last workbench I posted and results in the pic I just posted.

 

 

Does fme 2016 have a AtributeManager?? Have not used it in a while so I did or do not know.


robert_punt
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 23, 2019

hi everybody here is the complete workbench with all data. there are still 9 areas that aren't created correctly dgnv82none.fmwt


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • May 23, 2019

@robert_punt

 

Hi Robert.

The workspace i posted works fine.

I have restructured your workspace and it results in same ws i posted before.

RPUNT_bu.fmw

I have no fme 2016 available atm. so i also added a picture of workspace.

 

One thing you missed is that you'll want to coerce the polygon.

Also you use too low tolerance settings in your snappers. The drawn lines are not drawn accurately, so you need a higher tolerance.

I also entered a topologybuilder after the intersector, there were too many faulty lines.

 

You also have lines where there are no areas to split.

 

Your testing using PointOnLineOverlayer is not usefull. Mainly because you have no Centerpoints for the newly created objects nor for the spliced objects.

As i suggested earlier, you should use a AreaOnAreOverlayer.

At the end i added a spatialrelator to check if there were still faulty lines.

 

 

Result:

I see no flaws.

All areas are split by the lines.

 

Apart of caourse where there is no input WGD area (see solitary green lines):

 

Alos you do not need to check the INcomplete from the areabuilder; those are all overshoots (lines with only one side connected to the WGD boundaries) because you extended the lines at some fixed distance.


robert_punt
Contributor
Forum|alt.badge.img+6
  • Author
  • Contributor
  • May 24, 2019
gio wrote:

@robert_punt

 

Hi Robert.

The workspace i posted works fine.

I have restructured your workspace and it results in same ws i posted before.

RPUNT_bu.fmw

I have no fme 2016 available atm. so i also added a picture of workspace.

 

One thing you missed is that you'll want to coerce the polygon.

Also you use too low tolerance settings in your snappers. The drawn lines are not drawn accurately, so you need a higher tolerance.

I also entered a topologybuilder after the intersector, there were too many faulty lines.

 

You also have lines where there are no areas to split.

 

Your testing using PointOnLineOverlayer is not usefull. Mainly because you have no Centerpoints for the newly created objects nor for the spliced objects.

As i suggested earlier, you should use a AreaOnAreOverlayer.

At the end i added a spatialrelator to check if there were still faulty lines.

 

 

Result:

I see no flaws.

All areas are split by the lines.

 

Apart of caourse where there is no input WGD area (see solitary green lines):

 

Alos you do not need to check the INcomplete from the areabuilder; those are all overshoots (lines with only one side connected to the WGD boundaries) because you extended the lines at some fixed distance.

Sadly your workbench has allmost the same results as mine. som area's aren't created properly or some line i created aren't used at all.you can check it if you use the centro's and filter igds_text_string = 'eigen'. alle centros has to be used and not one area has to have multiple centro's.


gio
Contributor
Forum|alt.badge.img+15
  • Contributor
  • May 28, 2019

@robert_punt

 

Hi,

 

I thought i posted a new one. (apperantly not, or probaly uploaded to wrong forum topic..)

 

I added some, and changed some paramater values.

It now catches all drawing errors. Except a couple were the tolerances would have to be set way too high.

 

The workbench shows wich are not created. At those locations you miss helperlines.

 

RPUNT_bu_.fmw

 


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings