The network solver returns me the error : No "Destinations" found for "XXXX" in "Origins", for 101 items

446
1
08-06-2023 08:00 AM
AngelaCimini
New Contributor

Hi, I premise that I am new to the field of network analysis. I want to know the distance between many source points and nearest points of interest using open street map data and considering the "walking" travel mode. First, I downloaded the data of my area of interest (Rome) using ArcGIS Editor for OpenStreetMap. Then I created my network by editing the sample xml file located in the "ND_ConfigFiles" folder of the program. At this stage, not being an expert in networks and scripts, I just cleaned up the example file to define a walkable network (you can find it attached). So I created my cost matrix OD, entering the origins (31924 points circles) and destination (27501 points squares). When the network solver finishes it returns me 101 WARNING message 030025: Partial solution generated i.e.  No "Destinations" found for "XXXX" in "Origins". Attached is a screen shot of the points for which destinations were not found. I don't know exactly what the reason is and especially how I can detect any connection problems in my network and solve them. 

I hope you can help me, thank you in advance for your support

AngelaCimini_0-1691333818917.png

<?xml version="1.0" encoding="utf-8"?>
<!--
Network Configuration for a generic walk routing network
- This configuration incurs a runtime performance penalty by using the slower Script evaluators,
  but will work with more coordinate systems
 
OSM Tags:
    - highway:      walk navigable roads
-->
<networkConfiguration>
    <edge>
        <name>roads</name>
        <connect_policy>AnyVertex</connect_policy>        
        <query>(highway IS NOT NULL) AND (LOWER(highway) in ('primary', 'primary_link', 'secondary', 'secondary_link', 'tertiary', 'tertiary_link', 'unclassified', 'residential', 'service', 'cycleway', 'cyclestreet', 'bicycle_road', 'footway', 'pedestrian', 'path','sidewalk','steps','track','construction','escape','bridleway','living_street'))</query>
        <street_name_fields>
            <direction_prefix></direction_prefix>
            <type_prefix></type_prefix>
            <street_name>osm_name</street_name>
            <direction_suffix></direction_suffix>
            <type_suffix></type_suffix>
        </street_name_fields>
    </edge>

    <junction>
        <name>barriers</name>
        <connect_policy>Override</connect_policy>
        <osm_fields>
            <osm_field>access</osm_field>
        </osm_fields>
        <query>(barrier IS NOT NULL) AND (LOWER(barrier) in ('block','bollard','chain','debris','jersey_barrier','lift_gate','log','spikes','swing_gate'))</query>
    </junction>

    <connectivity>
        <group>
            <source>roads</source>
            <source>barriers</source>            
        </group>
    </connectivity>

    <directions>
        <length_attr>Length</length_attr>
        <length_units>Meters</length_units>                
    </directions>

    <network>      
        <!-- Attributo TravelTime con distanza Length - cost -->
        <network_attribute>
            <name>Length</name>
            <default_value>0</default_value>
            <cost useAsDefault="false">
                <units>Meters</units>
                <datatype>double</datatype>
                <evaluator_attributes>
                    <source>roads</source>
                    <direction>From-To</direction>
                    <Field script_type="VBScript">
                        <expression>[SHAPE]</expression>
                    </Field>
                </evaluator_attributes>
                <evaluator_attributes>
                    <source>roads</source>
                    <direction>To-From</direction>
                    <Field script_type="VBScript">
                        <expression>[SHAPE]</expression>
                    </Field>
                </evaluator_attributes>
            </cost>
        </network_attribute>
    </network>
</networkConfiguration>

 

 

0 Kudos
1 Reply
MelindaMorang
Esri Regular Contributor

This warning means that some origins couldn't find any destinations.  Either the origin is located on part of the network that's completely disconnected from where any of the destinations are located, or none of the destinations were close enough (if you're using an impedance cutoff).  Example: You used an impedance cutoff of 10km, and the closest destination is 11km away.

It's possible that there is no problem here and the origins are just far away or on an island or something.  It's also possible that your underlying network geometry has some problems that need to be resolved.

One good way to start diagnosing the problem is to do a Service Area analysis for each of the origins that didn't find any destinations.  If you use the Lines option for the output, you can see which streets in the network are connected to the origin and may be able to easily identify disconnected areas.  Service Area tutorial: https://pro.arcgis.com/en/pro-app/latest/help/analysis/networks/service-area-tutorial.htm 

You can use the Explore Network tool to investigate problem areas in more detail. https://pro.arcgis.com/en/pro-app/latest/help/analysis/networks/explore-network.htm

We also have a little downloadable tool you can use to identify disconnected areas of the network: https://www.arcgis.com/home/item.html?id=b2227f745a6c4e1c94dd57810729d2a9 

Since you're using OpenStreetMap, be sure to check your network dataset's connectivity policy.  Usually OpenStreetMap has long street features that extend through many intersections and have vertices there instead of endpoints, so you need to use Any Vertex connectivity. https://pro.arcgis.com/en/pro-app/latest/help/analysis/networks/understanding-connectivity.htm

Finally, although you didn't ask this specifically, if you find that solving your OD Cost Matrix is too slow, you might find this tool useful: https://github.com/Esri/large-network-analysis-tools 

0 Kudos