Geoscripting - spatial analysis - find shape inside shape

Along a sewer line are to be compiled servitudes. For this purpose are created for each parcel shapes and those connected to a database. Other shapes on the same parcel concern the temporary occupation. In order to process additional data that I need to find each corresponding shape (shape inside outer shape). Any attempt to solve with a GeoScript  spatial analysis (NEAR, NEAREST, INSIDE,OVERLAP) have failed. Either Bentley Map crashes or there are the wrong shapes found.

Does anyone have a solution

Detail:

Geoscript to Test:

*Areas inside a shape (with a tolerance) are searched.

DEFINE SCRIPT searchInsideAreas
  SETUP type Area
  VALIDATE
    message "Area size: " area
    co = 3
    numberFound = numberFound + 1
    EXPORT numberFound            // Save the number
  END
END

*Syntax: EXECUTE script INSIDE [tolerance]
*Handles all elements that are inside a closed area. If you do not specify a tolerance, the elements must be
*completely inside the shape and cannot touch the boundary of the area.
*If you specify a tolerance, elements that are inside the closed area can be partly outside the area
*but no more than the specified tolerance.
*		execute innershapes inside  0.00000000001

DEFINE SCRIPT searchShape
  SETUP file    ACTIVE
  SETUP type    AREA

  VALIDATE
    numberFound = 0
    execute searchInsideAreas OVERLAP TOL
    If (numberFound > 0)            // Check whether any area is found
       MESSAGE "Number of areas in shape: " numberFound " - Area: " area
    ELSE
       MESSAGE "No areas found in shape"
    END
  END
END

