Skip to content

Minor fix in documentation  #9

Description

@kcf-jackson

Hi Andrew,

Thank you for the amazing work on building simulation systems on real-world maps.

I would like to report two minor issues regarding the documentation.

Issue 1
In the documentation, under the section Generating buildings (and also the devdocs version), the bounding box is listed as the second argument

agentmap.buildingify(my_data, [[43.3071, -88.0158], [43.2884, -87.9759]]);

but in the implementation, it seems to be the first argument

function buildingify(bounding_box, OSM_data, street_options, unit_options, unit_layers, street_layers) {

The same issue also appears in the quick start guide.

As a result, the console throws an error Uncaught TypeError: OSM_data.features is undefined when the example is ran.

How to reproduce it: Here is the relevant HTML file.

<!DOCTYPE HTML>
<html>
<head>
<link rel="stylesheet" href="https://unpkg.com/leaflet@1.6.0/dist/leaflet.css"
   integrity="sha512-xwE/Az9zrjBIphAcBb3F6JVqxf46+CDLwfLMHloNu6KEQCAWi6HcDUbeOfBIptF7tcCzusKFjFw2yuvEpDL9wQ=="
   crossorigin=""/>
<script src="https://unpkg.com/leaflet@1.6.0/dist/leaflet.js"
   integrity="sha512-gZwIG9x3wUXg2hdXF6+rVkLF/0Vi9U8D2Ntg4Ga5I5BZpVkVxlJWbSQtXPSiUTtC0TjtGOmxa1AJPuV0CPthew=="
   crossorigin=""></script>
<script src="https://noncomputable.github.io/AgentMaps/resources/map_data.js"></script>
<script src="https://unpkg.com/agentmaps@2/site/dist/agentmaps.js"></script>
</head>

<body>
<div id="demo_map" style="height:400px"></div>

<script>
    let bounding_points = [[39.9058, -86.0910], [39.8992, -86.1017]]; 
    let leaflet_map = L.map("demo_map").fitBounds(bounding_points);
    L.tileLayer(
        "http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", 
        { attribution: "Thanks to <a href=\"http://openstreetmap.org\">OpenStreetMap</a> community" }
    ).addTo(leaflet_map);
    let agentmap = L.A.agentmap(leaflet_map);
    agentmap.buildingify(map_data, bounding_points);
</script>
</body>
</html>

How to see it: Open the html file and check the error in the console.
Expected behavior: Bounding box should come first in the documentation.
More details: N/A

Issue 2
In the quick start guide, near the bottom,

agentmap.controller = function() {
    if (agentmap.state.ticks % 300 === 0) {
        agentmap.agents.eachLayer(function(agent) {
            let random_index = Math.floor(agentmap.units.count() * Math.random()),
            random_unit = agentmap.units.getLayers()[random_index],
            random_unit_id = agentmap.units.getLayerId(random_unit),
            random_unit_center = random_unit.getBounds().getCenter();

            agent.scheduleTrip(random_unit_center, {type: "unit", id: random_unit_id}, 1, false, true);
        }
    }

    agent.moveIt();
}

In the agent.moveIt() line, agent is not bounded. The console throws Uncaught ReferenceError: agent is not defined. Also there is a missing closing round bracket three lines above. Just a typo.

How to reproduce it: Continuing from the last HTML, add to the last script tag

    // continue from the HTML above
    agentmap.buildingify(bounding_points, map_data);   // This line is fixed.
    agentmap.agentify(50, agentmap.seqUnitAgentMaker)
    agentmap.controller = function() {
        if (agentmap.state.ticks % 300 == 0) {
            agentmap.agents.eachLayer(function(agent) {
                let random_index = Math.floor(agentmap.units.count() * Math.random()),
                    random_unit = agentmap.units.getLayers()[random_index],
                    random_unit_id = agentmap.units.getLayerId(random_unit),
                    random_unit_center = random_unit.getBounds().getCenter()
                agent.scheduleTrip(random_unit_center, { type: "unit", id: random_unit_id }, 1, false, true)
            })  // adds a closed round bracket here
        }
    agent.moveIt()
}
agentmap.run()

How to see it: Open the HTML file and check the error in the console.
Expected behavior: agent.moveIt() should be

agentmap.agents.eachLayer(function(agent) { agent.moveIt(); } )

More details: N/A

Thank you again for your work. Your doc explains the library so well. It is among the best I have seen.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions