diff --git a/src/layers/package.json b/src/layers/package.json index 63a66843a5..d399ad5ef6 100644 --- a/src/layers/package.json +++ b/src/layers/package.json @@ -69,8 +69,7 @@ "s2-geometry": "^1.2.10", "styled-components": "^4.1.3", "type-analyzer": "0.4.0", - "viewport-mercator-project": "^6.0.0", - "wellknown": "^0.5.0" + "viewport-mercator-project": "^6.0.0" }, "nyc": { "sourceMap": false, diff --git a/src/layers/src/geojson-layer/geojson-utils.ts b/src/layers/src/geojson-layer/geojson-utils.ts index a03a5174e5..3a4ec3ba32 100644 --- a/src/layers/src/geojson-layer/geojson-utils.ts +++ b/src/layers/src/geojson-layer/geojson-utils.ts @@ -18,11 +18,10 @@ // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN // THE SOFTWARE. -import wktParser from 'wellknown'; import normalize from '@mapbox/geojson-normalize'; import bbox from '@turf/bbox'; import {parseSync} from '@loaders.gl/core'; -import {WKBLoader} from '@loaders.gl/wkt'; +import {WKBLoader, WKTLoader} from '@loaders.gl/wkt'; import {binaryToGeometry} from '@loaders.gl/gis'; import {Feature, BBox} from 'geojson'; @@ -132,10 +131,10 @@ export function parseGeometryFromString(geoString: string): Feature | null { // keep trying to parse } - // try parse as wkt + // try parse as wkt using loaders.gl WKTLoader if (!parsedGeo) { try { - parsedGeo = wktParser(geoString); + parsedGeo = parseSync(geoString, WKTLoader); } catch (e) { return null; } diff --git a/test/node/utils/data-processor-test.js b/test/node/utils/data-processor-test.js index dca2e149d7..86ac98247d 100644 --- a/test/node/utils/data-processor-test.js +++ b/test/node/utils/data-processor-test.js @@ -85,9 +85,11 @@ test('Processor -> getFieldsFromData', t => { surge: null, isTrip: 'false', zeroOnes: '1', - geojson: '{"type":"Polygon","coordinates":[[[-122.4194155,37.7749295],[-122.4194155,37.7749295],[-122.4194155,37.7749295]]]}', + geojson: + '{"type":"Polygon","coordinates":[[[-122.4194155,37.7749295],[-122.4194155,37.7749295],[-122.4194155,37.7749295]]]}', wkt: 'POLYGON ((-122.4194155 37.7749295, -122.4194155 37.7749295, -122.4194155 37.7749295))', - wkb: '0103000020E61000000100000005000000E17A14AE47D25EC0F6F3F6F2F7F940400000000E17A14AE47D25EC0F6F3F6F2F7F940400000000E17A14AE47D25EC0F6F3F6F2F7F94040' + wkb: + '0103000020E61000000100000005000000E17A14AE47D25EC0F6F3F6F2F7F940400000000E17A14AE47D25EC0F6F3F6F2F7F940400000000E17A14AE47D25EC0F6F3F6F2F7F94040' }, { time: null, @@ -97,9 +99,11 @@ test('Processor -> getFieldsFromData', t => { surge: '1.3', isTrip: null, zeroOnes: '1', - geojson: '{"type":"LineString","coordinates":[[-122.4194155,37.7749295],[-122.4194155,37.7749295]]}', + geojson: + '{"type":"LineString","coordinates":[[-122.4194155,37.7749295],[-122.4194155,37.7749295]]}', wkt: 'LINESTRING (-122.4194155 37.7749295, -122.4194155 37.7749295)', - wkb: '0102000020E610000002000000E17A14AE47D25EC0F6F3F6F2F7F94040E17A14AE47D25EC0F6F3F6F2F7F94040' + wkb: + '0102000020E610000002000000E17A14AE47D25EC0F6F3F6F2F7F94040E17A14AE47D25EC0F6F3F6F2F7F94040' }, { time: null, @@ -109,9 +113,11 @@ test('Processor -> getFieldsFromData', t => { surge: '1.4', isTrip: null, zeroOnes: '0', - geojson: '{"type":"MultiPoint","coordinates":[[-122.4194155,37.7749295],[-122.4194155,37.7749295]]}', + geojson: + '{"type":"MultiPoint","coordinates":[[-122.4194155,37.7749295],[-122.4194155,37.7749295]]}', wkt: 'MULTIPOINT (-122.4194155 37.7749295, -122.4194155 37.7749295)', - wkb: '0104000020E6100000020000000101000000E17A14AE47D25EC0F6F3F6F2F7F94040101000000E17A14AE47D25EC0F6F3F6F2F7F94040' + wkb: + '0104000020E6100000020000000101000000E17A14AE47D25EC0F6F3F6F2F7F94040101000000E17A14AE47D25EC0F6F3F6F2F7F94040' } ]; diff --git a/yarn.lock b/yarn.lock index 054119565c..be5a53ea47 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1622,6 +1622,17 @@ "@math.gl/polygon" "^3.5.1" pbf "^3.2.1" +"@loaders.gl/gis@^3.0.9": + version "3.4.14" + resolved "https://registry.yarnpkg.com/@loaders.gl/gis/-/gis-3.4.14.tgz#a9b3eed45e2a4465a754e3404061222c51b1334a" + integrity sha512-5cmhIwioPpSkfNzFRM3PbFDecjpYIhtEOFbryu3rE37npKHLTD2tF4ocQxUPB+QVED6GLwWBdzJIs64UWGrqjw== + dependencies: + "@loaders.gl/loader-utils" "3.4.14" + "@loaders.gl/schema" "3.4.14" + "@mapbox/vector-tile" "^1.3.1" + "@math.gl/polygon" "^3.5.1" + pbf "^3.2.1" + "@loaders.gl/gltf@3.2.7", "@loaders.gl/gltf@^3.0.9", "@loaders.gl/gltf@^3.2.5": version "3.0.9" resolved "https://registry.yarnpkg.com/@loaders.gl/gltf/-/gltf-3.0.9.tgz#b9a036080e39bec59f065bf2e3699ef49d75a9cd" @@ -1655,7 +1666,7 @@ "@loaders.gl/loader-utils" "3.0.9" "@loaders.gl/schema" "3.0.9" -"@loaders.gl/loader-utils@3.0.9", "@loaders.gl/loader-utils@3.2.7", "@loaders.gl/loader-utils@^2.1.3", "@loaders.gl/loader-utils@^3.0.9", "@loaders.gl/loader-utils@^3.2.5": +"@loaders.gl/loader-utils@3.0.9", "@loaders.gl/loader-utils@3.2.7", "@loaders.gl/loader-utils@3.4.14", "@loaders.gl/loader-utils@^2.1.3", "@loaders.gl/loader-utils@^3.0.9", "@loaders.gl/loader-utils@^3.2.5": version "3.0.9" resolved "https://registry.yarnpkg.com/@loaders.gl/loader-utils/-/loader-utils-3.0.9.tgz#3a0e574510bf89d77fa5c3d3508d41f9c8778450" integrity sha512-DLQWYklEDcKWb6LGtzNUQqlDaHXUVAB/uA5a7bzyXbSswoC6jqwSOxSdJ42UsSHhvHRj7l6HOtNUICJ7q+IMiQ== @@ -1715,6 +1726,13 @@ "@types/geojson" "^7946.0.7" apache-arrow "^4.0.0" +"@loaders.gl/schema@3.4.14": + version "3.4.14" + resolved "https://registry.yarnpkg.com/@loaders.gl/schema/-/schema-3.4.14.tgz#6f145065a2abaf402aa419cfa25ec7f1fdeed487" + integrity sha512-r6BEDfUvbvzgUnh/MtkR5RzrkIwo1x1jtPFRTSJVsIZO7arXXlu3blffuv5ppEkKpNZ1Xzd9WtHp/JIkuctsmw== + dependencies: + "@types/geojson" "^7946.0.7" + "@loaders.gl/shapefile@^3.0.9": version "3.0.9" resolved "https://registry.yarnpkg.com/@loaders.gl/shapefile/-/shapefile-3.0.9.tgz#7a9ad7040d6d574d2eca019b1c153708c73dc049" @@ -1756,6 +1774,14 @@ "@loaders.gl/loader-utils" "^2.1.3" gifshot "^0.4.5" +"@loaders.gl/wkt@^3.0.9": + version "3.4.14" + resolved "https://registry.yarnpkg.com/@loaders.gl/wkt/-/wkt-3.4.14.tgz#1d3b474cf330e14bdd39e2cd829adf8ee27f11b1" + integrity sha512-2Epq+2P7uRx3BwAhmx7MIeaX5rQv/ooYdVh3q3bs2M/xKQ6yPXhx+He+3f8oWxWmWEjL1DnRrfkiGms2vet+cA== + dependencies: + "@loaders.gl/loader-utils" "3.4.14" + "@loaders.gl/schema" "3.4.14" + "@loaders.gl/worker-utils@3.0.9": version "3.0.9" resolved "https://registry.yarnpkg.com/@loaders.gl/worker-utils/-/worker-utils-3.0.9.tgz#7c8f0d259f1b6ed0ba3d65540a116ec149b053d8"