You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 55 Next »

Unable to render {include} The included page could not be found.

Import use cases

  • Import in project as data item; import a (complete) Sobek 2.11 MDB
    • user selects import from file menu
    • user selects data type from available types
    • user specifies data source
    • user selects (parts of) the data geographically or with time interval
    • (selected) data is imported into project and added to project as data item.
  • Import for specific/selected data item
    for selected object in project
    or selected object on map ...
    • user specifies data source
    • user selects (parts of) the data geographically or with time interval
    • (selected) data is imported into project and added to project as data item.

Import existing Sobek model database (MDB)

Version of Sobek MDB that will be imnported by plugin is set to: 2.11
and the following objects are read:

  • node
  • branch
  • cross section
  • friction
  • boundary conditions
  • laterals

Conv_sbk is existing software that can import various formats; reuse is a consideration.
After conferring with knowledgeable people, reviewing the source the following arguments against reuse of the Conv_sbk source were found:

  • dependency to Netter
  • quality of coding
  • end of life of VB6
  • procedural design (not OO)
  • necessity to inflict serious adaptions to source for mapping to DelftShell data model
  • only a fraction of the source code is of interest, namely the parts that actually read and hence have implicit knowledge of the structure of data

Hence it is decided to reimplement the 'readers' in .NET. When applicable implicit knowledge about structure from the Conv_sbk is reused.

The the tool of choice for implementing readers is LEX; contrary to existing reader implementations, with LEX we can define readers in a language independent, reusable industry standard notation.
A C# version of LEX is found in the free product GPLEX. Some first test in DS development environment were successfull.
ANTLR might be an alternative to GPLEX. ANTLR offers both a lexical and syntatical analyzer where GPLEX can only build a lexical analyzer.

TODO

  • choose between GPLEX and ANTLR:
    ANTLR is a more complex environment. It is able to generate both lexical and syntatical automatons; we only need the lexer. At this early stage gplex seems more lightweight and does not carry in any redundant component, does what we want from it, is fitted into the dev and build environment.

The approach is to start with implementing a full Sobek 2.11 MDB import in a time period of 20 days (40 fpe). After this period the experience will be applied to estimate the remainder of this sub project.

node

Import of node from NETWORK.TP has been implemented using gplex. Special type of node: linkage node is interpreted as node.

branch

Cross section

Cross Section types in Sobek

0. tabulated
1. trapezoidal
2. open circle
3. sedredge (2D morfology)
4. closed circle
5. 
6. egg shaped (width)
7. egg shaped 2 (radius) not implemented
8. closed rectangular not implemented
9. 
10. yz table 
11. asymmetrical trapeziodal

After discussion with Edward: Initially

  • Tabulated/WH
  • YZ

    friction

    boundary conditions

    laterals

Free format import

This comes second in priority.
Free format import should comprise a wizard like interface in which the structure of the data to be imported is investigated and specified by the user interactively.
Hymos has a import wizard for importing time series:

3rd Party network formats

This comes third in priority. These are the formats currently supported by Sobek.

  • No labels