Every Building

Plan

Building a path: a road, the blocks beside it, and the steps that shape both.

A path is a road plus the blocks you want photographed. You build it as a short list of steps, each working on the result of the ones above it.

The screen

  • The path column on the left lists the steps, the reference overlays, and (once the path is saved) its captures and prints.
  • Clicking a step opens that step's settings in a second column beside it. Clicking the step again closes them.
  • The map shows the result. The toolbar above it has two toggles, Path and Step, that hide and show the two columns, and it reports the path's length, block count and approximate shot count.
The Plan stage: the path column, the settings of the first step, and the map
Plan with the first step open. The map shows the road and the blocks the path covers.

Saving

There is no Save button. A path is saved to the Library as soon as it has a road, and again after every change. The line under the path's name says where it stands:

The line readsMeaning
not saved yet · compose a roadA new path with no road. It is kept as a draft in this browser and listed in the Library as Draft
saving…A change is being written
rev 3 · autosavedSaved. The revision number goes up with each saved change
could not saveWriting to browser storage failed. Hover the line for the reason

Undo and redo cover the whole path: the two arrows above the steps, or ⌘Z and ⌘⇧Z.

Composing a road

Compose Road is where a path starts.

  1. Type into Search streets.... Up to ten matching streets are listed. Hovering one shows it on the map. Names are written as the city data has them (W END AVE, W 14 ST), but "West End Avenue" or "14th Street" finds them too. In Manhattan, an avenue that changes its name at 59th Street is listed with its other name: 11 Ave with West End Ave, 10 Ave with Amsterdam Ave, 9 Ave with Columbus Ave, 8 Ave with Central Park West. They are separate streets; add both for a route that crosses 59th Street.
  2. A street that the data holds as one piece is added on click.
  3. A street in several pieces opens a picker. Each piece is lettered on the map and in the list, with its length and the direction it runs. Tick pieces in the list or click them on the map, then press Add N chosen pieces. Use whole street takes all of them.

When the picker shows two ways of splitting the street,

Sharp bends only keeps a street together through gentle bends and Every bend starts a new piece at each one. Very short pieces are hidden until you tick Show N short stubs under 300 ft.

Chosen streets appear as chips. The cross on a chip removes the street. With two or more streets, Color paths differently gives each its own colour on the map.

Drawing a road

Draw Road adds a road you draw on the map to the road of the steps above it. On its own, with Compose Road left empty, it is the whole road; after a street added by name, it carries the road on where no named street does. The step holds one road, drawn as points joined by curves, and every part of it can be changed afterwards. A drag on the map away from the road always moves the map.

  • Placing points. Click on the map to start the road. While an end point is selected (filled black), each click carries the road on from that end, so clicking along a street draws it. Esc lets go of the selection.
  • Freehand. With Freehand on, a drag draws; when you let go, the stroke is turned into points and curves and joined to the nearer end of the road (begin on an end point to carry it on from there). Hold Space to move the map while it is on.
  • Loops. With one end selected, click the other end to close the road into a loop, round a block or a park; a freehand stroke that ends on the other end closes it too, and so does Loop (from three points). A loop has no ends, so clicks on the map and Freehand do nothing until it is opened again with Loop, between its last point and its first. Everything else shapes it as before. Where the loop starts is chosen so that no street is split in two there; Extend Ends leaves a loop as it is.
  • Shaping. Drag a point to move it. Drag the line between two points to bend it through the pointer. Click the line to add a point there without changing the shape.
  • Curves. A point is a corner or smooth. Double-click a point, or choose Corner or Smooth under it in the step's settings, to switch. A selected point shows its handles; drag one to change the curve. The other handle of a smooth point turns with it; hold Alt to move one alone.
  • Removing. Delete removes the selected point, as does Remove. The bin clears the road; ⌘Z undoes as anywhere else.

The road, its points and the selected point's handles are drawn in black over everything else while the step is open, and the pointer shows what a press will do: move a point, add one on the line, or carry the road on.

Where the road follows a street, near it and running the same way, it is matched to that street. Follows lists the streets matched and how much of the road is on each. With Snap to streets on (as it starts), a matched stretch is put on the street's own centerline: the camera follows the street, not your drawing, and every step after it treats the road as that street.

So Query Blocks collects its blocks, and First Row Only and the step Filter by Side work on them as for a street added by name, while Cross Street Range lists its cross streets. A stretch that follows no street, across a plaza or a park, stays as drawn and is listed as following no street; Query Blocks takes the blocks along it, as it does for a Virtual Road. With Snap to streets off, the road is the line exactly as drawn, though Cross Street Range then finds no cross streets on it.

Editing the road by hand

Edit Road changes the road of the steps above it at the places you choose. Choose a tool, then press on the road on the map; a drag anywhere else moves the map.

  • Bend: press on the road and drag. The road goes through where you let go and eases back onto its old line over Bend reach (m) either way.
  • Reroute: press on the road, draw the new way, and let go back on the road. The stretch between is replaced by what you drew. With Snap reroutes to streets on, a reroute that follows a street is put on it, as in Draw Road, and Query Blocks takes that street's blocks.
  • Cut: click where the cut begins on the road, then where it ends. The stretch between is taken out of the road; First Row Only then drops the blocks along it. A cut in a loop opens it: the road then runs from the cut's end all the way round to its start.

