<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic SQL: Select duplicate linear referencing events, including near-duplicate FROM_MEAS and TO_MEAS in ArcGIS Roads and Highways Questions</title>
    <link>https://community.esri.com/t5/arcgis-roads-and-highways-questions/sql-select-duplicate-linear-referencing-events/m-p/1223115#M276</link>
    <description>&lt;P&gt;This post might interest linear referencing folks — as a way to find possible duplicate LRS events:&lt;/P&gt;&lt;P&gt;&lt;A href="https://stackoverflow.com/questions/74114172/select-duplicates-including-near-duplicate-numbers" target="_self"&gt;Select duplicates (including near-duplicate numbers)&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Summary:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;I want to select rows where the ROAD_ID, YEAR_, STATUS, FROM_MEASURES, and TO_MEASURES are duplicated.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;In the case of FROM_MEASURES and TO_MEASURES, I want to use a 5 metre tolerance. For example, these TO_MEASURES would be considered duplicates: 200.6, 199.3, and 201.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;PRE&gt;PROJ_ID    ROAD_ID      YEAR_ STATUS   FROM_MEASURE TO_MEASURE
&lt;SPAN class=""&gt;---------- ---------- ---------- -------- ------------ ----------&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;100&lt;/SPAN&gt;          &lt;SPAN class=""&gt;1&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2022&lt;/SPAN&gt; APPROVED         &lt;SPAN class=""&gt;null&lt;/SPAN&gt;      &lt;SPAN class=""&gt;100.1&lt;/SPAN&gt; &lt;SPAN class=""&gt;--duplicates (other than PROJ_ID); null is to be treated as zero&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;101&lt;/SPAN&gt;          &lt;SPAN class=""&gt;1&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2022&lt;/SPAN&gt; APPROVED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;      &lt;SPAN class=""&gt;100.1&lt;/SPAN&gt;

       &lt;SPAN class=""&gt;102&lt;/SPAN&gt;          &lt;SPAN class=""&gt;1&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2022&lt;/SPAN&gt; APPROVED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;      &lt;SPAN class=""&gt;200.6&lt;/SPAN&gt; &lt;SPAN class=""&gt;--duplicates: TO_MEASURES are approximately the same (within a 5 metre tolerance)&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;103&lt;/SPAN&gt;          &lt;SPAN class=""&gt;1&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2022&lt;/SPAN&gt; APPROVED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;      &lt;SPAN class=""&gt;199.3&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;104&lt;/SPAN&gt;          &lt;SPAN class=""&gt;1&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2022&lt;/SPAN&gt; APPROVED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;        &lt;SPAN class=""&gt;201&lt;/SPAN&gt;

       &lt;SPAN class=""&gt;105&lt;/SPAN&gt;          &lt;SPAN class=""&gt;2&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2023&lt;/SPAN&gt; PROPOSED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;         &lt;SPAN class=""&gt;50&lt;/SPAN&gt; &lt;SPAN class=""&gt;--not duplicates: FROM_MEASURES are different and TO_MEASURES are different&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;106&lt;/SPAN&gt;          &lt;SPAN class=""&gt;2&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2023&lt;/SPAN&gt; PROPOSED           &lt;SPAN class=""&gt;75&lt;/SPAN&gt;        &lt;SPAN class=""&gt;100&lt;/SPAN&gt;

       &lt;SPAN class=""&gt;107&lt;/SPAN&gt;          &lt;SPAN class=""&gt;3&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2024&lt;/SPAN&gt; DEFERRED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;        &lt;SPAN class=""&gt;100&lt;/SPAN&gt; &lt;SPAN class=""&gt;--not duplicates: YEARS are different and TO_MEASURES are different&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;108&lt;/SPAN&gt;          &lt;SPAN class=""&gt;3&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2025&lt;/SPAN&gt; DEFERRED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;        &lt;SPAN class=""&gt;110&lt;/SPAN&gt;

       &lt;SPAN class=""&gt;109&lt;/SPAN&gt;          &lt;SPAN class=""&gt;4&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2026&lt;/SPAN&gt; PROPOSED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;       &lt;SPAN class=""&gt;null&lt;/SPAN&gt;  &lt;SPAN class=""&gt;--not duplicates: STATUSES are different&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;110&lt;/SPAN&gt;          &lt;SPAN class=""&gt;4&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2026&lt;/SPAN&gt; DEFERRED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;       &lt;SPAN class=""&gt;null&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;Solution:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;select&lt;/SPAN&gt; &lt;SPAN class=""&gt;*&lt;/SPAN&gt; &lt;SPAN class=""&gt;from&lt;/SPAN&gt; road_projects rp
