Project

General

Profile

Feature #1491

API: CSV export for network analysis

Added by Bernhard Koschiček-Krombholz 10 months ago. Updated 5 months ago.

Status:
Assigned
Priority:
Normal
Category:
API
Target version:
Start date:
2021-04-01
Estimated time:

Description

For a network analyisis, we need node and link lists.

Node:

Entities
Entities (Source, Actor, Event, Place, Artefact, Reference) should be in separate CSV based on their view name or system class (to decide).
Entities CSV should contain the basic information (name, description, timespan, maybe basic type) as text/string.

Types
Further types should be in a separate CSV file.

Geometries
Geometries should be in a separate CSV file. As Johannes stated, most tools only support points, so for polygons and linestrings a point has to be calculated.

Link

The following link CSVs will be needed:
  • UI Entities links (direct links between UI Entities)
  • Between UI Entities and Types
  • Between UI Entities and Geometries

The link CSV also should contain relation information

Usage

It would be preferable to select the output of CSV files. Some use cases:

  • Events with type "Change of Property" and all Actors and Places linked to them
  • Places with type "Church" linked to Events
  • Actors linked to other Actors with the link "parent of (child of)"

Please feel free to add use cases!

Development

The first step is to implement the needed uses cases in an API request. If this is possible, UI solutions can be though of.


Related issues

Blocked by Feature #1546: API: New search parameterClosed2021-07-12Actions

History

#1

Updated by Bernhard Koschiček-Krombholz 9 months ago

  • Subject changed from API: CSV export in UI to API: CSV export for network analysis
  • Description updated (diff)
#2

Updated by Alexander Watzinger 9 months ago

  • Status changed from New to Assigned

Thank you Berni for documenting in such detail. For geometries we already calculate points. It's than called polygon_point and used in map views, see model/database/gis.py

public.ST_AsGeoJSON(public.ST_PointOnSurface(polygon.geom)) AS polygon_point

But this only works for polygons, not sure what to do about lines.

#3

Updated by Bernhard Koschiček-Krombholz 5 months ago

Dear Johannes, I didn't forget that feature, but right now it is not "possible" (that means it is a lot of effort). But with the overhaul of the API and especially a new filter method, it should be possible.

#4

Updated by Bernhard Koschiček-Krombholz 5 months ago

Also available in: Atom PDF