Esc drops an edit under way. The road as it reaches the step is drawn thin and dashed under the edited one, and each edit's places are marked: a bend where it was taken to, a reroute and a cut at both ends. Drag a mark to change its edit: a bend follows it, and a reroute or cut begins or ends where you let go.

The edits are kept as a list, not as a changed copy of the road: each holds only the places on the map it was made at. Every time the path is worked out, the edits are made again, in order, on the road the steps above give. So if you change a step above (another street, a different range), the edits that still meet the road are kept. One whose places are no longer within 30 m of the road is skipped and marked in the list as not meeting the road, and its places turn red on the map; it applies again if the road comes back. The cross beside an edit removes it.

The steps

Add step inserts a step after the selected one.

StepWhat it doesSettings
Compose RoadMakes the road from named streetsThe streets and pieces
Draw RoadAdds a road drawn on the mapThe road, Loop, Snap to streets
Edit RoadBends, reroutes or cuts the road by handThe edits, Bend reach (m), Snap reroutes to streets
Cross Street RangeCuts the road to the stretch between two of its cross streetsFrom and To: a cross street from its list, or the road's start or end
Extend EndsCarries the road straight on past its start and/or endStart of road (m), End of road (m) and Direction from last
Connect RoadsJoins road chains that stop short of each otherAuto with a maximum gap, or Manual: click two endpoints on the map
Virtual RoadA road you draw where the data has noneWaypoints placed on the map
Query BlocksCollects the blocks beside the roadNone
First Row OnlyKeeps blocks whose edge is within a distance of the roadDistance (m), 10 by default
Filter by SideKeeps one side of the roadThe side, and a Split threshold (m) for blocks that reach across
Expand LotsGrows the kept blocks outward so buildings are not cut at the lot lineMargin (m), 15 by default
Add / RemoveAdds or removes single blocksClick blocks on the map
Concave HullDraws one outline around the kept blocksRatio, adaptive; computed when you press Compute Hull
Camera PathSets the camera for this pathThe same camera form as in Capture

Cutting a street between two cross streets

A street such as Broadway runs the length of the island. To photograph only part of it, add Cross Street Range after Compose Road and before Query Blocks; placed after it, the step says so, because the blocks would still follow the whole road.

The step has two ends, From and To, which start as

Start of road and End of road. Below them is every street the road meets, in order along it, with the distance from the start; Filter cross streets... narrows the list. One end is armed (the line above the list says which): click a cross street to set it. Setting From arms To, so two clicks choose a stretch, in either order. Click an end's field to arm it again, click a chosen street a second time or the clear button beside its end to clear it. The slider between the ends and the list moves either end one cross street at a time, by dragging or with the arrow keys, and the map follows when you let go. The cross street under the pointer, or under a thumb while you drag it, is marked on the map with its name and the line a cut there would make; a dragged thumb brings the map along when its street runs off the edge.

The road is cut straight across at both ends and only the stretch between is kept, on both sides of a median and across gaps in the street; the rest stays on the map, faint. The line at the top says how much of the road is kept. The street keeps its name, so saved street labels still find its cross streets.

Seeing past the ends of a street

The first and last shots are centred on the ends of the road, so half of each looks past the street's end. To photograph the corner buildings whole, add

Extend Ends: tick Start of road (m), End of road (m) or both, and type how far each goes on in the field beside it. Each end goes straight on along the line that best fits the road's last stretch; Direction from last sets how long that stretch is, from 5 m to 300 m (30 m to begin with). A short stretch follows the very end of the street; a long one follows its general line, so a short turn at the end of the street's line does not send it sideways. The road follows the slider when you let go. The added pieces are drawn dashed and lighter on the map. No blocks are added: Query Blocks follows the streets themselves. Put the step after any Cross Street Range, which would otherwise cut the extension away again; the step is flagged if it is above one.

A step's header holds its switch (off means the step is skipped), the arrows that move it up or down, and the button that removes it.

When a step is flagged

A warning mark on a step means it changes or lacks something:

  • Resets everything above. A second Compose Road starts over.
  • Rebuilds the block selection. A Query Blocks placed after hand edits throws those edits away.
  • Needs a road, blocks or streets that no earlier step provides.
  • Cross Street Range below cuts the extension off. An Extend Ends above a range that cuts the road; move it below.
  • Query Blocks above does not see this change to the road. A Draw Road or Edit Road below Query Blocks; move it above.

The step's settings say which, at the top.

Reference overlays

Every other saved path of the same region can be drawn under the one you are editing, as it is saved now: a path saved elsewhere appears, and a deleted one goes. They are read-only, and none is drawn until you show it. The section's header says how many are shown, for example 2/9; its eye shows them all, or hides them all when any is shown, and its arrow opens the list. In the list, hovering a path draws it on the map while the pointer is on it; its eye keeps it shown, and the pencil switches to editing that path instead. Which paths are shown, and whether the list is open, stay as you left them, for every path and the next time you open the planner. A path that has no road yet is not saved, so it is not listed.

Moving on

New capture, at the bottom of the path column, opens Capture with this path. It is disabled until the path has a road.

The menu beside the path's name has:

  • Rename
  • Duplicate as a new path
  • Export path plan JSON
  • Export blocks GeoJSON
  • Close path (stays in Library)