Skip to content

Commit

Permalink
I/O fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
bjornharrtell committed Nov 26, 2017
1 parent 0979cde commit 1307dbf
Show file tree
Hide file tree
Showing 2 changed files with 34 additions and 14 deletions.
22 changes: 11 additions & 11 deletions src/org/locationtech/jts/io/OL3Parser.js
Original file line number Diff line number Diff line change
Expand Up @@ -139,19 +139,19 @@ extend(OL3Parser.prototype, {
},

convertToLineString (lineString) {
var points = lineString.points.coordinates.map(p2c)
var points = lineString._points._coordinates.map(p2c)
return new this.ol.geom.LineString(points)
},

convertToLinearRing (linearRing) {
var points = linearRing.points.coordinates.map(p2c)
var points = linearRing._points._coordinates.map(p2c)
return new this.ol.geom.LinearRing(points)
},

convertToPolygon (polygon) {
var rings = [polygon.shell.points.coordinates.map(p2c)]
for (let i = 0; i < polygon.holes.length; i++) {
rings.push(polygon.holes[i].points.coordinates.map(p2c))
var rings = [polygon._shell._points._coordinates.map(p2c)]
for (let i = 0; i < polygon._holes.length; i++) {
rings.push(polygon._holes[i]._points._coordinates.map(p2c))
}
return new this.ol.geom.Polygon(rings)
},
Expand All @@ -162,24 +162,24 @@ extend(OL3Parser.prototype, {

convertToMultiLineString (multiLineString) {
var lineStrings = []
for (let i = 0; i < multiLineString.geometries.length; i++) {
lineStrings.push(this.convertToLineString(multiLineString.geometries[i]).getCoordinates())
for (let i = 0; i < multiLineString._geometries.length; i++) {
lineStrings.push(this.convertToLineString(multiLineString._geometries[i]).getCoordinates())
}
return new this.ol.geom.MultiLineString(lineStrings)
},

convertToMultiPolygon (multiPolygon) {
var polygons = []
for (let i = 0; i < multiPolygon.geometries.length; i++) {
polygons.push(this.convertToPolygon(multiPolygon.geometries[i]).getCoordinates())
for (let i = 0; i < multiPolygon._geometries.length; i++) {
polygons.push(this.convertToPolygon(multiPolygon._geometries[i]).getCoordinates())
}
return new this.ol.geom.MultiPolygon(polygons)
},

convertToCollection (geometryCollection) {
var geometries = []
for (let i = 0; i < geometryCollection.geometries.length; i++) {
var geometry = geometryCollection.geometries[i]
for (let i = 0; i < geometryCollection._geometries.length; i++) {
var geometry = geometryCollection._geometries[i]
geometries.push(this.write(geometry))
}
return new this.ol.geom.GeometryCollection(geometries)
Expand Down
26 changes: 23 additions & 3 deletions test/manual/io/GeoJSONReader.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,10 @@ import expect from 'expect.js'

import GeoJSONReader from 'org/locationtech/jts/io/GeoJSONReader'

const reader = new GeoJSONReader()

describe('GeoJSONReader', function () {
it('should be able to read a Point geometry', function () {
const reader = new GeoJSONReader()
reader.read({ type: 'Point', coordinates: [ 1.01, 1.02 ] })
})

Expand All @@ -19,8 +20,27 @@ describe('GeoJSONReader', function () {
'name': 'Dinagat Islands'
}
}

const reader = new GeoJSONReader()
const geometry = reader.read(feature)
})

it('should be able to read a LineString', function () {
const lineString = {
'type': 'LineString',
'coordinates': [
[102.0, 0.0], [103.0, 1.0], [104.0, 0.0], [105.0, 1.0]
]
}
const geometry = reader.read(lineString)
})

it('should be able to read a Polygon', function () {
const polygon = {
'type': 'Polygon',
'coordinates': [
[ [100.0, 0.0], [101.0, 0.0], [101.0, 1.0],
[100.0, 1.0], [100.0, 0.0] ]
]
}
const geometry = reader.read(polygon)
})
})

0 comments on commit 1307dbf

Please sign in to comment.