You will need to alias the position field because it is causing the generated selection set type to be named Position (AbcQuery.Data.Location.Node.SpatialDatum.Position) which conflicts with the schema type Position; the position.coordinates and area.coordinates fields are schema type Position. You cannot rename a schema type.
You cannot simply extend AbcQuery.Data.Location.Node.SpatialDatum.Position to be JSONDecodable and use it for the coordinates values because it is a selection set.
Look at:
abc.graphql to see the alias, geoPosition: position.
API.swift to see the aliased field being used with the renamed type, public var geoPosition: GeoPosition. Also note that coordinates within GeoPosition is still type Position.
NSDecodable+Extensions.swift to see the Position type alias and conformance to JSONDecodable.
Hope this helps in moving forward with your project.