A method for assigning coordinates

I have the digital twin of a city and I need to find a way to define coordinates for it. In fact, I need the coordinate system to be generalizable to my future city models as weel. So, I am thinking of coding an extension.

This is what I think the extension should do:

1 - create a new layer that should contain points with latitude and longitude attributes (I don’t know how to define points becasue omniverse deals with objects, maybe I need to define invisible objects in order to assign attributes to. but I would like to hear if there are better options)

2 - identify the city edges among those points (which I know is possible but have no idea how to begin with. So, I would appreciate any sort of help)

3 - Assign coordinates to the city edges based on those on each extreme side

4- scatter points in-between the edges

I would appreciate any help on any step of the implementation.

  1. Until we have proper geospatial coordinates support, you might want to use something like a UTM projection which is in meters and likely easier to work with.
  2. You could use line features for your city boundaries, but you will need to translate the line features to UsdGeomBasisCurves. You could alternatively just compute the bounding box for the aforementioned points layer if that’s sufficient for you.
  3. See #2.
  4. We just released a sample scatter extension that could be a good starting point for you: GitHub - NVIDIA-Omniverse/kit-extension-sample-scatter: Sample Repository to create a simple scatter tool using USD and omni.ui API