Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve terminology for management classes and methods #25

Closed
gwlucastrig opened this issue Aug 2, 2022 · 1 comment
Closed

Improve terminology for management classes and methods #25

gwlucastrig opened this issue Aug 2, 2022 · 1 comment

Comments

@gwlucastrig
Copy link
Owner

There are a number of places in the GVRS API where classes associate keys of some sort with an object, file position, or other data element, In the original implementation, these entities were referred to as "indices". But this terminology was confusing because the term "index" was also used for integer indices into arrays or grids. For example, the index of a tile is its position within the raster.

tile_index = tile_row * n_columns_of_tiles + tile_column.

But, at the same time, we also had an entity called the "tile index" that would map the tile_index to its position in the file. This usage was confusing.

For a less ambiguous and less confusing terminology, we are now using the term "map". In computer programming, the term "map" is commonly used to indicate a set of associations between keys and values. In Java there is an interface called Map and in C# there is a class called a Dictionary that implements the same idea. See Wikipedia: Associative array. In mathematics, the term map is used in set theory or as a generalization of the concept of a function. See Wikipedia: Map

A few classes will be renamed. TilePositionIndex.java becomes TilePositionMap. Some methods will also be renamed. Most of the affected elements have package-level or protected scope, and are visible only in the org.gridfour.gvrs package.

@gwlucastrig
Copy link
Owner Author

The changes for this issue are now complete. This issue is closed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant