[GIS] Create curve/arc between 2 points

arcgis-desktopflow

I am trying to create some visualisations using bus journey data. I am looking to plot journeys along one long road, showing passenge journeys. The principle is the same as a radial flow map for flight paths for example. However the geographical area is much smaller as it only covers one road.

This is where I am running into problems. I have the data in StartX,Y and End X,Y format and then with each possible journey I have a total number.

I have tried plotting this as XY to Line using the various different Line Types (e.g. Geodesic). The result is a series of straight lines on top one another. Ideally I would like to produce a series of curved lines so that you can see the different journeys a bit more clearly.

I have tried to research this problem quite extensively online but the majority of cases are plotting data over a much wider geographical area.

Is there a way to produce a curve / arc between a start and end point?

I do not want to do this manually as I have large number of lines to plot.

I would like to use ArcMap.

Best Answer

SIMULATION:

  • Split line (bus route) into equal length parts
  • Create end points to represent bus stops

WORKFLOW:

  • Connect pairs of points by straight line (Points to Line, using LINEIDs)

enter image description here

  • Use Add Geometry attributes to calculate CENTROID_X, CENTROID_Y and BEARING of straight segments
  • Calculate LENGTH and field SMALL. Field SMALL I populated with same number 200.
  • Construct ellipses using centroid coordinates, LENGTH, SMALL and BEARINGS as individual ellipse parameters. Note you cannot use TABLE to Ellipse tool because it adjust your bearing to true north. I use ArcView 3 to construct them. I’ve heard there is ArcGIS add-on to calculate planar ellipses.

enter image description here

  • Merge straight and ellipse lines and dissolve them using segement ID, no multipart.
  • Remove ones that are less than maximum length per line ID

RESULT:

enter image description here

I guess you might play with minor axis length (SMALL in above) and make it variable to show multiple journeys or manually delete ellipses' parts if automatic removal doesn't look right.

Related Question