&lt;SPAN class=""&gt;where&lt;/SPAN&gt; &lt;SPAN class=""&gt;exists&lt;/SPAN&gt; (
  &lt;SPAN class=""&gt;select&lt;/SPAN&gt; &lt;SPAN class=""&gt;null&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;from&lt;/SPAN&gt; road_projects rp2
  &lt;SPAN class=""&gt;where&lt;/SPAN&gt; rp2.proj_id &lt;SPAN class=""&gt;!=&lt;/SPAN&gt; rp.proj_id
  &lt;SPAN class=""&gt;and&lt;/SPAN&gt; rp2.road_id &lt;SPAN class=""&gt;=&lt;/SPAN&gt; rp.road_id
  &lt;SPAN class=""&gt;and&lt;/SPAN&gt; rp2.year_ &lt;SPAN class=""&gt;=&lt;/SPAN&gt; rp.year_
  &lt;SPAN class=""&gt;and&lt;/SPAN&gt; rp2.status &lt;SPAN class=""&gt;=&lt;/SPAN&gt; rp.status
  &lt;SPAN class=""&gt;and&lt;/SPAN&gt; &lt;SPAN class=""&gt;abs&lt;/SPAN&gt;(&lt;SPAN class=""&gt;coalesce&lt;/SPAN&gt;(rp2.from_measure, &lt;SPAN class=""&gt;0&lt;/SPAN&gt;) &lt;SPAN class=""&gt;-&lt;/SPAN&gt; &lt;SPAN class=""&gt;coalesce&lt;/SPAN&gt;(rp.from_measure, &lt;SPAN class=""&gt;0&lt;/SPAN&gt;)) &lt;SPAN class=""&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class=""&gt;5&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;and&lt;/SPAN&gt; &lt;SPAN class=""&gt;abs&lt;/SPAN&gt;(&lt;SPAN class=""&gt;coalesce&lt;/SPAN&gt;(rp2.to_measure, &lt;SPAN class=""&gt;0&lt;/SPAN&gt;) &lt;SPAN class=""&gt;-&lt;/SPAN&gt; &lt;SPAN class=""&gt;coalesce&lt;/SPAN&gt;(rp.to_measure, &lt;SPAN class=""&gt;0&lt;/SPAN&gt;)) &lt;SPAN class=""&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class=""&gt;5&lt;/SPAN&gt;
)
&lt;SPAN class=""&gt;order&lt;/SPAN&gt; &lt;SPAN class=""&gt;by&lt;/SPAN&gt; proj_id&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="52D7861C-F33E-4217-B91A-D3703D4FB8D1.jpeg" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/53902iE32D6046CB3F6988/image-size/medium?v=v2&amp;amp;px=400" role="button" title="52D7861C-F33E-4217-B91A-D3703D4FB8D1.jpeg" alt="52D7861C-F33E-4217-B91A-D3703D4FB8D1.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://dbfiddle.uk/P8546DYs" target="_blank" rel="nofollow noopener noreferrer"&gt;fiddle&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
    <pubDate>Wed, 19 Jun 2024 15:11:03 GMT</pubDate>
    <dc:creator>Bud</dc:creator>
    <dc:date>2024-06-19T15:11:03Z</dc:date>
    <item>
      <title>SQL: Select duplicate linear referencing events, including near-duplicate FROM_MEAS and TO_MEAS</title>
      <link>https://community.esri.com/t5/arcgis-roads-and-highways-questions/sql-select-duplicate-linear-referencing-events/m-p/1223115#M276</link>
      <description>&lt;P&gt;This post might interest linear referencing folks — as a way to find possible duplicate LRS events:&lt;/P&gt;&lt;P&gt;&lt;A href="https://stackoverflow.com/questions/74114172/select-duplicates-including-near-duplicate-numbers" target="_self"&gt;Select duplicates (including near-duplicate numbers)&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Summary:&lt;/P&gt;&lt;BLOCKQUOTE&gt;&lt;P&gt;I want to select rows where the ROAD_ID, YEAR_, STATUS, FROM_MEASURES, and TO_MEASURES are duplicated.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;In the case of FROM_MEASURES and TO_MEASURES, I want to use a 5 metre tolerance. For example, these TO_MEASURES would be considered duplicates: 200.6, 199.3, and 201.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;PRE&gt;PROJ_ID    ROAD_ID      YEAR_ STATUS   FROM_MEASURE TO_MEASURE
