GeometryCollectionMapper.js 752 B

123456789101112131415161718192021222324
  1. import GeometryFactory from '../GeometryFactory'
  2. import ArrayList from '../../../../../java/util/ArrayList'
  3. export default class GeometryCollectionMapper {
  4. constructor() {
  5. GeometryCollectionMapper.constructor_.apply(this, arguments)
  6. }
  7. static constructor_() {
  8. this._mapOp = null
  9. const mapOp = arguments[0]
  10. this._mapOp = mapOp
  11. }
  12. static map(gc, op) {
  13. const mapper = new GeometryCollectionMapper(op)
  14. return mapper.map(gc)
  15. }
  16. map(gc) {
  17. const mapped = new ArrayList()
  18. for (let i = 0; i < gc.getNumGeometries(); i++) {
  19. const g = this._mapOp.map(gc.getGeometryN(i))
  20. if (!g.isEmpty()) mapped.add(g)
  21. }
  22. return gc.getFactory().createGeometryCollection(GeometryFactory.toGeometryArray(mapped))
  23. }
  24. }