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

Z and M dimension support #291

Open
evetion opened this issue Apr 11, 2022 · 6 comments
Open

Z and M dimension support #291

evetion opened this issue Apr 11, 2022 · 6 comments

Comments

@evetion
Copy link
Collaborator

evetion commented Apr 11, 2022

While going through #290, I noticed some issues with geometry types, especially the non-default ones with Z and/or M dimensions.

  • Missing getm. (added in Implement new GeoInterface traits #290)
  • Creation of geometries don't support m (four coordinates)
  • Creation of geometries don't set correct type, createpoint(0,0) and createpoint(0,0,0) both result in ArchGDAL.IGeometry{ArchGDAL.wkbPoint}, while the latter should be wkbPoint25D or wkbPointM.
@yeesian
Copy link
Owner

yeesian commented Apr 15, 2022

how do we know whether createpoint(0,0,0) should be wkbPoint25D or wkbPointM?

@yeesian
Copy link
Owner

yeesian commented Apr 15, 2022

My implicit understanding was that createpoint(0,0,0) would have PointZ semantics, and PointM and Point25D are not supported in this package yet.

@rafaqz
Copy link
Collaborator

rafaqz commented Apr 15, 2022

@yeesian I agree, regular arguments should be spatial dimensions. M could use a keyword argument.

@yeesian
Copy link
Owner

yeesian commented Apr 15, 2022

Does that mean

  • createpoint(0,0) -> ArchGDAL.IGeometry{ArchGDAL.wkbPoint}
  • createpoint(0,0,0) -> ArchGDAL.IGeometry{ArchGDAL.wkbPoint25D} (per https://gis.stackexchange.com/a/7869)
  • createpoint(0,0,m=0) -> ArchGDAL.IGeometry{ArchGDAL. wkbPointM}
  • createpoint(0,0,0,m=0) -> ArchGDAL.IGeometry{ArchGDAL.wkbPointZM}

?

@rafaqz
Copy link
Collaborator

rafaqz commented Apr 15, 2022

Yeah, that would work. Otherwise just use a different function with m last.

@evetion
Copy link
Collaborator Author

evetion commented May 22, 2022

Discussed is3d and ismeasured in #303, which are now implemented in #290. Methods to actually create/set these coordinates (especially for m) are still missing.

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

No branches or pull requests

3 participants