&lt;SPAN class=""&gt;---------- ---------- ---------- -------- ------------ ----------&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;100&lt;/SPAN&gt;          &lt;SPAN class=""&gt;1&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2022&lt;/SPAN&gt; APPROVED         &lt;SPAN class=""&gt;null&lt;/SPAN&gt;      &lt;SPAN class=""&gt;100.1&lt;/SPAN&gt; &lt;SPAN class=""&gt;--duplicates (other than PROJ_ID); null is to be treated as zero&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;101&lt;/SPAN&gt;          &lt;SPAN class=""&gt;1&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2022&lt;/SPAN&gt; APPROVED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;      &lt;SPAN class=""&gt;100.1&lt;/SPAN&gt;

       &lt;SPAN class=""&gt;102&lt;/SPAN&gt;          &lt;SPAN class=""&gt;1&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2022&lt;/SPAN&gt; APPROVED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;      &lt;SPAN class=""&gt;200.6&lt;/SPAN&gt; &lt;SPAN class=""&gt;--duplicates: TO_MEASURES are approximately the same (within a 5 metre tolerance)&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;103&lt;/SPAN&gt;          &lt;SPAN class=""&gt;1&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2022&lt;/SPAN&gt; APPROVED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;      &lt;SPAN class=""&gt;199.3&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;104&lt;/SPAN&gt;          &lt;SPAN class=""&gt;1&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2022&lt;/SPAN&gt; APPROVED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;        &lt;SPAN class=""&gt;201&lt;/SPAN&gt;

       &lt;SPAN class=""&gt;105&lt;/SPAN&gt;          &lt;SPAN class=""&gt;2&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2023&lt;/SPAN&gt; PROPOSED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;         &lt;SPAN class=""&gt;50&lt;/SPAN&gt; &lt;SPAN class=""&gt;--not duplicates: FROM_MEASURES are different and TO_MEASURES are different&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;106&lt;/SPAN&gt;          &lt;SPAN class=""&gt;2&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2023&lt;/SPAN&gt; PROPOSED           &lt;SPAN class=""&gt;75&lt;/SPAN&gt;        &lt;SPAN class=""&gt;100&lt;/SPAN&gt;

       &lt;SPAN class=""&gt;107&lt;/SPAN&gt;          &lt;SPAN class=""&gt;3&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2024&lt;/SPAN&gt; DEFERRED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;        &lt;SPAN class=""&gt;100&lt;/SPAN&gt; &lt;SPAN class=""&gt;--not duplicates: YEARS are different and TO_MEASURES are different&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;108&lt;/SPAN&gt;          &lt;SPAN class=""&gt;3&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2025&lt;/SPAN&gt; DEFERRED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;        &lt;SPAN class=""&gt;110&lt;/SPAN&gt;

       &lt;SPAN class=""&gt;109&lt;/SPAN&gt;          &lt;SPAN class=""&gt;4&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2026&lt;/SPAN&gt; PROPOSED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;       &lt;SPAN class=""&gt;null&lt;/SPAN&gt;  &lt;SPAN class=""&gt;--not duplicates: STATUSES are different&lt;/SPAN&gt;
       &lt;SPAN class=""&gt;110&lt;/SPAN&gt;          &lt;SPAN class=""&gt;4&lt;/SPAN&gt;       &lt;SPAN class=""&gt;2026&lt;/SPAN&gt; DEFERRED            &lt;SPAN class=""&gt;0&lt;/SPAN&gt;       &lt;SPAN class=""&gt;null&lt;/SPAN&gt;&lt;/PRE&gt;&lt;P&gt;Solution:&lt;/P&gt;&lt;PRE&gt;&lt;SPAN class=""&gt;select&lt;/SPAN&gt; &lt;SPAN class=""&gt;*&lt;/SPAN&gt; &lt;SPAN class=""&gt;from&lt;/SPAN&gt; road_projects rp
