Subscribe to this thread
Home - General / All posts - M8 - Relations between 2 tables
sgaiji34 post(s)
#12-Jun-20 16:44

First of all, I know it's a beginner's question ...

I am trying to make a relation between two data tables and I am blocked.

I think I have properly configured the transfer rules between the two tables as shown in the image.

When I execute the function, only the data of the first record is transferred while for some columns I need the sum of the values or the minimum / maximum value.

I have read and reread the software help in detail but I have not yet found my error.

Could you help me ?

Attachments:
Manifold_table_relation_bug1.jpg

adamw


9,445 post(s)
#12-Jun-20 17:03

Manifold 8 cannot sum / min / max values of fields brought via the Relations dialog during 1:N mappings, it can only take the value of the first record out of multiple matching records. The settings in the Transfer Rules dialog apply to the transforms, not to the relations.

You can sum / min / max values using a query. Or you can sum / min / max values and more interactively using 9 and its Join dialog, which is an extended version of what is in Manifold 8. See the help topics, example videos, etc. If you don't have a license of 9, you can try things out in the free Viewer.

sgaiji34 post(s)
#12-Jun-20 22:49

Sorry I haven't been clear in my question.

The original data is in the left table.

The final data is in the right table.

The transfert rules that appear, apply to the original (left) table.

According to me, it's an N:1 mapping (and not an 1:N).

Maybe I'm wrong ...

I will try with M9.

Stephane

adamw


9,445 post(s)
#13-Jun-20 09:01

That's how I understood it as well - the tables are related on the pair of Cell_Index fields, fields are mapped from the left table to the right table, and for a single record in the right table there are multiple records in the left table. We can call this 1:N or N:1, this does not matter much because that's just two sides of the same relation. I mean, you could have swapped the positions of the windows and it would still be the same relation, right? :-)

When bringing data from the left to the right via a related field, Manifold 8 can only take one of the values from the matching records. The transfer rules for fields in the right table are not used during a relation, they are there in case you will do a transform on the right table - the transfer rules define what will happen with the field values during that transform.

Do try using 9, it can sum / etc. Alternatively, you can sum in either 8 or 9 by writing a query.

sgaiji34 post(s)
#14-Jun-20 22:35

I did the job with QGIS ...

I still don't understand what was wrong with my question about Transfer rules between tables.

adamw


9,445 post(s)
#15-Jun-20 09:53

There was nothing wrong with the question. I thought I answered it.

Anyway, happy to hear you got the job done.

sgaiji34 post(s)
#29-Jun-20 19:55

Anyway Thanks for your time and help !

volker

1,052 post(s)
#30-Jun-20 08:43

What you want to do you use Spatial Overlay (so i always solve the problem).

But only if the Table have a Drawing and is not only a Table.

Or use a SQL-Query (but i don't know how to write it...)

Look in the MFD8 help:

Drawing - Spatial Overlay

Spatial Overlay Methods

The following methods will appear in the Methods box as appropriate to the types of objects that have been selected in the Source and Target sets.

Areas to contained areas

Transfer fields from area A to areas that are completely inside A.

Areas to contained lines

Transfer fields from area A to lines that are completely inside A.

Areas to contained points

Transfer fields from area A to points inside A

Areas to containing areas

Transfer fields from area A to areas that completely contain A.

Areas to intersecting areas

Transfer fields from area A to areas that have at least some location within A's interior (that is not on a boundary).

Areas to intersecting lines

Transfer fields from area A to lines that have at least some location within A's interior (that is not on a boundary). Excludes fully contained lines.

Areas to neighbor areas

Transfer fields from area A to areas that touch A only at A's boundary (that is, have no common locations that are interior for A).

Areas to neighbor lines

Transfer fields from area A to lines that touch A only at A's boundary.

Areas to boundary points

Transfer fields from area A to points that lie on its boundary.

Areas to touching areas

Transfer fields from area A to areas that share at least one location in common with A.

Areas to touching lines

Transfer fields from area A to lines that share at least one location with A.

Lines to contained lines

Transfer fields from line L to lines that are completely contained by L (that is, are coincident with some part of L).

Lines to contained points

Transfer fields from line L to points that lie on L.

Lines to containing areas

Transfer fields from line L to areas that completely contain L.

Lines to containing lines

Transfer fields from line L to lines that completely contain L (that is are coincident at least over the extent of L).

Lines to intersecting areas

Transfer fields from line L to areas that share at least one interior location with L.

Lines to intersecting lines

Transfer fields from line L to lines that share at least one interior location (that is, a location that is not a terminal coordinate of any branch) with L.

Lines to neighbor areas

Transfer fields from line L to areas that are touched by L at their boundary.

Lines to neighbor lines

Transfer fields from line L to lines that touch (and are touched by) L at the terminal coordinates of any L branch.

Lines to terminal points

Transfer fields from line L to points that lie on its boundary (that is, terminal points of branches).

Lines to touching areas

Transfer fields form line L to areas that share at least one location with the line.

Lines to touching lines

Transfer fields from line L to lines that share at least one location with L.

Points to containing areas

Transfer fields from point P to areas that contain P.

Points to containing lines

Transfer fields from point P to lines that contain P.

Points to neighbor areas

Transfer fields from point P to areas that contain P on their boundary.

Points to neighbor lines

Transfer fields from point P to lines that contain P on their boundary.

Points to coinciding points

Transfer fields from point P to points that coincide with P.


http://www.thegisservicesector.de

baguiotop2 post(s)
#27-Oct-20 22:07

@Volker

I am having difficulties getting manifold to transfer a table from a lines drawing to a table in a points drawing.

I was told that I have to set a distance parameter somewhere to tell manifold to set a limit for a search circle from a point to the line. I cannot seem to find where to set this search parameter.

Is it in the individual drawings or in the map window?

Appreciate your help in pointing me to the correct help topics.

baguiotop2 post(s)
#30-Oct-20 03:16

anyone?

Graeme

952 post(s)
#31-Oct-20 07:27

Right click component(s) / Properties / Precision.. Specify the required precision in projected units. Make sure you set the containing "Map" component precision as well.

Manifold User Community Use Agreement Copyright (C) 2007-2019 Manifold Software Limited. All rights reserved.