MapInfo Pro

Welcome to the MapInfo Pro community!  Please feel free to start a discussion in the discussion tab or join in a conversation.

Here are some useful links where you can find more information:

Product Announcements  Product Documentation  Ideas Portal

Discussions

Members

Resources

Events

 View Only

How can you spatially join non-intersecting points from two different layers?

  • 1.  How can you spatially join non-intersecting points from two different layers?

    Posted 03-07-2018 06:35


  • 2.  RE: How can you spatially join non-intersecting points from two different layers?

    Posted 03-07-2018 02:27

    Perhaps I should re-phrase the question. How do I join nearest neighbours in two non-intersecting point tables??



  • 3.  RE: How can you spatially join non-intersecting points from two different layers?

    Employee
    Posted 03-09-2018 00:37

    Hi Angelene,

    Hmm, if I understand correctly, you have two tables consisting of points - table A and table B. They are non-intersecting but do they have anything in common such as a common ID column?

    By joining, what is your intended goal? e.g. to produce a table which selects all objects from table B which are within a certain radius of objects from table A?

    This was also unclear to me from your question, but were you trying to do this in MapInfo Pro?

    Thanks,

    Dave



  • 4.  RE: How can you spatially join non-intersecting points from two different layers?

    Posted 03-09-2018 01:04
    Hi Dave Yes I’m using MapInfo Pro. Unfortunately they do not have any common column as such. That would have made things easier. There is only a ‘commonality’ in a string field which I don’t think could be used? Table A [cid:image002.jpg@01D3B7BF.A50EE650] Table B [cid:image008.jpg@01D3B7C0.2D3C5990] They both contain chainage data and I wanted to compare their alignment in terms of a measure of distance along a road as I can see they are not equal. Table A has points 10 to 12m apart. Table B has points every 1m. So yes I want to select points from Table B that are within a radius of the points in Table A. I ended up running 2 buffers on table A. One at 0.5 meter radius and one at 1.0m radius and then joined where the buffer intersected points from Table B and used this to update a column in Table A. I would have thought there would be a simpler and quicker way to do this using the update column and join function (as below). [cid:image007.png@01D3B7BF.49493F50] Angelene Wright Asset/GIS Officer South Burnett Regional Council PO Box 336 Kingaroy QLD 4610 ' 07 4189 9537 • awright@southburnett.qld.gov.au : www.southburnett.qld.gov.au [Description: Description: sbrcBar] DISCLAIMER: This electronic mail message is intended only for the addressee and may contain confidential information. If you are not the addressee, you are notified that any transmission, distribution or photocopying of this email is strictly prohibited. The confidentiality attached to this email is not waived, lost or destroyed by reasons of a mistaken delivery to you. The information contained in this email transmission may also be subject to Right to Information and Information Privacy legislation.


  • 5.  RE: How can you spatially join non-intersecting points from two different layers?

    Employee
    Posted 03-09-2018 01:47

    Unfortunately your attachment (screenshots?) did not come through for me in your reply above. Is it possible you could attach them using the attach option below when posting on here?

    Alternatively, it might be easier if you could copy and paste all the contents into a word document and share the document via the attach option along with your packaged sample data so that I may take a closer look at it on our end?

    Thanks,

    Dave



  • 6.  RE: How can you spatially join non-intersecting points from two different layers?

    Posted 03-09-2018 01:52
      |   view attached

    CaptureTable A



  • 7.  RE: How can you spatially join non-intersecting points from two different layers?

    Posted 03-09-2018 01:52
      |   view attached

    Capture 2Table B



  • 8.  RE: How can you spatially join non-intersecting points from two different layers?

    Posted 03-09-2018 01:53

     

    I thought there would be more options here?



  • 9.  RE: How can you spatially join non-intersecting points from two different layers?

    Posted 03-09-2018 01:58
      |   view attached

    Specify Join



  • 10.  RE: How can you spatially join non-intersecting points from two different layers?

    Posted 03-09-2018 02:06
      |   view attached

    Capture 3The star symbol represents Table A, the red dots represent Table B and the green line is a road centreline



  • 11.  RE: How can you spatially join non-intersecting points from two different layers?

    Posted 03-09-2018 02:08
      |   view attached

    Here is a small sample of the data as the files are huge.?

    Attachment(s)

    zip
    Road Centrelines.zip   1.23 MB 1 version


  • 12.  RE: How can you spatially join non-intersecting points from two different layers?

    Posted 03-09-2018 02:08

    Thanks for looking at this Dave!?



  • 13.  RE: How can you spatially join non-intersecting points from two different layers?

    Employee
    Posted 03-11-2018 18:45
      |   view attached

    Thanks for attaching all the screenshots and sample data Angelene. I've taken a look and tested a few things on my end. Not a complete solution, but the first part of the process which involves creating buffers to select records from Table B within specific radius of objects from Table A can be achieved via 'SQL Select' by using the following statement:

    obj within any (Select buffer(RACAS_Points.obj, 100, 1, "m") from RACAS_Points)

     

    100 = buffer resolution or smoothness (can specify up to 500)

    1 = radius of buffer

    m = units of measurement (metres in this case)

     

    This query will produce a selection table of records from Table B within 1m radius of objects from Table A.

    ScreenHunter 63

    Using this method will avoid physically having to create the buffer objects, as the buffers are created on the fly temporarily in the background to satisfy the SQL Select conditions only, if that makes sense.More detailed information about this specific SQL Select function can be found in the following KB article below.

    https://li360.pitneybowes.com/s/article/Query-Ninja-Using-the-Buffer-function-in-a-sub-select

    Unfortunately, as you have probably already discovered, the tables cannot be joined in their current form due to the lack of common identifiers such as an ID column and non-intersecting geographic location.

    Hope this information helps somewhat!

    Dave



  • 14.  RE: How can you spatially join non-intersecting points from two different layers?

    Posted 03-11-2018 18:50
    HI Dave Thanks very much. That’s really helpful. Regards Angelene Angelene Wright Asset/GIS Officer South Burnett Regional Council PO Box 336 Kingaroy QLD 4610 ' 07 4189 9537 • awright@southburnett.qld.gov.au : www.southburnett.qld.gov.au [Description: Description: sbrcBar] DISCLAIMER: This electronic mail message is intended only for the addressee and may contain confidential information. If you are not the addressee, you are notified that any transmission, distribution or photocopying of this email is strictly prohibited. The confidentiality attached to this email is not waived, lost or destroyed by reasons of a mistaken delivery to you. The information contained in this email transmission may also be subject to Right to Information and Information Privacy legislation.


  • 15.  RE: How can you spatially join non-intersecting points from two different layers?

    Posted 03-16-2018 01:22

    The buffer solution helped me answer the immediate question and ?I'm now wanting to extend this further by measuring the actual distance from origin of the RACAS coords (points) along the road centreline to get an accurate measure of distance. Additionally the 2 different chainage tools I've been using are showing some variance ie. not plotting points at exactly every metre along the centreline. Some are over, some are under and some are exact. How do I measure distance from origin for the RACAS coords (points)?