&lt;SPAN class=""&gt;where&lt;/SPAN&gt; &lt;SPAN class=""&gt;exists&lt;/SPAN&gt; (
  &lt;SPAN class=""&gt;select&lt;/SPAN&gt; &lt;SPAN class=""&gt;null&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;from&lt;/SPAN&gt; road_projects rp2
  &lt;SPAN class=""&gt;where&lt;/SPAN&gt; rp2.proj_id &lt;SPAN class=""&gt;!=&lt;/SPAN&gt; rp.proj_id
  &lt;SPAN class=""&gt;and&lt;/SPAN&gt; rp2.road_id &lt;SPAN class=""&gt;=&lt;/SPAN&gt; rp.road_id
  &lt;SPAN class=""&gt;and&lt;/SPAN&gt; rp2.year_ &lt;SPAN class=""&gt;=&lt;/SPAN&gt; rp.year_
  &lt;SPAN class=""&gt;and&lt;/SPAN&gt; rp2.status &lt;SPAN class=""&gt;=&lt;/SPAN&gt; rp.status
  &lt;SPAN class=""&gt;and&lt;/SPAN&gt; &lt;SPAN class=""&gt;abs&lt;/SPAN&gt;(&lt;SPAN class=""&gt;coalesce&lt;/SPAN&gt;(rp2.from_measure, &lt;SPAN class=""&gt;0&lt;/SPAN&gt;) &lt;SPAN class=""&gt;-&lt;/SPAN&gt; &lt;SPAN class=""&gt;coalesce&lt;/SPAN&gt;(rp.from_measure, &lt;SPAN class=""&gt;0&lt;/SPAN&gt;)) &lt;SPAN class=""&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class=""&gt;5&lt;/SPAN&gt;
  &lt;SPAN class=""&gt;and&lt;/SPAN&gt; &lt;SPAN class=""&gt;abs&lt;/SPAN&gt;(&lt;SPAN class=""&gt;coalesce&lt;/SPAN&gt;(rp2.to_measure, &lt;SPAN class=""&gt;0&lt;/SPAN&gt;) &lt;SPAN class=""&gt;-&lt;/SPAN&gt; &lt;SPAN class=""&gt;coalesce&lt;/SPAN&gt;(rp.to_measure, &lt;SPAN class=""&gt;0&lt;/SPAN&gt;)) &lt;SPAN class=""&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class=""&gt;5&lt;/SPAN&gt;
)
&lt;SPAN class=""&gt;order&lt;/SPAN&gt; &lt;SPAN class=""&gt;by&lt;/SPAN&gt; proj_id&lt;/PRE&gt;&lt;DIV class=""&gt;&amp;nbsp;&lt;/DIV&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="52D7861C-F33E-4217-B91A-D3703D4FB8D1.jpeg" style="width: 400px;"&gt;&lt;img src="https://community.esri.com/t5/image/serverpage/image-id/53902iE32D6046CB3F6988/image-size/medium?v=v2&amp;amp;px=400" role="button" title="52D7861C-F33E-4217-B91A-D3703D4FB8D1.jpeg" alt="52D7861C-F33E-4217-B91A-D3703D4FB8D1.jpeg" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="https://dbfiddle.uk/P8546DYs" target="_blank" rel="nofollow noopener noreferrer"&gt;fiddle&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 19 Jun 2024 15:11:03 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcgis-roads-and-highways-questions/sql-select-duplicate-linear-referencing-events/m-p/1223115#M276</guid>
      <dc:creator>Bud</dc:creator>
      <dc:date>2024-06-19T15:11:03Z</dc:date>
    </item>
  </channel>
</rss>

