$30 off During Our Annual Pro Sale. View Details »

Introduction of HTGCL (Historical Topographic Ground Control Line) - New paradigm of handling historical map in GIS - /FOSS4G Japan 2020

Introduction of HTGCL (Historical Topographic Ground Control Line) - New paradigm of handling historical map in GIS - /FOSS4G Japan 2020

Slide for FOSS4G Japan 2020 presentation.

Code for History

November 08, 2020
Tweet

More Decks by Code for History

Other Decks in Technology

Transcript

  1. Introduction of HTGCL (Historical
    Topographic Ground Control Line)
    - New paradigm of handling historical map in GIS -
    Kohei Otsuka – Code for History
    1

    View Slide

  2. Table of contents
    • What is Code for History?
    • Introduction to
    • Introduction of HTGCL (Historical Topographic Ground
    Control Line) and its application to GIS
    • Other small topic (Not related with HTGCL)
    • Conclusions
    2

    View Slide

  3. What is Code for History?
    3

    View Slide

  4. A community that uses information
    technology to solve historical problems
    (practically one person)
    https://code4history.dev/
    4

    View Slide

  5. Characteristics
    • I want to emphasize that for us, information technology is a
    "means" and not an “objective".
    • The "objective" is to solve a historical problem, and if
    necessary, to utilize non-IT means.
    • The first priority is always to solve the problem.
    5

    View Slide

  6. Introduction to
    6

    View Slide

  7. Map viewer technology that allows you to
    enjoy walking around the city using
    historical maps and pictorial maps
    © OpenStreetMap © Utouto Tanken-tai
    7

    View Slide

  8. We recently changed it’s logo 8
    Maplat

    View Slide

  9. Features of
    • Not distorting historical maps
    • Adjusting not only the location of the center point, but also the direction
    and scale
    • Bidirectional one-to-one conversion (Returning to the original display
    position after multiple map changes)
    • Converting lines to lines (Roads to roads, rivers to rivers, etc.)
    • It's open source, so anyone can create their own site with it
    • Project Sites:
    Library: https://github.com/code4history/Maplat/wiki
    Editor: https://github.com/code4history/MaplatEditor
    9

    View Slide

  10. Not distorting historical maps
    • Existing technology (GIS) distorts historical maps
    10

    View Slide

  11. Not distorting historical maps
    • overlays historical maps without distorting them
    11

    View Slide

  12. Adjusting the direction and scale
    • Existing technology (Stroly) can't adjust the right orientation
    and scale
    12

    View Slide

  13. Adjusting the direction and scale
    • fits the direction and scale almost perfectly
    13

    View Slide

  14. Bidirectional one-to-one conversion
    (homeomorphic conversion)
    • Existing technology (Stroly) shifts the display position when
    continuously switching maps
    14

    View Slide

  15. Bidirectional one-to-one conversion
    (homeomorphic conversion)
    • does not shift the display position when
    continuously switching maps (Japan patent JP-6684776)
    15

    View Slide

  16. • In the past, used to get misaligned on the road at
    times.
    Converting lines to lines
    Modern map
    Historical map
    16

    View Slide

  17. • In the past, used to get misaligned on the road at
    times.
    Converting lines to lines
    Modern map
    Historical map
    17

    View Slide

  18. • Latest can accurately convert a point on the road to
    a point on the road
    Converting lines to lines
    Modern map
    Corresponding lines
    (HTGCL)
    Historical map
    18

    View Slide

  19. • Latest can accurately convert a point on the road to
    a point on the road
    Converting lines to lines
    Modern map
    対応線
    Historical map
    19
    Corresponding lines
    (HTGCL)

    View Slide

  20. Introduction of HTGCL (Historical
    Topographic Ground Control Line)
    and its application to GIS
    20

    View Slide

  21. What is the HTGCL?
    • Abbreviation for Historical Topographic Ground Control Line
    • Naming of the corresponding lines between modern geographic
    coordinates and historical map coordinates which are used in
    's "converting lines to lines" function.
    • The concept is borrowed from Ground Control Points (GCPs),
    which are the points in existing GIS that correspond to
    inaccurate maps and accurate maps.
    • Relying on points alone for coordinate transformations between
    maps makes it difficult to maintain homomorphism throughout
    the transformations, and it is not possible to convert lines to lines.
    Therefore, transformations using HTGCL are valuable not only
    for but also for existing GIS.
    21

    View Slide

  22. Analyzing and GIS processes
    • 's function can be divided into two main processes
    • Converting coordinates between exact geographic coordinates and
    historical map coordinates, with features such as maintaining
    homomorphism and converting lines to lines => A
    • Overlapping historical map and modern map according to the result
    of the coordinate transformation, with adjusting the position,
    direction and scale. => B
    • Handling historical map with existing GIS also can be divided into
    two main processes
    • Converting coordinates between exact geographic coordinates and
    historical map coordinates => C
    • According to the results of the coordinate transformation, the
    historical map is distorted, reorganized into precise geographic
    coordinates and superimposed on the modern map. => D
    • If 's coordinate transformation A is better than existing
    GIS's coordinate transformation C, can't 's coordinate
    transformation A can be exported as pre-process of D in GIS?
    22

    View Slide

  23. Comparison of HTGCL and existing GCP
    in coordinate conversion
    Method Rely on Pros Cons
    GIS
    (GDAL, Thin plate
    spline)
    GCP
    • Relatively easy to
    create data
    • Smooth conversion
    results
    • Conversion is not
    continuous or
    bidirectional.
    • Not converting lines
    to lines
    HTGCL
    • Homeomorphic
    conversion
    • Converting lines to
    lines
    • Conversion becomes
    sharp on the edges
    of the triangle
    network
    • Resolving topological
    errors manually is a
    pain
    23

    View Slide

  24. An example of application of HTGCL
    transformation to an existing GIS 24
    The result used GCPs (GDAL) The result used HTGCL

    View Slide

  25. Homeomorphic transformation 25
    The result used GCPs (GDAL) The result used HTGCL
    • The continuity
    and bi-
    directionality
    of the map
    coordinates is
    lost, as
    evidenced by
    the
    occurrence of
    spatial loops
    in some
    places.
    • Although
    intensely
    distorted, the
    continuity
    and bi-
    directionality
    of space, or in
    other words,
    homeomorphi
    sm, is strongly
    maintained.

    View Slide

  26. Transforming lines to lines 26
    The result used GCPs (GDAL) The result used HTGCL
    • The green line
    shows the
    modern roads,
    but the roads
    on the
    historical map
    side have
    been violently
    distorted into
    a curve and
    are off the
    green lines.
    • The roads on
    the historical
    map side
    have been
    transformed
    to follow the
    green lines
    definitely,
    although
    somewhat
    distorted.

    View Slide

  27. Cons: Sharp transformation on
    the edge of triangulation 27
    The result used GCP Original data used in conversion
    • Transformations using
    HTGCL are computed
    by vector
    transformations within
    triangles generated by
    the triangulation.
    • As a result, the
    transformations across
    the edges can result in
    sharp shape.
    • We are investigating
    whether there are any
    measures to mitigate
    this change.
    Sharp conversion
    The edge of triangulation which
    is used for this sharp
    transformation

    View Slide

  28. Cons: The pain of manually fixing
    topological errors 28
    Topological errors case Fixed by adding dummy GCP
    Errors
    Dummy GCP
    • To perform a
    homeomorphic
    transformation with
    HTGCL, there must not
    be any topological
    errors in the
    triangulation.
    • If topological errors
    exist, it can be resolved
    by adding dummy GCPs
    in the appropriate
    places, but for now we
    have to do it manually.
    • We are collecting enough examples of what error cases and
    where GCPs need to be added, and hope to automate
    topological errors resolution in the future.

    View Slide

  29. HTGCL based map transformation
    function will be in MaplatEditor 29
    • Currently, there is no solution for
    converting historical maps using HTGCL to
    GIS data such as WMTS.
    • However, in the near future, MaplatEditor
    will include the function to generate WMTS
    tile data from HTGCL.
    • In addition to HTGCL support, we are also
    considering various functions to handle
    WMTS, including support for Japanese old
    GSI topographic map tiling and the
    creation of new tile map that slightly shifts
    the coordinate system of existing tile maps.
    • In other words, MaplatEditor aims to be a GIS editor product that can be an
    alternative to QGIS's Georeferencer and GDAL's gdal2tiles.py, rather than just a data
    editor for .

    View Slide

  30. Other small topic (Not related
    with HTGCL)
    30

    View Slide

  31. PWA service worker framework for
    caching tile map 31
    • Now we are developing a Service Worker framework that
    works with PWA (Progressive Web App) that can cache tile
    data for tile maps offline. This framework makes it easy to
    create PWA map applications that can work offline.
    • It supports caching of map tiles, bulk download of caches,
    and clearing of caches. The Service Worker is already
    almost complete and we are developing a wrap class to
    make it easy to use on the front end. At the moment it only
    supports raster tiles, but if it is technically possible to
    support vector tiles, we will support it.
    • https://github.com/code4history/TileCacheServiceWorker

    View Slide

  32. Conclusions
    32

    View Slide

  33. • is an open-source map viewer technology that allows you to
    walk around town using historical maps.
    • One of the features of is the ability to convert lines to lines in
    the coordinate conversion between historical maps and modern maps.
    • The corresponding lines networks those are set up when converting
    lines to lines is named HTGCL.
    • Since coordinate conversion using HTGCL has advantages over
    coordinate conversion using GCP in existing GIS, there is also value in
    creating tile map data by GIS-like historical map image transformation.
    • MaplatEditor will not only serve as a data creation editor for ,
    but will also enhance the ability to create GIS tile map data in the future.
    Conslusions 33

    View Slide

  34. • I have developed through my experience as a GIS engineer, and as
    the antithesis to historical map processing in GIS. As a result of pursuing
    that approach, I am very happy about the possibility of providing a new
    paradigm on the GIS side as a result.
    • I think this is also the result of developing , a solution with a
    different concept than GIS, but with the base technology system of GIS in
    place. I was also previously the developer of another solution called Stroly,
    but Stroly was a technology that was not based on a GIS technology system,
    and if I had continued to develop Stroly, I don't think we would be making
    this presentation today.
    • However, at any rate, is being developed by just one person, so I
    have no timetable yet for when this feature will be implemented.
    I have a lot of other features that I need to prioritize and develop, so it's
    likely to be years in the future.
    • is an open source activity, so if any GIS expert developers are
    interested in this presentation, please help me.
    Last comments 34

    View Slide

  35. End
    User: kochizufan
    Github pages: https://code4history.dev/
    E-mail: [email protected]
    Slide: https://speakerdeck.com/kochizufan/foss4g-japan-2020 35

    View Slide