maplibre / maplibre-tile-spec

Next generation vector tiles format
Apache License 2.0
136 stars 10 forks source link

ClassCastException when encoding tiles #160

Open blacha opened 1 month ago

blacha commented 1 month ago

I have two tiles with two diffrent class cast exceptions

nz-parcels_10_1009_630.pbf.gz

java.lang.ClassCastException: class java.lang.String cannot be cast to class java.lang.Long (java.lang.String and java.lang.Long are in module java.base of loader 'bootstrap')
        at com.mlt.converter.encodings.PropertyEncoder.encodeInt64Column(PropertyEncoder.java:316)
        at com.mlt.converter.encodings.PropertyEncoder.encodeScalarPropertyColumn(PropertyEncoder.java:149)
        at com.mlt.converter.encodings.PropertyEncoder.encodePropertyColumns(PropertyEncoder.java:38)
        at com.mlt.converter.MltConverter.convertMvt(MltConverter.java:207)
        at com.mlt.tools.Encode.main(Encode.java:221)

and nz-parcels_10_1009_628.pbf.gz

java.lang.ClassCastException: class java.lang.Double cannot be cast to class java.lang.Long (java.lang.Double and java.lang.Long are in module java.base of loader 'bootstrap')
        at com.mlt.converter.encodings.PropertyEncoder.encodeInt64Column(PropertyEncoder.java:316)
        at com.mlt.converter.encodings.PropertyEncoder.encodeScalarPropertyColumn(PropertyEncoder.java:149)
        at com.mlt.converter.encodings.PropertyEncoder.encodePropertyColumns(PropertyEncoder.java:38)
        at com.mlt.converter.MltConverter.convertMvt(MltConverter.java:207)
        at com.mlt.tools.Encode.main(Encode.java:221)

Theses errors are from the current main 7f0d6906d386aea3ac678518513b42d5dd44f966

with a

just clean
just test-java-cli

then java -jar ./build/libs/encode.jar -mvt nz-parcels_10_1009_628.pbf

springmeyer commented 3 weeks ago

@blacha thanks for ticketing this. It should be an easy fix, I hope to find time to take a look late next week.