TOL= -0.40
MESSAGE "============================="
MESSAGE tol
EXECUTE searchShape


  • Greetings,

    What version of Bentley Map is being used? Could provide a copy of the design file depicted above which produces the crash or incorrect results?

    Regards,

    Jeff Bielefeld [Bentley]



  • Export.dgnI have tested with Bentley Map V8 XM - 08.09.04.147 or also Bentley Map Select Series 1 - 08.11.07.113  

    Attached dgn

  • Each of those Bentley Map releases are several years old. Using the latest Bentley Map V8i (SELECTseries 4) 08.11.09.713 commercial release your script produces the attached output.

    =============================
    -0.4
    Area size: 4.134501
    Area size: 82.563323
    Area size: 7.940066
    Area size: 82.563323
    Area size: 7.940066
    Area size: 4.134501
    Area size: 144.649933
    Area size: 154.35546
    Area size: 14.571458
    Area size: 154.35546
    Area size: 14.571458
    Number of areas in shape: 11 - Area: 144.649933
    Area size: 144.649933
    Area size: 82.563323
    Area size: 7.940066
    Area size: 82.563323
    Area size: 7.940066
    Area size: 4.134501
    Area size: 144.649933
    Area size: 154.35546
    Area size: 14.571458
    Area size: 154.35546
    Area size: 14.571458
    Number of areas in shape: 11 - Area: 4.134501
    Area size: 144.649933
    Area size: 4.134501
    Area size: 7.940066
    Area size: 9.405288
    Area size: 47.427892
    Area size: 47.427892
    Area size: 9.405288
    Area size: 82.563323
    Area size: 7.940066
    Area size: 4.134501
    Area size: 144.649933
    Area size: 87.427086
    Area size: 34.913784
    Area size: 154.35546
    Area size: 14.571458
    Area size: 34.913784
    Area size: 154.35546
    Area size: 87.427086
    Area size: 14.571458
    Number of areas in shape: 19 - Area: 82.563323
    Area size: 144.649933
    Area size: 4.134501
    Area size: 82.563323
    Area size: 82.563323
    Area size: 7.940066
    Area size: 4.134501
    Area size: 144.649933
    Area size: 154.35546
    Area size: 14.571458
    Area size: 154.35546
    Area size: 14.571458
    Number of areas in shape: 11 - Area: 7.940066
    Area size: 82.563323
    Area size: 47.427892
    Area size: 47.427892
    Area size: 9.405288
    Area size: 82.563323
    Area size: 87.427086
    Area size: 34.913784
    Area size: 154.35546
    Area size: 34.913784
    Area size: 154.35546
    Area size: 87.427086
    Number of areas in shape: 11 - Area: 9.405288
    Area size: 82.563323
    Area size: 9.405288
    Area size: 31.115489
    Area size: 31.115489
    Area size: 47.427892
    Area size: 9.405288
    Area size: 82.563323
    Area size: 62.330184
    Area size: 87.427086
    Area size: 34.913784
    Area size: 154.35546
    Area size: 62.330184
    Area size: 34.913784
    Area size: 154.35546
    Area size: 87.427086
    Number of areas in shape: 15 - Area: 47.427892
    Area size: 47.427892
    Area size: 92.332882
    Area size: 92.332882
    Area size: 31.115489
    Area size: 47.427892
    Area size: 258.934057
    Area size: 62.330184
    Area size: 87.427086
    Area size: 258.934057
    Area size: 62.330184
    Area size: 87.427086
    Number of areas in shape: 11 - Area: 31.115489
    Area size: 92.332882
    Area size: 92.332882
    Area size: 12.500604
    Area size: 258.934057
    Area size: 37.453006
    Area size: 37.453006
    Area size: 258.934057
    Number of areas in shape: 7 - Area: 12.500604
    Area size: 31.115489
    Area size: 12.500604
    Area size: 23.185097
    Area size: 92.332882
    Area size: 23.185097
    Area size: 12.500604
    Area size: 31.115489
    Area size: 258.934057
    Area size: 64.553073
    Area size: 37.453006
    Area size: 62.330184
    Area size: 64.553073
    Area size: 37.453006
    Area size: 258.934057
    Area size: 62.330184
    Number of areas in shape: 15 - Area: 92.332882
    Area size: 92.332882
    Area size: 92.332882
    Area size: 23.185097
    Area size: 258.934057
    Area size: 64.553073
    Area size: 64.553073
    Area size: 258.934057
    Number of areas in shape: 7 - Area: 23.185097
    Area size: 31.115489
    Area size: 12.500604
    Area size: 92.332882
    Area size: 23.185097
    Area size: 23.185097
    Area size: 12.500604
    Area size: 31.115489
    Area size: 258.934057
    Area size: 64.553073
    Area size: 37.453006
    Area size: 62.330184
    Area size: 64.553073
    Area size: 37.453006
    Area size: 258.934057
    Area size: 62.330184
    Number of areas in shape: 15 - Area: 92.332882
    Area size: 92.332882
    Area size: 23.185097
    Area size: 92.332882
    Area size: 258.934057
    Area size: 64.553073
    Area size: 64.553073
    Area size: 258.934057
    Number of areas in shape: 7 - Area: 23.185097
    Area size: 12.500604
    Area size: 92.332882
    Area size: 92.332882
    Area size: 258.934057
    Area size: 37.453006
    Area size: 37.453006
    Area size: 258.934057
    Number of areas in shape: 7 - Area: 12.500604
    Area size: 47.427892
    Area size: 31.115489
    Area size: 92.332882
    Area size: 92.332882
    Area size: 47.427892
    Area size: 258.934057
    Area size: 62.330184
    Area size: 87.427086
    Area size: 258.934057
    Area size: 62.330184
    Area size: 87.427086
    Number of areas in shape: 11 - Area: 31.115489
    Area size: 82.563323
    Area size: 9.405288
    Area size: 47.427892
    Area size: 31.115489
    Area size: 31.115489
    Area size: 9.405288
    Area size: 82.563323
    Area size: 62.330184
    Area size: 87.427086
    Area size: 34.913784
    Area size: 154.35546
    Area size: 62.330184
    Area size: 34.913784
    Area size: 154.35546
    Area size: 87.427086
    Number of areas in shape: 15 - Area: 47.427892
    Area size: 82.563323
    Area size: 9.405288
    Area size: 47.427892
    Area size: 47.427892
    Area size: 82.563323
    Area size: 87.427086
    Area size: 34.913784
    Area size: 154.35546
    Area size: 34.913784
    Area size: 154.35546
    Area size: 87.427086
    Number of areas in shape: 11 - Area: 9.405288
    Area size: 144.649933
    Area size: 4.134501
    Area size: 82.563323
    Area size: 7.940066
    Area size: 9.405288
    Area size: 47.427892
    Area size: 47.427892
    Area size: 9.405288
    Area size: 7.940066
    Area size: 4.134501
    Area size: 144.649933
    Area size: 87.427086
    Area size: 34.913784
    Area size: 154.35546
    Area size: 14.571458
    Area size: 34.913784
    Area size: 154.35546
    Area size: 87.427086
    Area size: 14.571458
    Number of areas in shape: 19 - Area: 82.563323
    Area size: 144.649933
    Area size: 4.134501
    Area size: 82.563323
    Area size: 7.940066
    Area size: 82.563323
    Area size: 4.134501
    Area size: 144.649933
    Area size: 154.35546
    Area size: 14.571458
    Area size: 154.35546
    Area size: 14.571458
    Number of areas in shape: 11 - Area: 7.940066
    Area size: 144.649933
    Area size: 4.134501
    Area size: 82.563323
    Area size: 7.940066
    Area size: 82.563323
    Area size: 7.940066
    Area size: 144.649933
    Area size: 154.35546
    Area size: 14.571458
    Area size: 154.35546
    Area size: 14.571458
    Number of areas in shape: 11 - Area: 4.134501
    Area size: 144.649933
    Area size: 4.134501
    Area size: 82.563323
    Area size: 7.940066
    Area size: 82.563323
    Area size: 7.940066
    Area size: 4.134501
    Area size: 154.35546
    Area size: 14.571458
    Area size: 154.35546
    Area size: 14.571458
    Number of areas in shape: 11 - Area: 144.649933
    Area size: 31.115489
    Area size: 12.500604
    Area size: 92.332882
    Area size: 23.185097
    Area size: 92.332882
    Area size: 23.185097
    Area size: 12.500604
    Area size: 31.115489
    Area size: 64.553073
    Area size: 37.453006
    Area size: 62.330184
    Area size: 64.553073
    Area size: 37.453006
    Area size: 258.934057
    Area size: 62.330184
    Number of areas in shape: 15 - Area: 258.934057
    Area size: 92.332882
    Area size: 23.185097
    Area size: 92.332882
    Area size: 23.185097
    Area size: 258.934057
    Area size: 64.553073
    Area size: 258.934057
    Number of areas in shape: 7 - Area: 64.553073
    Area size: 12.500604
    Area size: 92.332882
    Area size: 92.332882
    Area size: 12.500604
    Area size: 258.934057
    Area size: 37.453006
    Area size: 258.934057
    Number of areas in shape: 7 - Area: 37.453006
    Area size: 47.427892
    Area size: 31.115489
    Area size: 92.332882
    Area size: 92.332882
    Area size: 31.115489
    Area size: 47.427892
    Area size: 258.934057
    Area size: 87.427086
    Area size: 34.913784
    Area size: 258.934057
    Area size: 62.330184
    Area size: 34.913784
    Area size: 87.427086
    Number of areas in shape: 13 - Area: 62.330184
    Area size: 82.563323
    Area size: 9.405288
    Area size: 47.427892
    Area size: 31.115489
    Area size: 31.115489
    Area size: 47.427892
    Area size: 9.405288
    Area size: 82.563323
    Area size: 62.330184
    Area size: 34.913784
    Area size: 154.35546
    Area size: 62.330184
    Area size: 34.913784
    Area size: 154.35546
    Area size: 87.427086
    Number of areas in shape: 15 - Area: 87.427086
    Area size: 82.563323
    Area size: 9.405288
    Area size: 47.427892
    Area size: 47.427892
    Area size: 9.405288
    Area size: 82.563323
    Area size: 62.330184
    Area size: 87.427086
    Area size: 154.35546
    Area size: 62.330184
    Area size: 34.913784
    Area size: 154.35546
    Area size: 87.427086
    Number of areas in shape: 13 - Area: 34.913784
    Area size: 144.649933
    Area size: 4.134501
    Area size: 82.563323
    Area size: 7.940066
    Area size: 9.405288
    Area size: 47.427892
    Area size: 47.427892
    Area size: 9.405288
    Area size: 82.563323
    Area size: 7.940066
    Area size: 4.134501
    Area size: 144.649933
    Area size: 87.427086
    Area size: 34.913784
    Area size: 14.571458
    Area size: 34.913784
    Area size: 154.35546
    Area size: 87.427086
    Area size: 14.571458
    Number of areas in shape: 19 - Area: 154.35546
    Area size: 144.649933
    Area size: 4.134501
    Area size: 82.563323
    Area size: 7.940066
    Area size: 82.563323
    Area size: 7.940066
    Area size: 4.134501
    Area size: 144.649933
    Area size: 154.35546
    Area size: 154.35546
    Area size: 14.571458
    Number of areas in shape: 11 - Area: 14.571458
    Area size: 92.332882
    Area size: 23.185097
    Area size: 92.332882
    Area size: 23.185097
    Area size: 258.934057
    Area size: 64.553073
    Area size: 258.934057
    Number of areas in shape: 7 - Area: 64.553073
    Area size: 12.500604
    Area size: 92.332882
    Area size: 92.332882
    Area size: 12.500604
    Area size: 258.934057
    Area size: 37.453006
    Area size: 258.934057
    Number of areas in shape: 7 - Area: 37.453006
    Area size: 31.115489
    Area size: 12.500604
    Area size: 92.332882
    Area size: 23.185097
    Area size: 92.332882
    Area size: 23.185097
    Area size: 12.500604
    Area size: 31.115489
    Area size: 258.934057
    Area size: 64.553073
    Area size: 37.453006
    Area size: 62.330184
    Area size: 64.553073
    Area size: 37.453006
    Area size: 62.330184
    Number of areas in shape: 15 - Area: 258.934057
    Area size: 47.427892
    Area size: 31.115489
    Area size: 92.332882
    Area size: 92.332882
    Area size: 31.115489
    Area size: 47.427892
    Area size: 258.934057
    Area size: 62.330184
    Area size: 87.427086
    Area size: 34.913784
    Area size: 258.934057
    Area size: 34.913784
    Area size: 87.427086
    Number of areas in shape: 13 - Area: 62.330184
    Area size: 82.563323
    Area size: 9.405288
    Area size: 47.427892
    Area size: 47.427892
    Area size: 9.405288
    Area size: 82.563323
    Area size: 62.330184
    Area size: 87.427086
    Area size: 34.913784
    Area size: 154.35546
    Area size: 62.330184
    Area size: 154.35546
    Area size: 87.427086
    Number of areas in shape: 13 - Area: 34.913784
    Area size: 144.649933
    Area size: 4.134501
    Area size: 82.563323
    Area size: 7.940066
    Area size: 9.405288
    Area size: 47.427892
    Area size: 47.427892
    Area size: 9.405288
    Area size: 82.563323
    Area size: 7.940066
    Area size: 4.134501
    Area size: 144.649933
    Area size: 87.427086
    Area size: 34.913784
    Area size: 154.35546
    Area size: 14.571458
    Area size: 34.913784
    Area size: 87.427086
    Area size: 14.571458
    Number of areas in shape: 19 - Area: 154.35546
    Area size: 82.563323
    Area size: 9.405288
    Area size: 47.427892
    Area size: 31.115489
    Area size: 31.115489
    Area size: 47.427892
    Area size: 9.405288
    Area size: 82.563323
    Area size: 62.330184
    Area size: 87.427086
    Area size: 34.913784
    Area size: 154.35546
    Area size: 62.330184
    Area size: 34.913784
    Area size: 154.35546
    Number of areas in shape: 15 - Area: 87.427086
    Area size: 144.649933
    Area size: 4.134501
    Area size: 82.563323
    Area size: 7.940066
    Area size: 82.563323
    Area size: 7.940066
    Area size: 4.134501
    Area size: 144.649933
    Area size: 154.35546
    Area size: 14.571458
    Area size: 154.35546
    Number of areas in shape: 11 - Area: 14.571458
    No areas found in shape
    Area size: 47.427892
    Area size: 9.405288
    Area size: 34.913784
    Area size: 87.427086
    Area size: 154.35546
    Number of areas in shape: 5 - Area: 82.563323
    Area size: 82.563323
    Area size: 9.405288
    Area size: 34.913784
    Area size: 87.427086
    Area size: 31.115489
    Area size: 62.330184
    Area size: 154.35546
    Number of areas in shape: 7 - Area: 47.427892
    Area size: 82.563323
    Area size: 47.427892
    Area size: 34.913784
    Area size: 87.427086
    Area size: 154.35546
    Number of areas in shape: 5 - Area: 9.405288
    Area size: 82.563323
    Area size: 47.427892
    Area size: 9.405288
    Area size: 87.427086
    Area size: 62.330184
    Area size: 154.35546
    Number of areas in shape: 6 - Area: 34.913784
    Area size: 82.563323
    Area size: 47.427892
    Area size: 9.405288
    Area size: 34.913784
    Area size: 31.115489
    Area size: 62.330184
    Area size: 154.35546
    Number of areas in shape: 7 - Area: 87.427086
    Area size: 47.427892
    Area size: 87.427086
    Area size: 62.330184
    Area size: 258.934057
    Area size: 92.332882
    Number of areas in shape: 5 - Area: 31.115489
    Area size: 47.427892
    Area size: 34.913784
    Area size: 87.427086
    Area size: 31.115489
    Area size: 258.934057
    Area size: 92.332882
    Number of areas in shape: 6 - Area: 62.330184
    No areas found in shape
    No areas found in shape
    No areas found in shape
    No areas found in shape
    No areas found in shape
    No areas found in shape
    No areas found in shape
    No areas found in shape
    Area size: 82.563323
    Area size: 47.427892
    Area size: 9.405288
    Area size: 34.913784
    Area size: 87.427086
    Number of areas in shape: 5 - Area: 154.35546
    Area size: 31.115489
    Area size: 62.330184
    Area size: 37.453006
    Area size: 92.332882
    Area size: 12.500604
    Number of areas in shape: 5 - Area: 258.934057
    Area size: 258.934057
    Area size: 92.332882
    Area size: 12.500604
    Number of areas in shape: 3 - Area: 37.453006
    Area size: 31.115489
    Area size: 62.330184
    Area size: 258.934057
    Area size: 37.453006
    Area size: 12.500604
    Number of areas in shape: 5 - Area: 92.332882
    Area size: 258.934057
    Area size: 37.453006
    Area size: 92.332882
    Number of areas in shape: 3 - Area: 12.500604
    
    

    Regards,

    Jeff Bielefeld [Bentley]



  • This is the same result that I get also with the older versions.
    But that is not what I need!

    1. I want to select all the outer shapes (yellow temporary occupation areas) - the script should find out the only one shape (servitude) , that is inside the yellow, outer shape. The script now shows shapes on the left, right, top, bottom.

    2. a solution would be if the script would understand negative buffer distance e.g. -0.50 m, but that is not the case

    3. the other workaround is to manually duplicate all outer shapes with 0.5 m offset, then the script works with "OVERLAP".

    The script is just a preliminary step to the desired result: I need to copy some DB - ODBC data attached to the inner shape to the DB record attached to the outer shape. It must be guaranteed that the match the shape to one another (1:1).

    If you have some other idea I would be grateful. e.g. mvba ?

    Regards
    Josef
  • Dear Mr. Jeff Bielefeld,
    I am waiting for a solution that is workable.
    Regards,
    Josef.