You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sedona.apache.org by im...@apache.org on 2024/11/29 12:02:38 UTC

(sedona) 03/03: Add osm pbf reader with tests.

This is an automated email from the ASF dual-hosted git repository.

imbruced pushed a commit to branch osm-reader
in repository https://gitbox.apache.org/repos/asf/sedona.git

commit b097c3b2e9bd348a1cea6bd33cb4cc55cf04b871
Author: pawelkocinski <pa...@gmail.com>
AuthorDate: Fri Nov 29 13:01:52 2024 +0100

    Add osm pbf reader with tests.
---
 .../sql/datasources/osmpbf/FeatureParser.java      |   49 +-
 .../sedona/sql/datasources/osmpbf/OsmDataType.java |   28 +-
 .../sql/datasources/osmpbf/OsmPbfOptions.java      |   43 +-
 .../sql/datasources/osmpbf/OsmPbfReader.java       |  221 +-
 .../sql/datasources/osmpbf/build/Fileformat.java   |  903 ++-
 .../sql/datasources/osmpbf/build/Osmformat.java    | 7886 +++++++++++---------
 .../osmpbf/features/DenseNodeParser.java           |  149 +-
 .../datasources/osmpbf/features/NodeParser.java    |   62 +
 .../osmpbf/features/RelationParser.java            |  108 +-
 .../datasources/osmpbf/features/TagsResolver.java  |   44 +
 .../sql/datasources/osmpbf/features/WayParser.java |   73 +-
 .../sql/datasources/osmpbf/model/OsmNode.java      |  113 +-
 .../sql/datasources/osmpbf/model/OsmPbfRecord.java |   64 +-
 .../sql/datasources/osmpbf/model/OsmRelation.java  |   64 +-
 .../sql/datasources/osmpbf/model/OsmWay.java       |   70 +-
 .../sql/datasources/osmpbf/model/RelationType.java |   46 +-
 .../sql/datasources/osmpbf/OsmPbfDataSource.scala  |   25 +-
 .../sql/datasources/osmpbf/OsmPbfOptions.scala     |   21 +
 .../datasources/osmpbf/OsmPbfPartitionReader.scala |   91 +-
 .../osmpbf/OsmPbfPartitionReaderFactory.scala      |   60 +-
 .../sedona/sql/datasources/osmpbf/OsmPbfScan.scala |   45 +-
 .../sql/datasources/osmpbf/OsmPbfScanBuilder.scala |   81 +-
 .../sql/datasources/osmpbf/OsmPbfTable.scala       |  105 +-
 .../sql/datasources/shapefile/ShapefileTable.scala |    1 +
 .../apache/sedona/sql/GeoPackageReaderTest.scala   |   34 -
 .../org/apache/sedona/sql/OsmNodeReaderTest.scala  |   82 +-
 .../org/apache/sedona/sql/TestBaseScala.scala      |   37 +-
 27 files changed, 5921 insertions(+), 4584 deletions(-)

diff --git a/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/FeatureParser.java b/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/FeatureParser.java
index fde048fa21..aa7917417d 100644
--- a/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/FeatureParser.java
+++ b/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/FeatureParser.java
@@ -1,30 +1,45 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.sedona.sql.datasources.osmpbf;
 
 import org.apache.sedona.sql.datasources.osmpbf.build.Osmformat;
 
 public class FeatureParser {
-    FeatureParser() {
+  FeatureParser() {}
 
+  public static OsmDataType getType(Osmformat.PrimitiveGroup primitiveGroup) {
+    if (primitiveGroup.hasDense()) {
+      return OsmDataType.DENSE_NODE;
     }
 
-    public static OsmDataType getType(Osmformat.PrimitiveGroup primitiveGroup) {
-        if (primitiveGroup.hasDense()) {
-            return OsmDataType.DENSE_NODE;
-        }
-
-        if (primitiveGroup.getNodesCount() > 0) {
-            return OsmDataType.NODE;
-        }
-
-        if (primitiveGroup.getWaysCount() > 0) {
-            return OsmDataType.WAY;
-        }
+    if (primitiveGroup.getNodesCount() > 0) {
+      return OsmDataType.NODE;
+    }
 
-        if (primitiveGroup.getRelationsCount() > 0) {
-            return OsmDataType.RELATION;
-        }
+    if (primitiveGroup.getWaysCount() > 0) {
+      return OsmDataType.WAY;
+    }
 
-        return OsmDataType.UNKNOWN;
+    if (primitiveGroup.getRelationsCount() > 0) {
+      return OsmDataType.RELATION;
     }
 
+    return OsmDataType.UNKNOWN;
+  }
 }
diff --git a/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/OsmDataType.java b/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/OsmDataType.java
index 941049127b..974e07bdb9 100644
--- a/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/OsmDataType.java
+++ b/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/OsmDataType.java
@@ -1,9 +1,27 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.sedona.sql.datasources.osmpbf;
 
 public enum OsmDataType {
-    NODE,
-    WAY,
-    RELATION,
-    DENSE_NODE,
-    UNKNOWN
+  NODE,
+  WAY,
+  RELATION,
+  DENSE_NODE,
+  UNKNOWN
 }
diff --git a/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/OsmPbfOptions.java b/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/OsmPbfOptions.java
index 2a648b9b6c..dc7143fda1 100644
--- a/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/OsmPbfOptions.java
+++ b/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/OsmPbfOptions.java
@@ -1,20 +1,33 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.sedona.sql.datasources.osmpbf;
 
+import org.apache.hadoop.fs.Path;
+
 public class OsmPbfOptions {
-    String inputPath;
-    OsmDataType dataType;
-    Integer startOffset;
-    Integer endOffset;
+  Path inputPath;
+  Integer startOffset;
+  Integer endOffset;
 
-    public OsmPbfOptions(
-            String inputPath,
-            OsmDataType dataType,
-            Integer startOffset,
-            Integer endOffset
-    ) {
-        this.inputPath = inputPath;
-        this.dataType = dataType;
-        this.startOffset = startOffset;
-        this.endOffset = endOffset;
-    }
+  public OsmPbfOptions(Path inputPath, Integer startOffset, Integer endOffset) {
+    this.inputPath = inputPath;
+    this.startOffset = startOffset;
+    this.endOffset = endOffset;
+  }
 }
diff --git a/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/OsmPbfReader.java b/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/OsmPbfReader.java
index dcda4ca375..3256938f2b 100644
--- a/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/OsmPbfReader.java
+++ b/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/OsmPbfReader.java
@@ -1,152 +1,173 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.sedona.sql.datasources.osmpbf;
 
 import java.io.ByteArrayInputStream;
 import java.io.DataInputStream;
-import java.io.File;
-import java.io.FileInputStream;
 import java.io.IOException;
-import java.io.RandomAccessFile;
 import java.util.ArrayList;
 import java.util.zip.DataFormatException;
 import java.util.zip.Inflater;
+import org.apache.hadoop.fs.FSDataInputStream;
+import org.apache.hadoop.fs.FileSystem;
 import org.apache.sedona.sql.datasources.osmpbf.build.Fileformat;
 import org.apache.sedona.sql.datasources.osmpbf.build.Osmformat;
 import org.apache.sedona.sql.datasources.osmpbf.features.DenseNodeParser;
+import org.apache.sedona.sql.datasources.osmpbf.features.NodeParser;
 import org.apache.sedona.sql.datasources.osmpbf.features.RelationParser;
 import org.apache.sedona.sql.datasources.osmpbf.features.WayParser;
 import org.apache.sedona.sql.datasources.osmpbf.model.OsmPbfRecord;
 
 public class OsmPbfReader {
 
-    FileInputStream stream;
-    DataInputStream pbfStream;
+  DataInputStream pbfStream;
+  int currentValue = 0;
+  int endOffset = 0;
+  int startOffset = 0;
 
-    int currentValue = 0;
-    int endOffset = 0;
-    int startOffset = 0;
+  boolean hasMoreRows = true;
+  ArrayList<OsmPbfRecord> records = new ArrayList<OsmPbfRecord>();
+  int recordIndex = 0;
 
+  FSDataInputStream openedFile;
 
-    boolean hasMoreRows = true;
-    ArrayList<OsmPbfRecord> records = new ArrayList<OsmPbfRecord>();
-    int recordIndex = 0;
+  public OsmPbfReader(OsmPbfOptions options, FileSystem fs) throws IOException {
+    openedFile = fs.open(options.inputPath);
+    openedFile.skip(options.startOffset);
 
-    public OsmPbfReader(OsmPbfOptions options) throws IOException {
-        long currentTime = System.currentTimeMillis();
+    this.pbfStream = new DataInputStream(openedFile);
 
-        RandomAccessFile randomAccessFile = new RandomAccessFile(new File(options.inputPath), "r");
-        randomAccessFile.seek(options.startOffset);
+    endOffset = options.endOffset;
+    startOffset = options.startOffset;
+  }
 
-        this.pbfStream = new DataInputStream(
-                new FileInputStream(randomAccessFile.getFD())
-        );
-        this.stream = new FileInputStream(randomAccessFile.getFD());
+  public OsmPbfReader() {}
 
-        System.out.println("Time to read file: " + (System.currentTimeMillis() - currentTime) + "for file offset " + options.startOffset + " - " + options.endOffset);
-
-        endOffset = options.endOffset;
-        startOffset = options.startOffset;
-    }
-
-    public OsmPbfReader() {
+  public boolean next() throws IOException {
+    if (recordIndex < records.size()) {
+      return true;
     }
 
-    public boolean next() throws IOException {
-        if (recordIndex < records.size()) {
-            return true;
-        }
+    return currentValue + startOffset < endOffset;
+  }
 
-        return currentValue + startOffset < endOffset;
+  public OsmPbfRecord get() throws DataFormatException, IOException {
+    if (recordIndex >= records.size()) {
+      getNextRow();
     }
 
-    public OsmPbfRecord get() throws DataFormatException, IOException {
-        if (recordIndex >= records.size()) {
-            getNextRow();
-        }
+    if (records.isEmpty()) {
+      return new OsmPbfRecord();
+    }
 
-        if (records.isEmpty()) {
-            return new OsmPbfRecord();
-        }
+    OsmPbfRecord record = records.get(recordIndex);
 
-        OsmPbfRecord record = records.get(recordIndex);
+    recordIndex++;
+    return record;
+  }
 
-        recordIndex++;
-        return record;
+  public void getNextRow() throws IOException, DataFormatException {
+    if (this.openedFile.available() == 0) {
+      hasMoreRows = false;
+      records = new ArrayList<>();
+      return;
     }
 
-    public void getNextRow() throws IOException, DataFormatException {
-        if (this.stream.available() == 0) {
-            hasMoreRows = false;
-            records = new ArrayList<>();
-            return;
-        }
+    int size = pbfStream.readInt();
+    if (size == -1) {
+      return;
+    }
 
-        int size = pbfStream.readInt();
-        if (size == -1) {
-            return;
-        }
+    currentValue += 4;
+    currentValue += size;
 
-        currentValue+=4;
-        currentValue+=size;
+    byte[] bufferBlobHeader = new byte[size];
 
-        byte[] bufferBlobHeader = new byte[size];
+    pbfStream.readFully(bufferBlobHeader);
 
-        pbfStream.readFully(bufferBlobHeader);
+    Fileformat.BlobHeader blobHeader = Fileformat.BlobHeader.parseFrom(bufferBlobHeader);
 
-        Fileformat.BlobHeader blobHeader = Fileformat.BlobHeader.parseFrom(bufferBlobHeader);
+    byte[] bufferBlob = new byte[blobHeader.getDatasize()];
 
-        byte[] bufferBlob = new byte[blobHeader.getDatasize()];
+    currentValue += blobHeader.getDatasize();
 
-        currentValue+=blobHeader.getDatasize();
+    pbfStream.readFully(bufferBlob);
 
-        pbfStream.readFully(bufferBlob);
+    Fileformat.Blob blob = Fileformat.Blob.parseFrom(bufferBlob);
 
-        Fileformat.Blob blob = Fileformat.Blob.parseFrom(bufferBlob);
+    Osmformat.PrimitiveBlock pb = Osmformat.PrimitiveBlock.parseFrom(dataInputStreamBlob(blob));
 
-        Osmformat.PrimitiveBlock pb = Osmformat.PrimitiveBlock.parseFrom(dataInputStreamBlob(blob));
+    long latOffset = pb.getLatOffset();
+    long lonOffset = pb.getLonOffset();
+    int granularity = pb.getGranularity();
+    Osmformat.StringTable stringTable = pb.getStringtable();
 
-        long latOffset = pb.getLatOffset();
-        long lonOffset = pb.getLonOffset();
-        int granularity = pb.getGranularity();
-        Osmformat.StringTable stringTable = pb.getStringtable();
+    records = new ArrayList<>();
 
-        records = new ArrayList<>();
+    for (Osmformat.PrimitiveGroup group : pb.getPrimitivegroupList()) {
+      OsmDataType type = FeatureParser.getType(group);
 
-        for (Osmformat.PrimitiveGroup group : pb.getPrimitivegroupList()) {
-            OsmDataType type = FeatureParser.getType(group);
+      switch (type) {
+        case DENSE_NODE:
+          DenseNodeParser denseNodeParser = new DenseNodeParser(granularity, latOffset, lonOffset);
+          records.addAll(denseNodeParser.parse(group.getDense(), stringTable));
+          recordIndex = 0;
+          break;
+        case WAY:
+          WayParser wayParser = new WayParser();
+          records.addAll(wayParser.parseWays(group.getWaysList(), stringTable));
+          recordIndex = 0;
+          break;
+        case RELATION:
+          records.addAll(RelationParser.parseRelations(group.getRelationsList(), stringTable));
+          recordIndex = 0;
+          break;
+        case NODE:
+          NodeParser nodeParser = new NodeParser(granularity, latOffset, lonOffset);
+          records.addAll(nodeParser.parseNodes(group.getNodesList(), stringTable));
+        default:
+          recordIndex = 0;
+          records = new ArrayList<>();
+          break;
+      }
+    }
+  }
 
-            if (type == OsmDataType.DENSE_NODE) {
-                DenseNodeParser denseNodeParser = new DenseNodeParser(granularity, latOffset, lonOffset);
-                records.addAll(denseNodeParser.parse(group.getDense(), stringTable));
-                recordIndex = 0;
-            } else if (type == OsmDataType.WAY) {
-                WayParser wayParser = new WayParser();
-                records.addAll(wayParser.parse(group.getWaysList(), stringTable));
-                recordIndex = 0;
-            } else if (type == OsmDataType.RELATION) {
-                records.addAll(RelationParser.parse(group.getRelationsList(), stringTable));
-                recordIndex = 0;
-            }
-             else {
-                recordIndex = 0;
-                records = new ArrayList<>();
-            }
-        }
+  public DataInputStream dataInputStreamBlob(Fileformat.Blob blob) throws DataFormatException {
+    if (!blob.getRaw().isEmpty()) {
+      return new DataInputStream(new ByteArrayInputStream(blob.getRaw().toByteArray()));
     }
 
-    public DataInputStream dataInputStreamBlob(Fileformat.Blob blob) throws DataFormatException {
-        if (!blob.getRaw().isEmpty()) {
-            return new DataInputStream(new ByteArrayInputStream(blob.getRaw().toByteArray()));
-        }
-
-        if (!blob.getZlibData().isEmpty()) {
-            Inflater inflater = new Inflater();
-            inflater.setInput(blob.getZlibData().toByteArray());
-            byte[] decompressedData = new byte[blob.getRawSize()];
-            inflater.inflate(decompressedData);
-            inflater.end();
-            return new DataInputStream(new ByteArrayInputStream(decompressedData));
-        }
-
-        throw new RuntimeException("Data not found even compressed.");
+    if (!blob.getZlibData().isEmpty()) {
+      Inflater inflater = new Inflater();
+      inflater.setInput(blob.getZlibData().toByteArray());
+      byte[] decompressedData = new byte[blob.getRawSize()];
+      inflater.inflate(decompressedData);
+      inflater.end();
+      return new DataInputStream(new ByteArrayInputStream(decompressedData));
     }
+
+    throw new RuntimeException("Data not found even compressed.");
+  }
+
+  public void close() throws IOException {
+    pbfStream.close();
+    openedFile.close();
+  }
 }
diff --git a/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/build/Fileformat.java b/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/build/Fileformat.java
index a6763d3620..cecc2acb65 100644
--- a/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/build/Fileformat.java
+++ b/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/build/Fileformat.java
@@ -1,154 +1,199 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// NO CHECKED-IN PROTOBUF GENCODE
-// source: main/java/org/apache/sedona/proto/fileformat.proto
-// Protobuf Java Version: 4.27.0
-
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.sedona.sql.datasources.osmpbf.build;
 
 public final class Fileformat {
   private Fileformat() {}
+
   static {
     com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
-      com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
-      /* major= */ 4,
-      /* minor= */ 27,
-      /* patch= */ 0,
-      /* suffix= */ "",
-      Fileformat.class.getName());
-  }
-  public static void registerAllExtensions(
-      com.google.protobuf.ExtensionRegistryLite registry) {
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 27,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        Fileformat.class.getName());
   }
 
-  public static void registerAllExtensions(
-      com.google.protobuf.ExtensionRegistry registry) {
-    registerAllExtensions(
-        (com.google.protobuf.ExtensionRegistryLite) registry);
+  public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}
+
+  public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
+    registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
   }
-  public interface BlobOrBuilder extends
+
+  public interface BlobOrBuilder
+      extends
       // @@protoc_insertion_point(interface_extends:Blob)
       com.google.protobuf.MessageOrBuilder {
 
     /**
+     *
+     *
      * <pre>
      * No compression
      * </pre>
      *
      * <code>optional bytes raw = 1;</code>
+     *
      * @return Whether the raw field is set.
      */
     boolean hasRaw();
     /**
+     *
+     *
      * <pre>
      * No compression
      * </pre>
      *
      * <code>optional bytes raw = 1;</code>
+     *
      * @return The raw.
      */
     com.google.protobuf.ByteString getRaw();
 
     /**
+     *
+     *
      * <pre>
      * When compressed, the uncompressed size
      * </pre>
      *
      * <code>optional int32 raw_size = 2;</code>
+     *
      * @return Whether the rawSize field is set.
      */
     boolean hasRawSize();
     /**
+     *
+     *
      * <pre>
      * When compressed, the uncompressed size
      * </pre>
      *
      * <code>optional int32 raw_size = 2;</code>
+     *
      * @return The rawSize.
      */
     int getRawSize();
 
     /**
+     *
+     *
      * <pre>
      * Possible compressed versions of the data.
      * </pre>
      *
      * <code>optional bytes zlib_data = 3;</code>
+     *
      * @return Whether the zlibData field is set.
      */
     boolean hasZlibData();
     /**
+     *
+     *
      * <pre>
      * Possible compressed versions of the data.
      * </pre>
      *
      * <code>optional bytes zlib_data = 3;</code>
+     *
      * @return The zlibData.
      */
     com.google.protobuf.ByteString getZlibData();
 
     /**
+     *
+     *
      * <pre>
      * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
      * </pre>
      *
      * <code>optional bytes lzma_data = 4;</code>
+     *
      * @return Whether the lzmaData field is set.
      */
     boolean hasLzmaData();
     /**
+     *
+     *
      * <pre>
      * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
      * </pre>
      *
      * <code>optional bytes lzma_data = 4;</code>
+     *
      * @return The lzmaData.
      */
     com.google.protobuf.ByteString getLzmaData();
 
     /**
+     *
+     *
      * <pre>
      * Formerly used for bzip2 compressed data. Depreciated in 2010.
      * </pre>
      *
      * <code>optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true];</code>
-     * @deprecated Blob.OBSOLETE_bzip2_data is deprecated.
-     *     See main/java/org/apache/sedona/proto/fileformat.proto;l=32
+     *
+     * @deprecated Blob.OBSOLETE_bzip2_data is deprecated. See
+     *     main/java/org/apache/sedona/proto/fileformat.proto;l=32
      * @return Whether the oBSOLETEBzip2Data field is set.
      */
-    @Deprecated boolean hasOBSOLETEBzip2Data();
+    @Deprecated
+    boolean hasOBSOLETEBzip2Data();
     /**
+     *
+     *
      * <pre>
      * Formerly used for bzip2 compressed data. Depreciated in 2010.
      * </pre>
      *
      * <code>optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true];</code>
-     * @deprecated Blob.OBSOLETE_bzip2_data is deprecated.
-     *     See main/java/org/apache/sedona/proto/fileformat.proto;l=32
+     *
+     * @deprecated Blob.OBSOLETE_bzip2_data is deprecated. See
+     *     main/java/org/apache/sedona/proto/fileformat.proto;l=32
      * @return The oBSOLETEBzip2Data.
      */
-    @Deprecated com.google.protobuf.ByteString getOBSOLETEBzip2Data();
+    @Deprecated
+    com.google.protobuf.ByteString getOBSOLETEBzip2Data();
   }
-  /**
-   * Protobuf type {@code Blob}
-   */
-  public static final class Blob extends
-      com.google.protobuf.GeneratedMessage implements
+  /** Protobuf type {@code Blob} */
+  public static final class Blob extends com.google.protobuf.GeneratedMessage
+      implements
       // @@protoc_insertion_point(message_implements:Blob)
       BlobOrBuilder {
-  private static final long serialVersionUID = 0L;
+    private static final long serialVersionUID = 0L;
+
     static {
       com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
-        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
-        /* major= */ 4,
-        /* minor= */ 27,
-        /* patch= */ 0,
-        /* suffix= */ "",
-        Blob.class.getName());
+          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+          /* major= */ 4,
+          /* minor= */ 27,
+          /* patch= */ 0,
+          /* suffix= */ "",
+          Blob.class.getName());
     }
     // Use Blob.newBuilder() to construct.
     private Blob(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
+
     private Blob() {
       raw_ = com.google.protobuf.ByteString.EMPTY;
       zlibData_ = com.google.protobuf.ByteString.EMPTY;
@@ -156,28 +201,28 @@ public final class Fileformat {
       oBSOLETEBzip2Data_ = com.google.protobuf.ByteString.EMPTY;
     }
 
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
+    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
       return Fileformat.internal_static_org_apache_sedona_osm_build_Blob_descriptor;
     }
 
     @Override
-    protected FieldAccessorTable
-        internalGetFieldAccessorTable() {
+    protected FieldAccessorTable internalGetFieldAccessorTable() {
       return Fileformat.internal_static_org_apache_sedona_osm_build_Blob_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              Fileformat.Blob.class, Fileformat.Blob.Builder.class);
+          .ensureFieldAccessorsInitialized(Fileformat.Blob.class, Fileformat.Blob.Builder.class);
     }
 
     private int bitField0_;
     public static final int RAW_FIELD_NUMBER = 1;
     private com.google.protobuf.ByteString raw_ = com.google.protobuf.ByteString.EMPTY;
     /**
+     *
+     *
      * <pre>
      * No compression
      * </pre>
      *
      * <code>optional bytes raw = 1;</code>
+     *
      * @return Whether the raw field is set.
      */
     @Override
@@ -185,11 +230,14 @@ public final class Fileformat {
       return ((bitField0_ & 0x00000001) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * No compression
      * </pre>
      *
      * <code>optional bytes raw = 1;</code>
+     *
      * @return The raw.
      */
     @Override
@@ -200,11 +248,14 @@ public final class Fileformat {
     public static final int RAW_SIZE_FIELD_NUMBER = 2;
     private int rawSize_ = 0;
     /**
+     *
+     *
      * <pre>
      * When compressed, the uncompressed size
      * </pre>
      *
      * <code>optional int32 raw_size = 2;</code>
+     *
      * @return Whether the rawSize field is set.
      */
     @Override
@@ -212,11 +263,14 @@ public final class Fileformat {
       return ((bitField0_ & 0x00000002) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * When compressed, the uncompressed size
      * </pre>
      *
      * <code>optional int32 raw_size = 2;</code>
+     *
      * @return The rawSize.
      */
     @Override
@@ -227,11 +281,14 @@ public final class Fileformat {
     public static final int ZLIB_DATA_FIELD_NUMBER = 3;
     private com.google.protobuf.ByteString zlibData_ = com.google.protobuf.ByteString.EMPTY;
     /**
+     *
+     *
      * <pre>
      * Possible compressed versions of the data.
      * </pre>
      *
      * <code>optional bytes zlib_data = 3;</code>
+     *
      * @return Whether the zlibData field is set.
      */
     @Override
@@ -239,11 +296,14 @@ public final class Fileformat {
       return ((bitField0_ & 0x00000004) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * Possible compressed versions of the data.
      * </pre>
      *
      * <code>optional bytes zlib_data = 3;</code>
+     *
      * @return The zlibData.
      */
     @Override
@@ -254,11 +314,14 @@ public final class Fileformat {
     public static final int LZMA_DATA_FIELD_NUMBER = 4;
     private com.google.protobuf.ByteString lzmaData_ = com.google.protobuf.ByteString.EMPTY;
     /**
+     *
+     *
      * <pre>
      * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
      * </pre>
      *
      * <code>optional bytes lzma_data = 4;</code>
+     *
      * @return Whether the lzmaData field is set.
      */
     @Override
@@ -266,11 +329,14 @@ public final class Fileformat {
       return ((bitField0_ & 0x00000008) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
      * </pre>
      *
      * <code>optional bytes lzma_data = 4;</code>
+     *
      * @return The lzmaData.
      */
     @Override
@@ -279,37 +345,47 @@ public final class Fileformat {
     }
 
     public static final int OBSOLETE_BZIP2_DATA_FIELD_NUMBER = 5;
-    private com.google.protobuf.ByteString oBSOLETEBzip2Data_ = com.google.protobuf.ByteString.EMPTY;
+    private com.google.protobuf.ByteString oBSOLETEBzip2Data_ =
+        com.google.protobuf.ByteString.EMPTY;
     /**
+     *
+     *
      * <pre>
      * Formerly used for bzip2 compressed data. Depreciated in 2010.
      * </pre>
      *
      * <code>optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true];</code>
-     * @deprecated Blob.OBSOLETE_bzip2_data is deprecated.
-     *     See main/java/org/apache/sedona/proto/fileformat.proto;l=32
+     *
+     * @deprecated Blob.OBSOLETE_bzip2_data is deprecated. See
+     *     main/java/org/apache/sedona/proto/fileformat.proto;l=32
      * @return Whether the oBSOLETEBzip2Data field is set.
      */
     @Override
-    @Deprecated public boolean hasOBSOLETEBzip2Data() {
+    @Deprecated
+    public boolean hasOBSOLETEBzip2Data() {
       return ((bitField0_ & 0x00000010) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * Formerly used for bzip2 compressed data. Depreciated in 2010.
      * </pre>
      *
      * <code>optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true];</code>
-     * @deprecated Blob.OBSOLETE_bzip2_data is deprecated.
-     *     See main/java/org/apache/sedona/proto/fileformat.proto;l=32
+     *
+     * @deprecated Blob.OBSOLETE_bzip2_data is deprecated. See
+     *     main/java/org/apache/sedona/proto/fileformat.proto;l=32
      * @return The oBSOLETEBzip2Data.
      */
     @Override
-    @Deprecated public com.google.protobuf.ByteString getOBSOLETEBzip2Data() {
+    @Deprecated
+    public com.google.protobuf.ByteString getOBSOLETEBzip2Data() {
       return oBSOLETEBzip2Data_;
     }
 
     private byte memoizedIsInitialized = -1;
+
     @Override
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
@@ -321,8 +397,7 @@ public final class Fileformat {
     }
 
     @Override
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
+    public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
       if (((bitField0_ & 0x00000001) != 0)) {
         output.writeBytes(1, raw_);
       }
@@ -348,24 +423,19 @@ public final class Fileformat {
 
       size = 0;
       if (((bitField0_ & 0x00000001) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(1, raw_);
+        size += com.google.protobuf.CodedOutputStream.computeBytesSize(1, raw_);
       }
       if (((bitField0_ & 0x00000002) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt32Size(2, rawSize_);
+        size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, rawSize_);
       }
       if (((bitField0_ & 0x00000004) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(3, zlibData_);
+        size += com.google.protobuf.CodedOutputStream.computeBytesSize(3, zlibData_);
       }
       if (((bitField0_ & 0x00000008) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(4, lzmaData_);
+        size += com.google.protobuf.CodedOutputStream.computeBytesSize(4, lzmaData_);
       }
       if (((bitField0_ & 0x00000010) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(5, oBSOLETEBzip2Data_);
+        size += com.google.protobuf.CodedOutputStream.computeBytesSize(5, oBSOLETEBzip2Data_);
       }
       size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
@@ -375,7 +445,7 @@ public final class Fileformat {
     @Override
     public boolean equals(final Object obj) {
       if (obj == this) {
-       return true;
+        return true;
       }
       if (!(obj instanceof Fileformat.Blob)) {
         return super.equals(obj);
@@ -384,28 +454,23 @@ public final class Fileformat {
 
       if (hasRaw() != other.hasRaw()) return false;
       if (hasRaw()) {
-        if (!getRaw()
-            .equals(other.getRaw())) return false;
+        if (!getRaw().equals(other.getRaw())) return false;
       }
       if (hasRawSize() != other.hasRawSize()) return false;
       if (hasRawSize()) {
-        if (getRawSize()
-            != other.getRawSize()) return false;
+        if (getRawSize() != other.getRawSize()) return false;
       }
       if (hasZlibData() != other.hasZlibData()) return false;
       if (hasZlibData()) {
-        if (!getZlibData()
-            .equals(other.getZlibData())) return false;
+        if (!getZlibData().equals(other.getZlibData())) return false;
       }
       if (hasLzmaData() != other.hasLzmaData()) return false;
       if (hasLzmaData()) {
-        if (!getLzmaData()
-            .equals(other.getLzmaData())) return false;
+        if (!getLzmaData().equals(other.getLzmaData())) return false;
       }
       if (hasOBSOLETEBzip2Data() != other.hasOBSOLETEBzip2Data()) return false;
       if (hasOBSOLETEBzip2Data()) {
-        if (!getOBSOLETEBzip2Data()
-            .equals(other.getOBSOLETEBzip2Data())) return false;
+        if (!getOBSOLETEBzip2Data().equals(other.getOBSOLETEBzip2Data())) return false;
       }
       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
@@ -443,128 +508,121 @@ public final class Fileformat {
       return hash;
     }
 
-    public static Fileformat.Blob parseFrom(
-        java.nio.ByteBuffer data)
+    public static Fileformat.Blob parseFrom(java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Fileformat.Blob parseFrom(
-        java.nio.ByteBuffer data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Fileformat.Blob parseFrom(
-        com.google.protobuf.ByteString data)
+
+    public static Fileformat.Blob parseFrom(com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Fileformat.Blob parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
+
     public static Fileformat.Blob parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Fileformat.Blob parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Fileformat.Blob parseFrom(java.io.InputStream input)
-        throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+
+    public static Fileformat.Blob parseFrom(java.io.InputStream input) throws java.io.IOException {
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Fileformat.Blob parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     public static Fileformat.Blob parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input);
     }
 
     public static Fileformat.Blob parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(
+          PARSER, input, extensionRegistry);
     }
-    public static Fileformat.Blob parseFrom(
-        com.google.protobuf.CodedInputStream input)
+
+    public static Fileformat.Blob parseFrom(com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Fileformat.Blob parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     @Override
-    public Builder newBuilderForType() { return newBuilder(); }
+    public Builder newBuilderForType() {
+      return newBuilder();
+    }
+
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
+
     public static Builder newBuilder(Fileformat.Blob prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
+
     @Override
     public Builder toBuilder() {
-      return this == DEFAULT_INSTANCE
-          ? new Builder() : new Builder().mergeFrom(this);
+      return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @Override
-    protected Builder newBuilderForType(
-        BuilderParent parent) {
+    protected Builder newBuilderForType(BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
-    /**
-     * Protobuf type {@code Blob}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+    /** Protobuf type {@code Blob} */
+    public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder>
+        implements
         // @@protoc_insertion_point(builder_implements:Blob)
         Fileformat.BlobOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
+      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
         return Fileformat.internal_static_org_apache_sedona_osm_build_Blob_descriptor;
       }
 
       @Override
-      protected FieldAccessorTable
-          internalGetFieldAccessorTable() {
+      protected FieldAccessorTable internalGetFieldAccessorTable() {
         return Fileformat.internal_static_org_apache_sedona_osm_build_Blob_fieldAccessorTable
-            .ensureFieldAccessorsInitialized(
-                Fileformat.Blob.class, Fileformat.Blob.Builder.class);
+            .ensureFieldAccessorsInitialized(Fileformat.Blob.class, Fileformat.Blob.Builder.class);
       }
 
       // Construct using Fileformat.Blob.newBuilder()
-      private Builder() {
-
-      }
+      private Builder() {}
 
-      private Builder(
-          BuilderParent parent) {
+      private Builder(BuilderParent parent) {
         super(parent);
-
       }
+
       @Override
       public Builder clear() {
         super.clear();
@@ -578,8 +636,7 @@ public final class Fileformat {
       }
 
       @Override
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
+      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
         return Fileformat.internal_static_org_apache_sedona_osm_build_Blob_descriptor;
       }
 
@@ -600,7 +657,9 @@ public final class Fileformat {
       @Override
       public Fileformat.Blob buildPartial() {
         Fileformat.Blob result = new Fileformat.Blob(this);
-        if (bitField0_ != 0) { buildPartial0(result); }
+        if (bitField0_ != 0) {
+          buildPartial0(result);
+        }
         onBuilt();
         return result;
       }
@@ -634,7 +693,7 @@ public final class Fileformat {
       @Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof Fileformat.Blob) {
-          return mergeFrom((Fileformat.Blob)other);
+          return mergeFrom((Fileformat.Blob) other);
         } else {
           super.mergeFrom(other);
           return this;
@@ -684,37 +743,43 @@ public final class Fileformat {
               case 0:
                 done = true;
                 break;
-              case 10: {
-                raw_ = input.readBytes();
-                bitField0_ |= 0x00000001;
-                break;
-              } // case 10
-              case 16: {
-                rawSize_ = input.readInt32();
-                bitField0_ |= 0x00000002;
-                break;
-              } // case 16
-              case 26: {
-                zlibData_ = input.readBytes();
-                bitField0_ |= 0x00000004;
-                break;
-              } // case 26
-              case 34: {
-                lzmaData_ = input.readBytes();
-                bitField0_ |= 0x00000008;
-                break;
-              } // case 34
-              case 42: {
-                oBSOLETEBzip2Data_ = input.readBytes();
-                bitField0_ |= 0x00000010;
-                break;
-              } // case 42
-              default: {
-                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                  done = true; // was an endgroup tag
-                }
-                break;
-              } // default:
+              case 10:
+                {
+                  raw_ = input.readBytes();
+                  bitField0_ |= 0x00000001;
+                  break;
+                } // case 10
+              case 16:
+                {
+                  rawSize_ = input.readInt32();
+                  bitField0_ |= 0x00000002;
+                  break;
+                } // case 16
+              case 26:
+                {
+                  zlibData_ = input.readBytes();
+                  bitField0_ |= 0x00000004;
+                  break;
+                } // case 26
+              case 34:
+                {
+                  lzmaData_ = input.readBytes();
+                  bitField0_ |= 0x00000008;
+                  break;
+                } // case 34
+              case 42:
+                {
+                  oBSOLETEBzip2Data_ = input.readBytes();
+                  bitField0_ |= 0x00000010;
+                  break;
+                } // case 42
+              default:
+                {
+                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                    done = true; // was an endgroup tag
+                  }
+                  break;
+                } // default:
             } // switch (tag)
           } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -724,15 +789,19 @@ public final class Fileformat {
         } // finally
         return this;
       }
+
       private int bitField0_;
 
       private com.google.protobuf.ByteString raw_ = com.google.protobuf.ByteString.EMPTY;
       /**
+       *
+       *
        * <pre>
        * No compression
        * </pre>
        *
        * <code>optional bytes raw = 1;</code>
+       *
        * @return Whether the raw field is set.
        */
       @Override
@@ -740,11 +809,14 @@ public final class Fileformat {
         return ((bitField0_ & 0x00000001) != 0);
       }
       /**
+       *
+       *
        * <pre>
        * No compression
        * </pre>
        *
        * <code>optional bytes raw = 1;</code>
+       *
        * @return The raw.
        */
       @Override
@@ -752,27 +824,35 @@ public final class Fileformat {
         return raw_;
       }
       /**
+       *
+       *
        * <pre>
        * No compression
        * </pre>
        *
        * <code>optional bytes raw = 1;</code>
+       *
        * @param value The raw to set.
        * @return This builder for chaining.
        */
       public Builder setRaw(com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
+        if (value == null) {
+          throw new NullPointerException();
+        }
         raw_ = value;
         bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * No compression
        * </pre>
        *
        * <code>optional bytes raw = 1;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearRaw() {
@@ -782,13 +862,16 @@ public final class Fileformat {
         return this;
       }
 
-      private int rawSize_ ;
+      private int rawSize_;
       /**
+       *
+       *
        * <pre>
        * When compressed, the uncompressed size
        * </pre>
        *
        * <code>optional int32 raw_size = 2;</code>
+       *
        * @return Whether the rawSize field is set.
        */
       @Override
@@ -796,11 +879,14 @@ public final class Fileformat {
         return ((bitField0_ & 0x00000002) != 0);
       }
       /**
+       *
+       *
        * <pre>
        * When compressed, the uncompressed size
        * </pre>
        *
        * <code>optional int32 raw_size = 2;</code>
+       *
        * @return The rawSize.
        */
       @Override
@@ -808,11 +894,14 @@ public final class Fileformat {
         return rawSize_;
       }
       /**
+       *
+       *
        * <pre>
        * When compressed, the uncompressed size
        * </pre>
        *
        * <code>optional int32 raw_size = 2;</code>
+       *
        * @param value The rawSize to set.
        * @return This builder for chaining.
        */
@@ -824,11 +913,14 @@ public final class Fileformat {
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * When compressed, the uncompressed size
        * </pre>
        *
        * <code>optional int32 raw_size = 2;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearRawSize() {
@@ -840,11 +932,14 @@ public final class Fileformat {
 
       private com.google.protobuf.ByteString zlibData_ = com.google.protobuf.ByteString.EMPTY;
       /**
+       *
+       *
        * <pre>
        * Possible compressed versions of the data.
        * </pre>
        *
        * <code>optional bytes zlib_data = 3;</code>
+       *
        * @return Whether the zlibData field is set.
        */
       @Override
@@ -852,11 +947,14 @@ public final class Fileformat {
         return ((bitField0_ & 0x00000004) != 0);
       }
       /**
+       *
+       *
        * <pre>
        * Possible compressed versions of the data.
        * </pre>
        *
        * <code>optional bytes zlib_data = 3;</code>
+       *
        * @return The zlibData.
        */
       @Override
@@ -864,27 +962,35 @@ public final class Fileformat {
         return zlibData_;
       }
       /**
+       *
+       *
        * <pre>
        * Possible compressed versions of the data.
        * </pre>
        *
        * <code>optional bytes zlib_data = 3;</code>
+       *
        * @param value The zlibData to set.
        * @return This builder for chaining.
        */
       public Builder setZlibData(com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
+        if (value == null) {
+          throw new NullPointerException();
+        }
         zlibData_ = value;
         bitField0_ |= 0x00000004;
         onChanged();
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * Possible compressed versions of the data.
        * </pre>
        *
        * <code>optional bytes zlib_data = 3;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearZlibData() {
@@ -896,11 +1002,14 @@ public final class Fileformat {
 
       private com.google.protobuf.ByteString lzmaData_ = com.google.protobuf.ByteString.EMPTY;
       /**
+       *
+       *
        * <pre>
        * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
        * </pre>
        *
        * <code>optional bytes lzma_data = 4;</code>
+       *
        * @return Whether the lzmaData field is set.
        */
       @Override
@@ -908,11 +1017,14 @@ public final class Fileformat {
         return ((bitField0_ & 0x00000008) != 0);
       }
       /**
+       *
+       *
        * <pre>
        * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
        * </pre>
        *
        * <code>optional bytes lzma_data = 4;</code>
+       *
        * @return The lzmaData.
        */
       @Override
@@ -920,27 +1032,35 @@ public final class Fileformat {
         return lzmaData_;
       }
       /**
+       *
+       *
        * <pre>
        * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
        * </pre>
        *
        * <code>optional bytes lzma_data = 4;</code>
+       *
        * @param value The lzmaData to set.
        * @return This builder for chaining.
        */
       public Builder setLzmaData(com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
+        if (value == null) {
+          throw new NullPointerException();
+        }
         lzmaData_ = value;
         bitField0_ |= 0x00000008;
         onChanged();
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * PROPOSED feature for LZMA compressed data. SUPPORT IS NOT REQUIRED.
        * </pre>
        *
        * <code>optional bytes lzma_data = 4;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearLzmaData() {
@@ -950,60 +1070,79 @@ public final class Fileformat {
         return this;
       }
 
-      private com.google.protobuf.ByteString oBSOLETEBzip2Data_ = com.google.protobuf.ByteString.EMPTY;
+      private com.google.protobuf.ByteString oBSOLETEBzip2Data_ =
+          com.google.protobuf.ByteString.EMPTY;
       /**
+       *
+       *
        * <pre>
        * Formerly used for bzip2 compressed data. Depreciated in 2010.
        * </pre>
        *
        * <code>optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true];</code>
-       * @deprecated Blob.OBSOLETE_bzip2_data is deprecated.
-       *     See main/java/org/apache/sedona/proto/fileformat.proto;l=32
+       *
+       * @deprecated Blob.OBSOLETE_bzip2_data is deprecated. See
+       *     main/java/org/apache/sedona/proto/fileformat.proto;l=32
        * @return Whether the oBSOLETEBzip2Data field is set.
        */
       @Override
-      @Deprecated public boolean hasOBSOLETEBzip2Data() {
+      @Deprecated
+      public boolean hasOBSOLETEBzip2Data() {
         return ((bitField0_ & 0x00000010) != 0);
       }
       /**
+       *
+       *
        * <pre>
        * Formerly used for bzip2 compressed data. Depreciated in 2010.
        * </pre>
        *
        * <code>optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true];</code>
-       * @deprecated Blob.OBSOLETE_bzip2_data is deprecated.
-       *     See main/java/org/apache/sedona/proto/fileformat.proto;l=32
+       *
+       * @deprecated Blob.OBSOLETE_bzip2_data is deprecated. See
+       *     main/java/org/apache/sedona/proto/fileformat.proto;l=32
        * @return The oBSOLETEBzip2Data.
        */
       @Override
-      @Deprecated public com.google.protobuf.ByteString getOBSOLETEBzip2Data() {
+      @Deprecated
+      public com.google.protobuf.ByteString getOBSOLETEBzip2Data() {
         return oBSOLETEBzip2Data_;
       }
       /**
+       *
+       *
        * <pre>
        * Formerly used for bzip2 compressed data. Depreciated in 2010.
        * </pre>
        *
        * <code>optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true];</code>
+       *
        * @param value The oBSOLETEBzip2Data to set.
        * @return This builder for chaining.
        */
-      @Deprecated public Builder setOBSOLETEBzip2Data(com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
+      @Deprecated
+      public Builder setOBSOLETEBzip2Data(com.google.protobuf.ByteString value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         oBSOLETEBzip2Data_ = value;
         bitField0_ |= 0x00000010;
         onChanged();
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * Formerly used for bzip2 compressed data. Depreciated in 2010.
        * </pre>
        *
        * <code>optional bytes OBSOLETE_bzip2_data = 5 [deprecated = true];</code>
+       *
        * @return This builder for chaining.
        */
-      @Deprecated public Builder clearOBSOLETEBzip2Data() {
+      @Deprecated
+      public Builder clearOBSOLETEBzip2Data() {
         bitField0_ = (bitField0_ & ~0x00000010);
         oBSOLETEBzip2Data_ = getDefaultInstance().getOBSOLETEBzip2Data();
         onChanged();
@@ -1015,6 +1154,7 @@ public final class Fileformat {
 
     // @@protoc_insertion_point(class_scope:Blob)
     private static final Fileformat.Blob DEFAULT_INSTANCE;
+
     static {
       DEFAULT_INSTANCE = new Fileformat.Blob();
     }
@@ -1023,27 +1163,28 @@ public final class Fileformat {
       return DEFAULT_INSTANCE;
     }
 
-    private static final com.google.protobuf.Parser<Blob>
-        PARSER = new com.google.protobuf.AbstractParser<Blob>() {
-      @Override
-      public Blob parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        Builder builder = newBuilder();
-        try {
-          builder.mergeFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          throw e.setUnfinishedMessage(builder.buildPartial());
-        } catch (com.google.protobuf.UninitializedMessageException e) {
-          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-        } catch (java.io.IOException e) {
-          throw new com.google.protobuf.InvalidProtocolBufferException(e)
-              .setUnfinishedMessage(builder.buildPartial());
-        }
-        return builder.buildPartial();
-      }
-    };
+    private static final com.google.protobuf.Parser<Blob> PARSER =
+        new com.google.protobuf.AbstractParser<Blob>() {
+          @Override
+          public Blob parsePartialFrom(
+              com.google.protobuf.CodedInputStream input,
+              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+              throws com.google.protobuf.InvalidProtocolBufferException {
+            Builder builder = newBuilder();
+            try {
+              builder.mergeFrom(input, extensionRegistry);
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+              throw e.setUnfinishedMessage(builder.buildPartial());
+            } catch (com.google.protobuf.UninitializedMessageException e) {
+              throw e.asInvalidProtocolBufferException()
+                  .setUnfinishedMessage(builder.buildPartial());
+            } catch (java.io.IOException e) {
+              throw new com.google.protobuf.InvalidProtocolBufferException(e)
+                  .setUnfinishedMessage(builder.buildPartial());
+            }
+            return builder.buildPartial();
+          }
+        };
 
     public static com.google.protobuf.Parser<Blob> parser() {
       return PARSER;
@@ -1058,86 +1199,90 @@ public final class Fileformat {
     public Fileformat.Blob getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
-
   }
 
-  public interface BlobHeaderOrBuilder extends
+  public interface BlobHeaderOrBuilder
+      extends
       // @@protoc_insertion_point(interface_extends:BlobHeader)
       com.google.protobuf.MessageOrBuilder {
 
     /**
      * <code>required string type = 1;</code>
+     *
      * @return Whether the type field is set.
      */
     boolean hasType();
     /**
      * <code>required string type = 1;</code>
+     *
      * @return The type.
      */
     String getType();
     /**
      * <code>required string type = 1;</code>
+     *
      * @return The bytes for type.
      */
-    com.google.protobuf.ByteString
-        getTypeBytes();
+    com.google.protobuf.ByteString getTypeBytes();
 
     /**
      * <code>optional bytes indexdata = 2;</code>
+     *
      * @return Whether the indexdata field is set.
      */
     boolean hasIndexdata();
     /**
      * <code>optional bytes indexdata = 2;</code>
+     *
      * @return The indexdata.
      */
     com.google.protobuf.ByteString getIndexdata();
 
     /**
      * <code>required int32 datasize = 3;</code>
+     *
      * @return Whether the datasize field is set.
      */
     boolean hasDatasize();
     /**
      * <code>required int32 datasize = 3;</code>
+     *
      * @return The datasize.
      */
     int getDatasize();
   }
-  /**
-   * Protobuf type {@code BlobHeader}
-   */
-  public static final class BlobHeader extends
-      com.google.protobuf.GeneratedMessage implements
+  /** Protobuf type {@code BlobHeader} */
+  public static final class BlobHeader extends com.google.protobuf.GeneratedMessage
+      implements
       // @@protoc_insertion_point(message_implements:BlobHeader)
       BlobHeaderOrBuilder {
-  private static final long serialVersionUID = 0L;
+    private static final long serialVersionUID = 0L;
+
     static {
       com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
-        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
-        /* major= */ 4,
-        /* minor= */ 27,
-        /* patch= */ 0,
-        /* suffix= */ "",
-        BlobHeader.class.getName());
+          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+          /* major= */ 4,
+          /* minor= */ 27,
+          /* patch= */ 0,
+          /* suffix= */ "",
+          BlobHeader.class.getName());
     }
     // Use BlobHeader.newBuilder() to construct.
     private BlobHeader(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
+
     private BlobHeader() {
       type_ = "";
       indexdata_ = com.google.protobuf.ByteString.EMPTY;
     }
 
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
+    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
       return Fileformat.internal_static_org_apache_sedona_osm_build_BlobHeader_descriptor;
     }
 
     @Override
-    protected FieldAccessorTable
-        internalGetFieldAccessorTable() {
+    protected FieldAccessorTable internalGetFieldAccessorTable() {
       return Fileformat.internal_static_org_apache_sedona_osm_build_BlobHeader_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
               Fileformat.BlobHeader.class, Fileformat.BlobHeader.Builder.class);
@@ -1145,10 +1290,12 @@ public final class Fileformat {
 
     private int bitField0_;
     public static final int TYPE_FIELD_NUMBER = 1;
+
     @SuppressWarnings("serial")
     private volatile Object type_ = "";
     /**
      * <code>required string type = 1;</code>
+     *
      * @return Whether the type field is set.
      */
     @Override
@@ -1157,6 +1304,7 @@ public final class Fileformat {
     }
     /**
      * <code>required string type = 1;</code>
+     *
      * @return The type.
      */
     @Override
@@ -1165,8 +1313,7 @@ public final class Fileformat {
       if (ref instanceof String) {
         return (String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-            (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
         String s = bs.toStringUtf8();
         if (bs.isValidUtf8()) {
           type_ = s;
@@ -1176,16 +1323,15 @@ public final class Fileformat {
     }
     /**
      * <code>required string type = 1;</code>
+     *
      * @return The bytes for type.
      */
     @Override
-    public com.google.protobuf.ByteString
-        getTypeBytes() {
+    public com.google.protobuf.ByteString getTypeBytes() {
       Object ref = type_;
       if (ref instanceof String) {
         com.google.protobuf.ByteString b =
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (String) ref);
+            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
         type_ = b;
         return b;
       } else {
@@ -1197,6 +1343,7 @@ public final class Fileformat {
     private com.google.protobuf.ByteString indexdata_ = com.google.protobuf.ByteString.EMPTY;
     /**
      * <code>optional bytes indexdata = 2;</code>
+     *
      * @return Whether the indexdata field is set.
      */
     @Override
@@ -1205,6 +1352,7 @@ public final class Fileformat {
     }
     /**
      * <code>optional bytes indexdata = 2;</code>
+     *
      * @return The indexdata.
      */
     @Override
@@ -1216,6 +1364,7 @@ public final class Fileformat {
     private int datasize_ = 0;
     /**
      * <code>required int32 datasize = 3;</code>
+     *
      * @return Whether the datasize field is set.
      */
     @Override
@@ -1224,6 +1373,7 @@ public final class Fileformat {
     }
     /**
      * <code>required int32 datasize = 3;</code>
+     *
      * @return The datasize.
      */
     @Override
@@ -1232,6 +1382,7 @@ public final class Fileformat {
     }
 
     private byte memoizedIsInitialized = -1;
+
     @Override
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
@@ -1251,8 +1402,7 @@ public final class Fileformat {
     }
 
     @Override
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
+    public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
       if (((bitField0_ & 0x00000001) != 0)) {
         com.google.protobuf.GeneratedMessage.writeString(output, 1, type_);
       }
@@ -1275,12 +1425,10 @@ public final class Fileformat {
         size += com.google.protobuf.GeneratedMessage.computeStringSize(1, type_);
       }
       if (((bitField0_ & 0x00000002) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeBytesSize(2, indexdata_);
+        size += com.google.protobuf.CodedOutputStream.computeBytesSize(2, indexdata_);
       }
       if (((bitField0_ & 0x00000004) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt32Size(3, datasize_);
+        size += com.google.protobuf.CodedOutputStream.computeInt32Size(3, datasize_);
       }
       size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
@@ -1290,7 +1438,7 @@ public final class Fileformat {
     @Override
     public boolean equals(final Object obj) {
       if (obj == this) {
-       return true;
+        return true;
       }
       if (!(obj instanceof Fileformat.BlobHeader)) {
         return super.equals(obj);
@@ -1299,18 +1447,15 @@ public final class Fileformat {
 
       if (hasType() != other.hasType()) return false;
       if (hasType()) {
-        if (!getType()
-            .equals(other.getType())) return false;
+        if (!getType().equals(other.getType())) return false;
       }
       if (hasIndexdata() != other.hasIndexdata()) return false;
       if (hasIndexdata()) {
-        if (!getIndexdata()
-            .equals(other.getIndexdata())) return false;
+        if (!getIndexdata().equals(other.getIndexdata())) return false;
       }
       if (hasDatasize() != other.hasDatasize()) return false;
       if (hasDatasize()) {
-        if (getDatasize()
-            != other.getDatasize()) return false;
+        if (getDatasize() != other.getDatasize()) return false;
       }
       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
@@ -1340,128 +1485,123 @@ public final class Fileformat {
       return hash;
     }
 
-    public static Fileformat.BlobHeader parseFrom(
-        java.nio.ByteBuffer data)
+    public static Fileformat.BlobHeader parseFrom(java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Fileformat.BlobHeader parseFrom(
-        java.nio.ByteBuffer data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Fileformat.BlobHeader parseFrom(
-        com.google.protobuf.ByteString data)
+
+    public static Fileformat.BlobHeader parseFrom(com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Fileformat.BlobHeader parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
+
     public static Fileformat.BlobHeader parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Fileformat.BlobHeader parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
+
     public static Fileformat.BlobHeader parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Fileformat.BlobHeader parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     public static Fileformat.BlobHeader parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input);
     }
 
     public static Fileformat.BlobHeader parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(
+          PARSER, input, extensionRegistry);
     }
-    public static Fileformat.BlobHeader parseFrom(
-        com.google.protobuf.CodedInputStream input)
+
+    public static Fileformat.BlobHeader parseFrom(com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Fileformat.BlobHeader parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     @Override
-    public Builder newBuilderForType() { return newBuilder(); }
+    public Builder newBuilderForType() {
+      return newBuilder();
+    }
+
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
+
     public static Builder newBuilder(Fileformat.BlobHeader prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
+
     @Override
     public Builder toBuilder() {
-      return this == DEFAULT_INSTANCE
-          ? new Builder() : new Builder().mergeFrom(this);
+      return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @Override
-    protected Builder newBuilderForType(
-        BuilderParent parent) {
+    protected Builder newBuilderForType(BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
-    /**
-     * Protobuf type {@code BlobHeader}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+    /** Protobuf type {@code BlobHeader} */
+    public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder>
+        implements
         // @@protoc_insertion_point(builder_implements:BlobHeader)
         Fileformat.BlobHeaderOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
+      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
         return Fileformat.internal_static_org_apache_sedona_osm_build_BlobHeader_descriptor;
       }
 
       @Override
-      protected FieldAccessorTable
-          internalGetFieldAccessorTable() {
+      protected FieldAccessorTable internalGetFieldAccessorTable() {
         return Fileformat.internal_static_org_apache_sedona_osm_build_BlobHeader_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
                 Fileformat.BlobHeader.class, Fileformat.BlobHeader.Builder.class);
       }
 
       // Construct using Fileformat.BlobHeader.newBuilder()
-      private Builder() {
-
-      }
+      private Builder() {}
 
-      private Builder(
-          BuilderParent parent) {
+      private Builder(BuilderParent parent) {
         super(parent);
-
       }
+
       @Override
       public Builder clear() {
         super.clear();
@@ -1473,8 +1613,7 @@ public final class Fileformat {
       }
 
       @Override
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
+      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
         return Fileformat.internal_static_org_apache_sedona_osm_build_BlobHeader_descriptor;
       }
 
@@ -1495,7 +1634,9 @@ public final class Fileformat {
       @Override
       public Fileformat.BlobHeader buildPartial() {
         Fileformat.BlobHeader result = new Fileformat.BlobHeader(this);
-        if (bitField0_ != 0) { buildPartial0(result); }
+        if (bitField0_ != 0) {
+          buildPartial0(result);
+        }
         onBuilt();
         return result;
       }
@@ -1521,7 +1662,7 @@ public final class Fileformat {
       @Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof Fileformat.BlobHeader) {
-          return mergeFrom((Fileformat.BlobHeader)other);
+          return mergeFrom((Fileformat.BlobHeader) other);
         } else {
           super.mergeFrom(other);
           return this;
@@ -1573,27 +1714,31 @@ public final class Fileformat {
               case 0:
                 done = true;
                 break;
-              case 10: {
-                type_ = input.readBytes();
-                bitField0_ |= 0x00000001;
-                break;
-              } // case 10
-              case 18: {
-                indexdata_ = input.readBytes();
-                bitField0_ |= 0x00000002;
-                break;
-              } // case 18
-              case 24: {
-                datasize_ = input.readInt32();
-                bitField0_ |= 0x00000004;
-                break;
-              } // case 24
-              default: {
-                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                  done = true; // was an endgroup tag
-                }
-                break;
-              } // default:
+              case 10:
+                {
+                  type_ = input.readBytes();
+                  bitField0_ |= 0x00000001;
+                  break;
+                } // case 10
+              case 18:
+                {
+                  indexdata_ = input.readBytes();
+                  bitField0_ |= 0x00000002;
+                  break;
+                } // case 18
+              case 24:
+                {
+                  datasize_ = input.readInt32();
+                  bitField0_ |= 0x00000004;
+                  break;
+                } // case 24
+              default:
+                {
+                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                    done = true; // was an endgroup tag
+                  }
+                  break;
+                } // default:
             } // switch (tag)
           } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -1603,11 +1748,13 @@ public final class Fileformat {
         } // finally
         return this;
       }
+
       private int bitField0_;
 
       private Object type_ = "";
       /**
        * <code>required string type = 1;</code>
+       *
        * @return Whether the type field is set.
        */
       public boolean hasType() {
@@ -1615,13 +1762,13 @@ public final class Fileformat {
       }
       /**
        * <code>required string type = 1;</code>
+       *
        * @return The type.
        */
       public String getType() {
         Object ref = type_;
         if (!(ref instanceof String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
+          com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
           String s = bs.toStringUtf8();
           if (bs.isValidUtf8()) {
             type_ = s;
@@ -1633,15 +1780,14 @@ public final class Fileformat {
       }
       /**
        * <code>required string type = 1;</code>
+       *
        * @return The bytes for type.
        */
-      public com.google.protobuf.ByteString
-          getTypeBytes() {
+      public com.google.protobuf.ByteString getTypeBytes() {
         Object ref = type_;
         if (ref instanceof String) {
           com.google.protobuf.ByteString b =
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (String) ref);
+              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
           type_ = b;
           return b;
         } else {
@@ -1650,12 +1796,14 @@ public final class Fileformat {
       }
       /**
        * <code>required string type = 1;</code>
+       *
        * @param value The type to set.
        * @return This builder for chaining.
        */
-      public Builder setType(
-          String value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder setType(String value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         type_ = value;
         bitField0_ |= 0x00000001;
         onChanged();
@@ -1663,6 +1811,7 @@ public final class Fileformat {
       }
       /**
        * <code>required string type = 1;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearType() {
@@ -1673,12 +1822,14 @@ public final class Fileformat {
       }
       /**
        * <code>required string type = 1;</code>
+       *
        * @param value The bytes for type to set.
        * @return This builder for chaining.
        */
-      public Builder setTypeBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder setTypeBytes(com.google.protobuf.ByteString value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         type_ = value;
         bitField0_ |= 0x00000001;
         onChanged();
@@ -1688,6 +1839,7 @@ public final class Fileformat {
       private com.google.protobuf.ByteString indexdata_ = com.google.protobuf.ByteString.EMPTY;
       /**
        * <code>optional bytes indexdata = 2;</code>
+       *
        * @return Whether the indexdata field is set.
        */
       @Override
@@ -1696,6 +1848,7 @@ public final class Fileformat {
       }
       /**
        * <code>optional bytes indexdata = 2;</code>
+       *
        * @return The indexdata.
        */
       @Override
@@ -1704,11 +1857,14 @@ public final class Fileformat {
       }
       /**
        * <code>optional bytes indexdata = 2;</code>
+       *
        * @param value The indexdata to set.
        * @return This builder for chaining.
        */
       public Builder setIndexdata(com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
+        if (value == null) {
+          throw new NullPointerException();
+        }
         indexdata_ = value;
         bitField0_ |= 0x00000002;
         onChanged();
@@ -1716,6 +1872,7 @@ public final class Fileformat {
       }
       /**
        * <code>optional bytes indexdata = 2;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearIndexdata() {
@@ -1725,9 +1882,10 @@ public final class Fileformat {
         return this;
       }
 
-      private int datasize_ ;
+      private int datasize_;
       /**
        * <code>required int32 datasize = 3;</code>
+       *
        * @return Whether the datasize field is set.
        */
       @Override
@@ -1736,6 +1894,7 @@ public final class Fileformat {
       }
       /**
        * <code>required int32 datasize = 3;</code>
+       *
        * @return The datasize.
        */
       @Override
@@ -1744,6 +1903,7 @@ public final class Fileformat {
       }
       /**
        * <code>required int32 datasize = 3;</code>
+       *
        * @param value The datasize to set.
        * @return This builder for chaining.
        */
@@ -1756,6 +1916,7 @@ public final class Fileformat {
       }
       /**
        * <code>required int32 datasize = 3;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearDatasize() {
@@ -1770,6 +1931,7 @@ public final class Fileformat {
 
     // @@protoc_insertion_point(class_scope:BlobHeader)
     private static final Fileformat.BlobHeader DEFAULT_INSTANCE;
+
     static {
       DEFAULT_INSTANCE = new Fileformat.BlobHeader();
     }
@@ -1778,27 +1940,28 @@ public final class Fileformat {
       return DEFAULT_INSTANCE;
     }
 
-    private static final com.google.protobuf.Parser<BlobHeader>
-        PARSER = new com.google.protobuf.AbstractParser<BlobHeader>() {
-      @Override
-      public BlobHeader parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        Builder builder = newBuilder();
-        try {
-          builder.mergeFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          throw e.setUnfinishedMessage(builder.buildPartial());
-        } catch (com.google.protobuf.UninitializedMessageException e) {
-          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-        } catch (java.io.IOException e) {
-          throw new com.google.protobuf.InvalidProtocolBufferException(e)
-              .setUnfinishedMessage(builder.buildPartial());
-        }
-        return builder.buildPartial();
-      }
-    };
+    private static final com.google.protobuf.Parser<BlobHeader> PARSER =
+        new com.google.protobuf.AbstractParser<BlobHeader>() {
+          @Override
+          public BlobHeader parsePartialFrom(
+              com.google.protobuf.CodedInputStream input,
+              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+              throws com.google.protobuf.InvalidProtocolBufferException {
+            Builder builder = newBuilder();
+            try {
+              builder.mergeFrom(input, extensionRegistry);
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+              throw e.setUnfinishedMessage(builder.buildPartial());
+            } catch (com.google.protobuf.UninitializedMessageException e) {
+              throw e.asInvalidProtocolBufferException()
+                  .setUnfinishedMessage(builder.buildPartial());
+            } catch (java.io.IOException e) {
+              throw new com.google.protobuf.InvalidProtocolBufferException(e)
+                  .setUnfinishedMessage(builder.buildPartial());
+            }
+            return builder.buildPartial();
+          }
+        };
 
     public static com.google.protobuf.Parser<BlobHeader> parser() {
       return PARSER;
@@ -1813,52 +1976,52 @@ public final class Fileformat {
     public Fileformat.BlobHeader getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
-
   }
 
   private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_org_apache_sedona_osm_build_Blob_descriptor;
-  private static final
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_org_apache_sedona_osm_build_Blob_descriptor;
+  private static final com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_org_apache_sedona_osm_build_Blob_fieldAccessorTable;
   private static final com.google.protobuf.Descriptors.Descriptor
-    internal_static_org_apache_sedona_osm_build_BlobHeader_descriptor;
-  private static final
-    com.google.protobuf.GeneratedMessage.FieldAccessorTable
+      internal_static_org_apache_sedona_osm_build_BlobHeader_descriptor;
+  private static final com.google.protobuf.GeneratedMessage.FieldAccessorTable
       internal_static_org_apache_sedona_osm_build_BlobHeader_fieldAccessorTable;
 
-  public static com.google.protobuf.Descriptors.FileDescriptor
-      getDescriptor() {
+  public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
     return descriptor;
   }
-  private static  com.google.protobuf.Descriptors.FileDescriptor
-      descriptor;
+
+  private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
+
   static {
     String[] descriptorData = {
-      "\n2main/java/org/apache/sedona/proto/file" +
-      "format.proto\022\033org.apache.sedona.osm.buil" +
-      "d\"l\n\004Blob\022\013\n\003raw\030\001 \001(\014\022\020\n\010raw_size\030\002 \001(\005" +
-      "\022\021\n\tzlib_data\030\003 \001(\014\022\021\n\tlzma_data\030\004 \001(\014\022\037" +
-      "\n\023OBSOLETE_bzip2_data\030\005 \001(\014B\002\030\001\"?\n\nBlobH" +
-      "eader\022\014\n\004type\030\001 \002(\t\022\021\n\tindexdata\030\002 \001(\014\022\020" +
-      "\n\010datasize\030\003 \002(\005B\002H\003"
+      "\n2main/java/org/apache/sedona/proto/file"
+          + "format.proto\022\033org.apache.sedona.osm.buil"
+          + "d\"l\n\004Blob\022\013\n\003raw\030\001 \001(\014\022\020\n\010raw_size\030\002 \001(\005"
+          + "\022\021\n\tzlib_data\030\003 \001(\014\022\021\n\tlzma_data\030\004 \001(\014\022\037"
+          + "\n\023OBSOLETE_bzip2_data\030\005 \001(\014B\002\030\001\"?\n\nBlobH"
+          + "eader\022\014\n\004type\030\001 \002(\t\022\021\n\tindexdata\030\002 \001(\014\022\020"
+          + "\n\010datasize\030\003 \002(\005B\002H\003"
     };
-    descriptor = com.google.protobuf.Descriptors.FileDescriptor
-      .internalBuildGeneratedFileFrom(descriptorData,
-        new com.google.protobuf.Descriptors.FileDescriptor[] {
-        });
+    descriptor =
+        com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
+            descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] {});
     internal_static_org_apache_sedona_osm_build_Blob_descriptor =
-      getDescriptor().getMessageTypes().get(0);
-    internal_static_org_apache_sedona_osm_build_Blob_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_org_apache_sedona_osm_build_Blob_descriptor,
-        new String[] { "Raw", "RawSize", "ZlibData", "LzmaData", "OBSOLETEBzip2Data", });
+        getDescriptor().getMessageTypes().get(0);
+    internal_static_org_apache_sedona_osm_build_Blob_fieldAccessorTable =
+        new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+            internal_static_org_apache_sedona_osm_build_Blob_descriptor,
+            new String[] {
+              "Raw", "RawSize", "ZlibData", "LzmaData", "OBSOLETEBzip2Data",
+            });
     internal_static_org_apache_sedona_osm_build_BlobHeader_descriptor =
-      getDescriptor().getMessageTypes().get(1);
-    internal_static_org_apache_sedona_osm_build_BlobHeader_fieldAccessorTable = new
-      com.google.protobuf.GeneratedMessage.FieldAccessorTable(
-        internal_static_org_apache_sedona_osm_build_BlobHeader_descriptor,
-        new String[] { "Type", "Indexdata", "Datasize", });
+        getDescriptor().getMessageTypes().get(1);
+    internal_static_org_apache_sedona_osm_build_BlobHeader_fieldAccessorTable =
+        new com.google.protobuf.GeneratedMessage.FieldAccessorTable(
+            internal_static_org_apache_sedona_osm_build_BlobHeader_descriptor,
+            new String[] {
+              "Type", "Indexdata", "Datasize",
+            });
     descriptor.resolveAllFeaturesImmutable();
   }
 
diff --git a/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/build/Osmformat.java b/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/build/Osmformat.java
index e0dd843ca2..312a82f8f7 100644
--- a/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/build/Osmformat.java
+++ b/spark/common/src/main/java/org/apache/sedona/sql/datasources/osmpbf/build/Osmformat.java
@@ -1,162 +1,199 @@
-// Generated by the protocol buffer compiler.  DO NOT EDIT!
-// NO CHECKED-IN PROTOBUF GENCODE
-// source: main/java/org/apache/sedona/proto/osmformat.proto
-// Protobuf Java Version: 4.27.0
-
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
 package org.apache.sedona.sql.datasources.osmpbf.build;
 
 public final class Osmformat {
   private Osmformat() {}
+
   static {
     com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
-      com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
-      /* major= */ 4,
-      /* minor= */ 27,
-      /* patch= */ 0,
-      /* suffix= */ "",
-      Osmformat.class.getName());
-  }
-  public static void registerAllExtensions(
-      com.google.protobuf.ExtensionRegistryLite registry) {
+        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+        /* major= */ 4,
+        /* minor= */ 27,
+        /* patch= */ 0,
+        /* suffix= */ "",
+        Osmformat.class.getName());
   }
 
-  public static void registerAllExtensions(
-      com.google.protobuf.ExtensionRegistry registry) {
-    registerAllExtensions(
-        (com.google.protobuf.ExtensionRegistryLite) registry);
+  public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}
+
+  public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
+    registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
   }
-  public interface HeaderBlockOrBuilder extends
+
+  public interface HeaderBlockOrBuilder
+      extends
       // @@protoc_insertion_point(interface_extends:HeaderBlock)
       com.google.protobuf.MessageOrBuilder {
 
     /**
      * <code>optional .HeaderBBox bbox = 1;</code>
+     *
      * @return Whether the bbox field is set.
      */
     boolean hasBbox();
     /**
      * <code>optional .HeaderBBox bbox = 1;</code>
+     *
      * @return The bbox.
      */
     Osmformat.HeaderBBox getBbox();
-    /**
-     * <code>optional .HeaderBBox bbox = 1;</code>
-     */
+    /** <code>optional .HeaderBBox bbox = 1;</code> */
     Osmformat.HeaderBBoxOrBuilder getBboxOrBuilder();
 
     /**
+     *
+     *
      * <pre>
      * Additional tags to aid in parsing this dataset
      * </pre>
      *
      * <code>repeated string required_features = 4;</code>
+     *
      * @return A list containing the requiredFeatures.
      */
-    java.util.List<String>
-        getRequiredFeaturesList();
+    java.util.List<String> getRequiredFeaturesList();
     /**
+     *
+     *
      * <pre>
      * Additional tags to aid in parsing this dataset
      * </pre>
      *
      * <code>repeated string required_features = 4;</code>
+     *
      * @return The count of requiredFeatures.
      */
     int getRequiredFeaturesCount();
     /**
+     *
+     *
      * <pre>
      * Additional tags to aid in parsing this dataset
      * </pre>
      *
      * <code>repeated string required_features = 4;</code>
+     *
      * @param index The index of the element to return.
      * @return The requiredFeatures at the given index.
      */
     String getRequiredFeatures(int index);
     /**
+     *
+     *
      * <pre>
      * Additional tags to aid in parsing this dataset
      * </pre>
      *
      * <code>repeated string required_features = 4;</code>
+     *
      * @param index The index of the value to return.
      * @return The bytes of the requiredFeatures at the given index.
      */
-    com.google.protobuf.ByteString
-        getRequiredFeaturesBytes(int index);
+    com.google.protobuf.ByteString getRequiredFeaturesBytes(int index);
 
     /**
      * <code>repeated string optional_features = 5;</code>
+     *
      * @return A list containing the optionalFeatures.
      */
-    java.util.List<String>
-        getOptionalFeaturesList();
+    java.util.List<String> getOptionalFeaturesList();
     /**
      * <code>repeated string optional_features = 5;</code>
+     *
      * @return The count of optionalFeatures.
      */
     int getOptionalFeaturesCount();
     /**
      * <code>repeated string optional_features = 5;</code>
+     *
      * @param index The index of the element to return.
      * @return The optionalFeatures at the given index.
      */
     String getOptionalFeatures(int index);
     /**
      * <code>repeated string optional_features = 5;</code>
+     *
      * @param index The index of the value to return.
      * @return The bytes of the optionalFeatures at the given index.
      */
-    com.google.protobuf.ByteString
-        getOptionalFeaturesBytes(int index);
+    com.google.protobuf.ByteString getOptionalFeaturesBytes(int index);
 
     /**
      * <code>optional string writingprogram = 16;</code>
+     *
      * @return Whether the writingprogram field is set.
      */
     boolean hasWritingprogram();
     /**
      * <code>optional string writingprogram = 16;</code>
+     *
      * @return The writingprogram.
      */
     String getWritingprogram();
     /**
      * <code>optional string writingprogram = 16;</code>
+     *
      * @return The bytes for writingprogram.
      */
-    com.google.protobuf.ByteString
-        getWritingprogramBytes();
+    com.google.protobuf.ByteString getWritingprogramBytes();
 
     /**
+     *
+     *
      * <pre>
      * From the bbox field.
      * </pre>
      *
      * <code>optional string source = 17;</code>
+     *
      * @return Whether the source field is set.
      */
     boolean hasSource();
     /**
+     *
+     *
      * <pre>
      * From the bbox field.
      * </pre>
      *
      * <code>optional string source = 17;</code>
+     *
      * @return The source.
      */
     String getSource();
     /**
+     *
+     *
      * <pre>
      * From the bbox field.
      * </pre>
      *
      * <code>optional string source = 17;</code>
+     *
      * @return The bytes for source.
      */
-    com.google.protobuf.ByteString
-        getSourceBytes();
+    com.google.protobuf.ByteString getSourceBytes();
 
     /**
+     *
+     *
      * <pre>
      * replication timestamp, expressed in seconds since the epoch,
      * otherwise the same value as in the "timestamp=..." field
@@ -164,10 +201,13 @@ public final class Osmformat {
      * </pre>
      *
      * <code>optional int64 osmosis_replication_timestamp = 32;</code>
+     *
      * @return Whether the osmosisReplicationTimestamp field is set.
      */
     boolean hasOsmosisReplicationTimestamp();
     /**
+     *
+     *
      * <pre>
      * replication timestamp, expressed in seconds since the epoch,
      * otherwise the same value as in the "timestamp=..." field
@@ -175,97 +215,108 @@ public final class Osmformat {
      * </pre>
      *
      * <code>optional int64 osmosis_replication_timestamp = 32;</code>
+     *
      * @return The osmosisReplicationTimestamp.
      */
     long getOsmosisReplicationTimestamp();
 
     /**
+     *
+     *
      * <pre>
      * replication sequence number (sequenceNumber in state.txt)
      * </pre>
      *
      * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
+     *
      * @return Whether the osmosisReplicationSequenceNumber field is set.
      */
     boolean hasOsmosisReplicationSequenceNumber();
     /**
+     *
+     *
      * <pre>
      * replication sequence number (sequenceNumber in state.txt)
      * </pre>
      *
      * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
+     *
      * @return The osmosisReplicationSequenceNumber.
      */
     long getOsmosisReplicationSequenceNumber();
 
     /**
+     *
+     *
      * <pre>
      * replication base URL (from Osmosis' configuration.txt file)
      * </pre>
      *
      * <code>optional string osmosis_replication_base_url = 34;</code>
+     *
      * @return Whether the osmosisReplicationBaseUrl field is set.
      */
     boolean hasOsmosisReplicationBaseUrl();
     /**
+     *
+     *
      * <pre>
      * replication base URL (from Osmosis' configuration.txt file)
      * </pre>
      *
      * <code>optional string osmosis_replication_base_url = 34;</code>
+     *
      * @return The osmosisReplicationBaseUrl.
      */
     String getOsmosisReplicationBaseUrl();
     /**
+     *
+     *
      * <pre>
      * replication base URL (from Osmosis' configuration.txt file)
      * </pre>
      *
      * <code>optional string osmosis_replication_base_url = 34;</code>
+     *
      * @return The bytes for osmosisReplicationBaseUrl.
      */
-    com.google.protobuf.ByteString
-        getOsmosisReplicationBaseUrlBytes();
+    com.google.protobuf.ByteString getOsmosisReplicationBaseUrlBytes();
   }
-  /**
-   * Protobuf type {@code HeaderBlock}
-   */
-  public static final class HeaderBlock extends
-      com.google.protobuf.GeneratedMessage implements
+  /** Protobuf type {@code HeaderBlock} */
+  public static final class HeaderBlock extends com.google.protobuf.GeneratedMessage
+      implements
       // @@protoc_insertion_point(message_implements:HeaderBlock)
       HeaderBlockOrBuilder {
-  private static final long serialVersionUID = 0L;
+    private static final long serialVersionUID = 0L;
+
     static {
       com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
-        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
-        /* major= */ 4,
-        /* minor= */ 27,
-        /* patch= */ 0,
-        /* suffix= */ "",
-        HeaderBlock.class.getName());
+          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+          /* major= */ 4,
+          /* minor= */ 27,
+          /* patch= */ 0,
+          /* suffix= */ "",
+          HeaderBlock.class.getName());
     }
     // Use HeaderBlock.newBuilder() to construct.
     private HeaderBlock(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
+
     private HeaderBlock() {
-      requiredFeatures_ =
-          com.google.protobuf.LazyStringArrayList.emptyList();
-      optionalFeatures_ =
-          com.google.protobuf.LazyStringArrayList.emptyList();
+      requiredFeatures_ = com.google.protobuf.LazyStringArrayList.emptyList();
+      optionalFeatures_ = com.google.protobuf.LazyStringArrayList.emptyList();
       writingprogram_ = "";
       source_ = "";
       osmosisReplicationBaseUrl_ = "";
     }
 
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
+    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
       return Osmformat.internal_static_org_apache_sedona_osm_build_HeaderBlock_descriptor;
     }
 
     @Override
-    protected FieldAccessorTable
-        internalGetFieldAccessorTable() {
+    protected FieldAccessorTable internalGetFieldAccessorTable() {
       return Osmformat.internal_static_org_apache_sedona_osm_build_HeaderBlock_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
               Osmformat.HeaderBlock.class, Osmformat.HeaderBlock.Builder.class);
@@ -276,6 +327,7 @@ public final class Osmformat {
     private Osmformat.HeaderBBox bbox_;
     /**
      * <code>optional .HeaderBBox bbox = 1;</code>
+     *
      * @return Whether the bbox field is set.
      */
     @Override
@@ -284,53 +336,61 @@ public final class Osmformat {
     }
     /**
      * <code>optional .HeaderBBox bbox = 1;</code>
+     *
      * @return The bbox.
      */
     @Override
     public Osmformat.HeaderBBox getBbox() {
       return bbox_ == null ? Osmformat.HeaderBBox.getDefaultInstance() : bbox_;
     }
-    /**
-     * <code>optional .HeaderBBox bbox = 1;</code>
-     */
+    /** <code>optional .HeaderBBox bbox = 1;</code> */
     @Override
     public Osmformat.HeaderBBoxOrBuilder getBboxOrBuilder() {
       return bbox_ == null ? Osmformat.HeaderBBox.getDefaultInstance() : bbox_;
     }
 
     public static final int REQUIRED_FEATURES_FIELD_NUMBER = 4;
+
     @SuppressWarnings("serial")
     private com.google.protobuf.LazyStringArrayList requiredFeatures_ =
         com.google.protobuf.LazyStringArrayList.emptyList();
     /**
+     *
+     *
      * <pre>
      * Additional tags to aid in parsing this dataset
      * </pre>
      *
      * <code>repeated string required_features = 4;</code>
+     *
      * @return A list containing the requiredFeatures.
      */
-    public com.google.protobuf.ProtocolStringList
-        getRequiredFeaturesList() {
+    public com.google.protobuf.ProtocolStringList getRequiredFeaturesList() {
       return requiredFeatures_;
     }
     /**
+     *
+     *
      * <pre>
      * Additional tags to aid in parsing this dataset
      * </pre>
      *
      * <code>repeated string required_features = 4;</code>
+     *
      * @return The count of requiredFeatures.
      */
     public int getRequiredFeaturesCount() {
       return requiredFeatures_.size();
     }
     /**
+     *
+     *
      * <pre>
      * Additional tags to aid in parsing this dataset
      * </pre>
      *
      * <code>repeated string required_features = 4;</code>
+     *
      * @param index The index of the element to return.
      * @return The requiredFeatures at the given index.
      */
@@ -338,33 +398,37 @@ public final class Osmformat {
       return requiredFeatures_.get(index);
     }
     /**
+     *
+     *
      * <pre>
      * Additional tags to aid in parsing this dataset
      * </pre>
      *
      * <code>repeated string required_features = 4;</code>
+     *
      * @param index The index of the value to return.
      * @return The bytes of the requiredFeatures at the given index.
      */
-    public com.google.protobuf.ByteString
-        getRequiredFeaturesBytes(int index) {
+    public com.google.protobuf.ByteString getRequiredFeaturesBytes(int index) {
       return requiredFeatures_.getByteString(index);
     }
 
     public static final int OPTIONAL_FEATURES_FIELD_NUMBER = 5;
+
     @SuppressWarnings("serial")
     private com.google.protobuf.LazyStringArrayList optionalFeatures_ =
         com.google.protobuf.LazyStringArrayList.emptyList();
     /**
      * <code>repeated string optional_features = 5;</code>
+     *
      * @return A list containing the optionalFeatures.
      */
-    public com.google.protobuf.ProtocolStringList
-        getOptionalFeaturesList() {
+    public com.google.protobuf.ProtocolStringList getOptionalFeaturesList() {
       return optionalFeatures_;
     }
     /**
      * <code>repeated string optional_features = 5;</code>
+     *
      * @return The count of optionalFeatures.
      */
     public int getOptionalFeaturesCount() {
@@ -372,6 +436,7 @@ public final class Osmformat {
     }
     /**
      * <code>repeated string optional_features = 5;</code>
+     *
      * @param index The index of the element to return.
      * @return The optionalFeatures at the given index.
      */
@@ -380,19 +445,21 @@ public final class Osmformat {
     }
     /**
      * <code>repeated string optional_features = 5;</code>
+     *
      * @param index The index of the value to return.
      * @return The bytes of the optionalFeatures at the given index.
      */
-    public com.google.protobuf.ByteString
-        getOptionalFeaturesBytes(int index) {
+    public com.google.protobuf.ByteString getOptionalFeaturesBytes(int index) {
       return optionalFeatures_.getByteString(index);
     }
 
     public static final int WRITINGPROGRAM_FIELD_NUMBER = 16;
+
     @SuppressWarnings("serial")
     private volatile Object writingprogram_ = "";
     /**
      * <code>optional string writingprogram = 16;</code>
+     *
      * @return Whether the writingprogram field is set.
      */
     @Override
@@ -401,6 +468,7 @@ public final class Osmformat {
     }
     /**
      * <code>optional string writingprogram = 16;</code>
+     *
      * @return The writingprogram.
      */
     @Override
@@ -409,8 +477,7 @@ public final class Osmformat {
       if (ref instanceof String) {
         return (String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-            (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
         String s = bs.toStringUtf8();
         if (bs.isValidUtf8()) {
           writingprogram_ = s;
@@ -420,16 +487,15 @@ public final class Osmformat {
     }
     /**
      * <code>optional string writingprogram = 16;</code>
+     *
      * @return The bytes for writingprogram.
      */
     @Override
-    public com.google.protobuf.ByteString
-        getWritingprogramBytes() {
+    public com.google.protobuf.ByteString getWritingprogramBytes() {
       Object ref = writingprogram_;
       if (ref instanceof String) {
         com.google.protobuf.ByteString b =
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (String) ref);
+            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
         writingprogram_ = b;
         return b;
       } else {
@@ -438,14 +504,18 @@ public final class Osmformat {
     }
 
     public static final int SOURCE_FIELD_NUMBER = 17;
+
     @SuppressWarnings("serial")
     private volatile Object source_ = "";
     /**
+     *
+     *
      * <pre>
      * From the bbox field.
      * </pre>
      *
      * <code>optional string source = 17;</code>
+     *
      * @return Whether the source field is set.
      */
     @Override
@@ -453,11 +523,14 @@ public final class Osmformat {
       return ((bitField0_ & 0x00000004) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * From the bbox field.
      * </pre>
      *
      * <code>optional string source = 17;</code>
+     *
      * @return The source.
      */
     @Override
@@ -466,8 +539,7 @@ public final class Osmformat {
       if (ref instanceof String) {
         return (String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-            (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
         String s = bs.toStringUtf8();
         if (bs.isValidUtf8()) {
           source_ = s;
@@ -476,21 +548,22 @@ public final class Osmformat {
       }
     }
     /**
+     *
+     *
      * <pre>
      * From the bbox field.
      * </pre>
      *
      * <code>optional string source = 17;</code>
+     *
      * @return The bytes for source.
      */
     @Override
-    public com.google.protobuf.ByteString
-        getSourceBytes() {
+    public com.google.protobuf.ByteString getSourceBytes() {
       Object ref = source_;
       if (ref instanceof String) {
         com.google.protobuf.ByteString b =
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (String) ref);
+            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
         source_ = b;
         return b;
       } else {
@@ -501,6 +574,8 @@ public final class Osmformat {
     public static final int OSMOSIS_REPLICATION_TIMESTAMP_FIELD_NUMBER = 32;
     private long osmosisReplicationTimestamp_ = 0L;
     /**
+     *
+     *
      * <pre>
      * replication timestamp, expressed in seconds since the epoch,
      * otherwise the same value as in the "timestamp=..." field
@@ -508,6 +583,7 @@ public final class Osmformat {
      * </pre>
      *
      * <code>optional int64 osmosis_replication_timestamp = 32;</code>
+     *
      * @return Whether the osmosisReplicationTimestamp field is set.
      */
     @Override
@@ -515,6 +591,8 @@ public final class Osmformat {
       return ((bitField0_ & 0x00000008) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * replication timestamp, expressed in seconds since the epoch,
      * otherwise the same value as in the "timestamp=..." field
@@ -522,6 +600,7 @@ public final class Osmformat {
      * </pre>
      *
      * <code>optional int64 osmosis_replication_timestamp = 32;</code>
+     *
      * @return The osmosisReplicationTimestamp.
      */
     @Override
@@ -532,11 +611,14 @@ public final class Osmformat {
     public static final int OSMOSIS_REPLICATION_SEQUENCE_NUMBER_FIELD_NUMBER = 33;
     private long osmosisReplicationSequenceNumber_ = 0L;
     /**
+     *
+     *
      * <pre>
      * replication sequence number (sequenceNumber in state.txt)
      * </pre>
      *
      * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
+     *
      * @return Whether the osmosisReplicationSequenceNumber field is set.
      */
     @Override
@@ -544,11 +626,14 @@ public final class Osmformat {
       return ((bitField0_ & 0x00000010) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * replication sequence number (sequenceNumber in state.txt)
      * </pre>
      *
      * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
+     *
      * @return The osmosisReplicationSequenceNumber.
      */
     @Override
@@ -557,14 +642,18 @@ public final class Osmformat {
     }
 
     public static final int OSMOSIS_REPLICATION_BASE_URL_FIELD_NUMBER = 34;
+
     @SuppressWarnings("serial")
     private volatile Object osmosisReplicationBaseUrl_ = "";
     /**
+     *
+     *
      * <pre>
      * replication base URL (from Osmosis' configuration.txt file)
      * </pre>
      *
      * <code>optional string osmosis_replication_base_url = 34;</code>
+     *
      * @return Whether the osmosisReplicationBaseUrl field is set.
      */
     @Override
@@ -572,11 +661,14 @@ public final class Osmformat {
       return ((bitField0_ & 0x00000020) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * replication base URL (from Osmosis' configuration.txt file)
      * </pre>
      *
      * <code>optional string osmosis_replication_base_url = 34;</code>
+     *
      * @return The osmosisReplicationBaseUrl.
      */
     @Override
@@ -585,8 +677,7 @@ public final class Osmformat {
       if (ref instanceof String) {
         return (String) ref;
       } else {
-        com.google.protobuf.ByteString bs =
-            (com.google.protobuf.ByteString) ref;
+        com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
         String s = bs.toStringUtf8();
         if (bs.isValidUtf8()) {
           osmosisReplicationBaseUrl_ = s;
@@ -595,21 +686,22 @@ public final class Osmformat {
       }
     }
     /**
+     *
+     *
      * <pre>
      * replication base URL (from Osmosis' configuration.txt file)
      * </pre>
      *
      * <code>optional string osmosis_replication_base_url = 34;</code>
+     *
      * @return The bytes for osmosisReplicationBaseUrl.
      */
     @Override
-    public com.google.protobuf.ByteString
-        getOsmosisReplicationBaseUrlBytes() {
+    public com.google.protobuf.ByteString getOsmosisReplicationBaseUrlBytes() {
       Object ref = osmosisReplicationBaseUrl_;
       if (ref instanceof String) {
         com.google.protobuf.ByteString b =
-            com.google.protobuf.ByteString.copyFromUtf8(
-                (String) ref);
+            com.google.protobuf.ByteString.copyFromUtf8((String) ref);
         osmosisReplicationBaseUrl_ = b;
         return b;
       } else {
@@ -618,6 +710,7 @@ public final class Osmformat {
     }
 
     private byte memoizedIsInitialized = -1;
+
     @Override
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
@@ -635,8 +728,7 @@ public final class Osmformat {
     }
 
     @Override
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
+    public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
       if (((bitField0_ & 0x00000001) != 0)) {
         output.writeMessage(1, getBbox());
       }
@@ -671,8 +763,7 @@ public final class Osmformat {
 
       size = 0;
       if (((bitField0_ & 0x00000001) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(1, getBbox());
+        size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getBbox());
       }
       {
         int dataSize = 0;
@@ -697,15 +788,18 @@ public final class Osmformat {
         size += com.google.protobuf.GeneratedMessage.computeStringSize(17, source_);
       }
       if (((bitField0_ & 0x00000008) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(32, osmosisReplicationTimestamp_);
+        size +=
+            com.google.protobuf.CodedOutputStream.computeInt64Size(
+                32, osmosisReplicationTimestamp_);
       }
       if (((bitField0_ & 0x00000010) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(33, osmosisReplicationSequenceNumber_);
+        size +=
+            com.google.protobuf.CodedOutputStream.computeInt64Size(
+                33, osmosisReplicationSequenceNumber_);
       }
       if (((bitField0_ & 0x00000020) != 0)) {
-        size += com.google.protobuf.GeneratedMessage.computeStringSize(34, osmosisReplicationBaseUrl_);
+        size +=
+            com.google.protobuf.GeneratedMessage.computeStringSize(34, osmosisReplicationBaseUrl_);
       }
       size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
@@ -715,7 +809,7 @@ public final class Osmformat {
     @Override
     public boolean equals(final Object obj) {
       if (obj == this) {
-       return true;
+        return true;
       }
       if (!(obj instanceof Osmformat.HeaderBlock)) {
         return super.equals(obj);
@@ -724,37 +818,33 @@ public final class Osmformat {
 
       if (hasBbox() != other.hasBbox()) return false;
       if (hasBbox()) {
-        if (!getBbox()
-            .equals(other.getBbox())) return false;
+        if (!getBbox().equals(other.getBbox())) return false;
       }
-      if (!getRequiredFeaturesList()
-          .equals(other.getRequiredFeaturesList())) return false;
-      if (!getOptionalFeaturesList()
-          .equals(other.getOptionalFeaturesList())) return false;
+      if (!getRequiredFeaturesList().equals(other.getRequiredFeaturesList())) return false;
+      if (!getOptionalFeaturesList().equals(other.getOptionalFeaturesList())) return false;
       if (hasWritingprogram() != other.hasWritingprogram()) return false;
       if (hasWritingprogram()) {
-        if (!getWritingprogram()
-            .equals(other.getWritingprogram())) return false;
+        if (!getWritingprogram().equals(other.getWritingprogram())) return false;
       }
       if (hasSource() != other.hasSource()) return false;
       if (hasSource()) {
-        if (!getSource()
-            .equals(other.getSource())) return false;
+        if (!getSource().equals(other.getSource())) return false;
       }
       if (hasOsmosisReplicationTimestamp() != other.hasOsmosisReplicationTimestamp()) return false;
       if (hasOsmosisReplicationTimestamp()) {
-        if (getOsmosisReplicationTimestamp()
-            != other.getOsmosisReplicationTimestamp()) return false;
+        if (getOsmosisReplicationTimestamp() != other.getOsmosisReplicationTimestamp())
+          return false;
       }
-      if (hasOsmosisReplicationSequenceNumber() != other.hasOsmosisReplicationSequenceNumber()) return false;
+      if (hasOsmosisReplicationSequenceNumber() != other.hasOsmosisReplicationSequenceNumber())
+        return false;
       if (hasOsmosisReplicationSequenceNumber()) {
-        if (getOsmosisReplicationSequenceNumber()
-            != other.getOsmosisReplicationSequenceNumber()) return false;
+        if (getOsmosisReplicationSequenceNumber() != other.getOsmosisReplicationSequenceNumber())
+          return false;
       }
       if (hasOsmosisReplicationBaseUrl() != other.hasOsmosisReplicationBaseUrl()) return false;
       if (hasOsmosisReplicationBaseUrl()) {
-        if (!getOsmosisReplicationBaseUrl()
-            .equals(other.getOsmosisReplicationBaseUrl())) return false;
+        if (!getOsmosisReplicationBaseUrl().equals(other.getOsmosisReplicationBaseUrl()))
+          return false;
       }
       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
@@ -789,13 +879,14 @@ public final class Osmformat {
       }
       if (hasOsmosisReplicationTimestamp()) {
         hash = (37 * hash) + OSMOSIS_REPLICATION_TIMESTAMP_FIELD_NUMBER;
-        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-            getOsmosisReplicationTimestamp());
+        hash =
+            (53 * hash) + com.google.protobuf.Internal.hashLong(getOsmosisReplicationTimestamp());
       }
       if (hasOsmosisReplicationSequenceNumber()) {
         hash = (37 * hash) + OSMOSIS_REPLICATION_SEQUENCE_NUMBER_FIELD_NUMBER;
-        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-            getOsmosisReplicationSequenceNumber());
+        hash =
+            (53 * hash)
+                + com.google.protobuf.Internal.hashLong(getOsmosisReplicationSequenceNumber());
       }
       if (hasOsmosisReplicationBaseUrl()) {
         hash = (37 * hash) + OSMOSIS_REPLICATION_BASE_URL_FIELD_NUMBER;
@@ -806,113 +897,111 @@ public final class Osmformat {
       return hash;
     }
 
-    public static Osmformat.HeaderBlock parseFrom(
-        java.nio.ByteBuffer data)
+    public static Osmformat.HeaderBlock parseFrom(java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.HeaderBlock parseFrom(
-        java.nio.ByteBuffer data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Osmformat.HeaderBlock parseFrom(
-        com.google.protobuf.ByteString data)
+
+    public static Osmformat.HeaderBlock parseFrom(com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.HeaderBlock parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
+
     public static Osmformat.HeaderBlock parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.HeaderBlock parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
+
     public static Osmformat.HeaderBlock parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Osmformat.HeaderBlock parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     public static Osmformat.HeaderBlock parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input);
     }
 
     public static Osmformat.HeaderBlock parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(
+          PARSER, input, extensionRegistry);
     }
-    public static Osmformat.HeaderBlock parseFrom(
-        com.google.protobuf.CodedInputStream input)
+
+    public static Osmformat.HeaderBlock parseFrom(com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Osmformat.HeaderBlock parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     @Override
-    public Builder newBuilderForType() { return newBuilder(); }
+    public Builder newBuilderForType() {
+      return newBuilder();
+    }
+
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
+
     public static Builder newBuilder(Osmformat.HeaderBlock prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
+
     @Override
     public Builder toBuilder() {
-      return this == DEFAULT_INSTANCE
-          ? new Builder() : new Builder().mergeFrom(this);
+      return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @Override
-    protected Builder newBuilderForType(
-        BuilderParent parent) {
+    protected Builder newBuilderForType(BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
-    /**
-     * Protobuf type {@code HeaderBlock}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+    /** Protobuf type {@code HeaderBlock} */
+    public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder>
+        implements
         // @@protoc_insertion_point(builder_implements:HeaderBlock)
         Osmformat.HeaderBlockOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
+      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
         return Osmformat.internal_static_org_apache_sedona_osm_build_HeaderBlock_descriptor;
       }
 
       @Override
-      protected FieldAccessorTable
-          internalGetFieldAccessorTable() {
+      protected FieldAccessorTable internalGetFieldAccessorTable() {
         return Osmformat.internal_static_org_apache_sedona_osm_build_HeaderBlock_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
                 Osmformat.HeaderBlock.class, Osmformat.HeaderBlock.Builder.class);
@@ -923,17 +1012,17 @@ public final class Osmformat {
         maybeForceBuilderInitialization();
       }
 
-      private Builder(
-          BuilderParent parent) {
+      private Builder(BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
+
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage
-                .alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
           getBboxFieldBuilder();
         }
       }
+
       @Override
       public Builder clear() {
         super.clear();
@@ -943,10 +1032,8 @@ public final class Osmformat {
           bboxBuilder_.dispose();
           bboxBuilder_ = null;
         }
-        requiredFeatures_ =
-            com.google.protobuf.LazyStringArrayList.emptyList();
-        optionalFeatures_ =
-            com.google.protobuf.LazyStringArrayList.emptyList();
+        requiredFeatures_ = com.google.protobuf.LazyStringArrayList.emptyList();
+        optionalFeatures_ = com.google.protobuf.LazyStringArrayList.emptyList();
         writingprogram_ = "";
         source_ = "";
         osmosisReplicationTimestamp_ = 0L;
@@ -956,8 +1043,7 @@ public final class Osmformat {
       }
 
       @Override
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
+      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
         return Osmformat.internal_static_org_apache_sedona_osm_build_HeaderBlock_descriptor;
       }
 
@@ -978,7 +1064,9 @@ public final class Osmformat {
       @Override
       public Osmformat.HeaderBlock buildPartial() {
         Osmformat.HeaderBlock result = new Osmformat.HeaderBlock(this);
-        if (bitField0_ != 0) { buildPartial0(result); }
+        if (bitField0_ != 0) {
+          buildPartial0(result);
+        }
         onBuilt();
         return result;
       }
@@ -987,9 +1075,7 @@ public final class Osmformat {
         int from_bitField0_ = bitField0_;
         int to_bitField0_ = 0;
         if (((from_bitField0_ & 0x00000001) != 0)) {
-          result.bbox_ = bboxBuilder_ == null
-              ? bbox_
-              : bboxBuilder_.build();
+          result.bbox_ = bboxBuilder_ == null ? bbox_ : bboxBuilder_.build();
           to_bitField0_ |= 0x00000001;
         }
         if (((from_bitField0_ & 0x00000002) != 0)) {
@@ -1026,7 +1112,7 @@ public final class Osmformat {
       @Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof Osmformat.HeaderBlock) {
-          return mergeFrom((Osmformat.HeaderBlock)other);
+          return mergeFrom((Osmformat.HeaderBlock) other);
         } else {
           super.mergeFrom(other);
           return this;
@@ -1110,56 +1196,63 @@ public final class Osmformat {
               case 0:
                 done = true;
                 break;
-              case 10: {
-                input.readMessage(
-                    getBboxFieldBuilder().getBuilder(),
-                    extensionRegistry);
-                bitField0_ |= 0x00000001;
-                break;
-              } // case 10
-              case 34: {
-                com.google.protobuf.ByteString bs = input.readBytes();
-                ensureRequiredFeaturesIsMutable();
-                requiredFeatures_.add(bs);
-                break;
-              } // case 34
-              case 42: {
-                com.google.protobuf.ByteString bs = input.readBytes();
-                ensureOptionalFeaturesIsMutable();
-                optionalFeatures_.add(bs);
-                break;
-              } // case 42
-              case 130: {
-                writingprogram_ = input.readBytes();
-                bitField0_ |= 0x00000008;
-                break;
-              } // case 130
-              case 138: {
-                source_ = input.readBytes();
-                bitField0_ |= 0x00000010;
-                break;
-              } // case 138
-              case 256: {
-                osmosisReplicationTimestamp_ = input.readInt64();
-                bitField0_ |= 0x00000020;
-                break;
-              } // case 256
-              case 264: {
-                osmosisReplicationSequenceNumber_ = input.readInt64();
-                bitField0_ |= 0x00000040;
-                break;
-              } // case 264
-              case 274: {
-                osmosisReplicationBaseUrl_ = input.readBytes();
-                bitField0_ |= 0x00000080;
-                break;
-              } // case 274
-              default: {
-                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                  done = true; // was an endgroup tag
-                }
-                break;
-              } // default:
+              case 10:
+                {
+                  input.readMessage(getBboxFieldBuilder().getBuilder(), extensionRegistry);
+                  bitField0_ |= 0x00000001;
+                  break;
+                } // case 10
+              case 34:
+                {
+                  com.google.protobuf.ByteString bs = input.readBytes();
+                  ensureRequiredFeaturesIsMutable();
+                  requiredFeatures_.add(bs);
+                  break;
+                } // case 34
+              case 42:
+                {
+                  com.google.protobuf.ByteString bs = input.readBytes();
+                  ensureOptionalFeaturesIsMutable();
+                  optionalFeatures_.add(bs);
+                  break;
+                } // case 42
+              case 130:
+                {
+                  writingprogram_ = input.readBytes();
+                  bitField0_ |= 0x00000008;
+                  break;
+                } // case 130
+              case 138:
+                {
+                  source_ = input.readBytes();
+                  bitField0_ |= 0x00000010;
+                  break;
+                } // case 138
+              case 256:
+                {
+                  osmosisReplicationTimestamp_ = input.readInt64();
+                  bitField0_ |= 0x00000020;
+                  break;
+                } // case 256
+              case 264:
+                {
+                  osmosisReplicationSequenceNumber_ = input.readInt64();
+                  bitField0_ |= 0x00000040;
+                  break;
+                } // case 264
+              case 274:
+                {
+                  osmosisReplicationBaseUrl_ = input.readBytes();
+                  bitField0_ |= 0x00000080;
+                  break;
+                } // case 274
+              default:
+                {
+                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                    done = true; // was an endgroup tag
+                  }
+                  break;
+                } // default:
             } // switch (tag)
           } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -1169,13 +1262,16 @@ public final class Osmformat {
         } // finally
         return this;
       }
+
       private int bitField0_;
 
       private Osmformat.HeaderBBox bbox_;
       private com.google.protobuf.SingleFieldBuilder<
-          Osmformat.HeaderBBox, Osmformat.HeaderBBox.Builder, Osmformat.HeaderBBoxOrBuilder> bboxBuilder_;
+              Osmformat.HeaderBBox, Osmformat.HeaderBBox.Builder, Osmformat.HeaderBBoxOrBuilder>
+          bboxBuilder_;
       /**
        * <code>optional .HeaderBBox bbox = 1;</code>
+       *
        * @return Whether the bbox field is set.
        */
       public boolean hasBbox() {
@@ -1183,6 +1279,7 @@ public final class Osmformat {
       }
       /**
        * <code>optional .HeaderBBox bbox = 1;</code>
+       *
        * @return The bbox.
        */
       public Osmformat.HeaderBBox getBbox() {
@@ -1192,9 +1289,7 @@ public final class Osmformat {
           return bboxBuilder_.getMessage();
         }
       }
-      /**
-       * <code>optional .HeaderBBox bbox = 1;</code>
-       */
+      /** <code>optional .HeaderBBox bbox = 1;</code> */
       public Builder setBbox(Osmformat.HeaderBBox value) {
         if (bboxBuilder_ == null) {
           if (value == null) {
@@ -1208,11 +1303,8 @@ public final class Osmformat {
         onChanged();
         return this;
       }
-      /**
-       * <code>optional .HeaderBBox bbox = 1;</code>
-       */
-      public Builder setBbox(
-          Osmformat.HeaderBBox.Builder builderForValue) {
+      /** <code>optional .HeaderBBox bbox = 1;</code> */
+      public Builder setBbox(Osmformat.HeaderBBox.Builder builderForValue) {
         if (bboxBuilder_ == null) {
           bbox_ = builderForValue.build();
         } else {
@@ -1222,14 +1314,12 @@ public final class Osmformat {
         onChanged();
         return this;
       }
-      /**
-       * <code>optional .HeaderBBox bbox = 1;</code>
-       */
+      /** <code>optional .HeaderBBox bbox = 1;</code> */
       public Builder mergeBbox(Osmformat.HeaderBBox value) {
         if (bboxBuilder_ == null) {
-          if (((bitField0_ & 0x00000001) != 0) &&
-            bbox_ != null &&
-            bbox_ != Osmformat.HeaderBBox.getDefaultInstance()) {
+          if (((bitField0_ & 0x00000001) != 0)
+              && bbox_ != null
+              && bbox_ != Osmformat.HeaderBBox.getDefaultInstance()) {
             getBboxBuilder().mergeFrom(value);
           } else {
             bbox_ = value;
@@ -1243,9 +1333,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>optional .HeaderBBox bbox = 1;</code>
-       */
+      /** <code>optional .HeaderBBox bbox = 1;</code> */
       public Builder clearBbox() {
         bitField0_ = (bitField0_ & ~0x00000001);
         bbox_ = null;
@@ -1256,37 +1344,30 @@ public final class Osmformat {
         onChanged();
         return this;
       }
-      /**
-       * <code>optional .HeaderBBox bbox = 1;</code>
-       */
+      /** <code>optional .HeaderBBox bbox = 1;</code> */
       public Osmformat.HeaderBBox.Builder getBboxBuilder() {
         bitField0_ |= 0x00000001;
         onChanged();
         return getBboxFieldBuilder().getBuilder();
       }
-      /**
-       * <code>optional .HeaderBBox bbox = 1;</code>
-       */
+      /** <code>optional .HeaderBBox bbox = 1;</code> */
       public Osmformat.HeaderBBoxOrBuilder getBboxOrBuilder() {
         if (bboxBuilder_ != null) {
           return bboxBuilder_.getMessageOrBuilder();
         } else {
-          return bbox_ == null ?
-              Osmformat.HeaderBBox.getDefaultInstance() : bbox_;
+          return bbox_ == null ? Osmformat.HeaderBBox.getDefaultInstance() : bbox_;
         }
       }
-      /**
-       * <code>optional .HeaderBBox bbox = 1;</code>
-       */
+      /** <code>optional .HeaderBBox bbox = 1;</code> */
       private com.google.protobuf.SingleFieldBuilder<
-          Osmformat.HeaderBBox, Osmformat.HeaderBBox.Builder, Osmformat.HeaderBBoxOrBuilder>
+              Osmformat.HeaderBBox, Osmformat.HeaderBBox.Builder, Osmformat.HeaderBBoxOrBuilder>
           getBboxFieldBuilder() {
         if (bboxBuilder_ == null) {
-          bboxBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              Osmformat.HeaderBBox, Osmformat.HeaderBBox.Builder, Osmformat.HeaderBBoxOrBuilder>(
-                  getBbox(),
-                  getParentForChildren(),
-                  isClean());
+          bboxBuilder_ =
+              new com.google.protobuf.SingleFieldBuilder<
+                  Osmformat.HeaderBBox,
+                  Osmformat.HeaderBBox.Builder,
+                  Osmformat.HeaderBBoxOrBuilder>(getBbox(), getParentForChildren(), isClean());
           bbox_ = null;
         }
         return bboxBuilder_;
@@ -1294,6 +1375,7 @@ public final class Osmformat {
 
       private com.google.protobuf.LazyStringArrayList requiredFeatures_ =
           com.google.protobuf.LazyStringArrayList.emptyList();
+
       private void ensureRequiredFeaturesIsMutable() {
         if (!requiredFeatures_.isModifiable()) {
           requiredFeatures_ = new com.google.protobuf.LazyStringArrayList(requiredFeatures_);
@@ -1301,35 +1383,43 @@ public final class Osmformat {
         bitField0_ |= 0x00000002;
       }
       /**
+       *
+       *
        * <pre>
        * Additional tags to aid in parsing this dataset
        * </pre>
        *
        * <code>repeated string required_features = 4;</code>
+       *
        * @return A list containing the requiredFeatures.
        */
-      public com.google.protobuf.ProtocolStringList
-          getRequiredFeaturesList() {
+      public com.google.protobuf.ProtocolStringList getRequiredFeaturesList() {
         requiredFeatures_.makeImmutable();
         return requiredFeatures_;
       }
       /**
+       *
+       *
        * <pre>
        * Additional tags to aid in parsing this dataset
        * </pre>
        *
        * <code>repeated string required_features = 4;</code>
+       *
        * @return The count of requiredFeatures.
        */
       public int getRequiredFeaturesCount() {
         return requiredFeatures_.size();
       }
       /**
+       *
+       *
        * <pre>
        * Additional tags to aid in parsing this dataset
        * </pre>
        *
        * <code>repeated string required_features = 4;</code>
+       *
        * @param index The index of the element to return.
        * @return The requiredFeatures at the given index.
        */
@@ -1337,31 +1427,37 @@ public final class Osmformat {
         return requiredFeatures_.get(index);
       }
       /**
+       *
+       *
        * <pre>
        * Additional tags to aid in parsing this dataset
        * </pre>
        *
        * <code>repeated string required_features = 4;</code>
+       *
        * @param index The index of the value to return.
        * @return The bytes of the requiredFeatures at the given index.
        */
-      public com.google.protobuf.ByteString
-          getRequiredFeaturesBytes(int index) {
+      public com.google.protobuf.ByteString getRequiredFeaturesBytes(int index) {
         return requiredFeatures_.getByteString(index);
       }
       /**
+       *
+       *
        * <pre>
        * Additional tags to aid in parsing this dataset
        * </pre>
        *
        * <code>repeated string required_features = 4;</code>
+       *
        * @param index The index to set the value at.
        * @param value The requiredFeatures to set.
        * @return This builder for chaining.
        */
-      public Builder setRequiredFeatures(
-          int index, String value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder setRequiredFeatures(int index, String value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         ensureRequiredFeaturesIsMutable();
         requiredFeatures_.set(index, value);
         bitField0_ |= 0x00000002;
@@ -1369,17 +1465,21 @@ public final class Osmformat {
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * Additional tags to aid in parsing this dataset
        * </pre>
        *
        * <code>repeated string required_features = 4;</code>
+       *
        * @param value The requiredFeatures to add.
        * @return This builder for chaining.
        */
-      public Builder addRequiredFeatures(
-          String value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder addRequiredFeatures(String value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         ensureRequiredFeaturesIsMutable();
         requiredFeatures_.add(value);
         bitField0_ |= 0x00000002;
@@ -1387,50 +1487,58 @@ public final class Osmformat {
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * Additional tags to aid in parsing this dataset
        * </pre>
        *
        * <code>repeated string required_features = 4;</code>
+       *
        * @param values The requiredFeatures to add.
        * @return This builder for chaining.
        */
-      public Builder addAllRequiredFeatures(
-          Iterable<String> values) {
+      public Builder addAllRequiredFeatures(Iterable<String> values) {
         ensureRequiredFeaturesIsMutable();
-        com.google.protobuf.AbstractMessageLite.Builder.addAll(
-            values, requiredFeatures_);
+        com.google.protobuf.AbstractMessageLite.Builder.addAll(values, requiredFeatures_);
         bitField0_ |= 0x00000002;
         onChanged();
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * Additional tags to aid in parsing this dataset
        * </pre>
        *
        * <code>repeated string required_features = 4;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearRequiredFeatures() {
-        requiredFeatures_ =
-          com.google.protobuf.LazyStringArrayList.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000002);;
+        requiredFeatures_ = com.google.protobuf.LazyStringArrayList.emptyList();
+        bitField0_ = (bitField0_ & ~0x00000002);
+        ;
         onChanged();
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * Additional tags to aid in parsing this dataset
        * </pre>
        *
        * <code>repeated string required_features = 4;</code>
+       *
        * @param value The bytes of the requiredFeatures to add.
        * @return This builder for chaining.
        */
-      public Builder addRequiredFeaturesBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder addRequiredFeaturesBytes(com.google.protobuf.ByteString value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         ensureRequiredFeaturesIsMutable();
         requiredFeatures_.add(value);
         bitField0_ |= 0x00000002;
@@ -1440,6 +1548,7 @@ public final class Osmformat {
 
       private com.google.protobuf.LazyStringArrayList optionalFeatures_ =
           com.google.protobuf.LazyStringArrayList.emptyList();
+
       private void ensureOptionalFeaturesIsMutable() {
         if (!optionalFeatures_.isModifiable()) {
           optionalFeatures_ = new com.google.protobuf.LazyStringArrayList(optionalFeatures_);
@@ -1448,15 +1557,16 @@ public final class Osmformat {
       }
       /**
        * <code>repeated string optional_features = 5;</code>
+       *
        * @return A list containing the optionalFeatures.
        */
-      public com.google.protobuf.ProtocolStringList
-          getOptionalFeaturesList() {
+      public com.google.protobuf.ProtocolStringList getOptionalFeaturesList() {
         optionalFeatures_.makeImmutable();
         return optionalFeatures_;
       }
       /**
        * <code>repeated string optional_features = 5;</code>
+       *
        * @return The count of optionalFeatures.
        */
       public int getOptionalFeaturesCount() {
@@ -1464,6 +1574,7 @@ public final class Osmformat {
       }
       /**
        * <code>repeated string optional_features = 5;</code>
+       *
        * @param index The index of the element to return.
        * @return The optionalFeatures at the given index.
        */
@@ -1472,22 +1583,24 @@ public final class Osmformat {
       }
       /**
        * <code>repeated string optional_features = 5;</code>
+       *
        * @param index The index of the value to return.
        * @return The bytes of the optionalFeatures at the given index.
        */
-      public com.google.protobuf.ByteString
-          getOptionalFeaturesBytes(int index) {
+      public com.google.protobuf.ByteString getOptionalFeaturesBytes(int index) {
         return optionalFeatures_.getByteString(index);
       }
       /**
        * <code>repeated string optional_features = 5;</code>
+       *
        * @param index The index to set the value at.
        * @param value The optionalFeatures to set.
        * @return This builder for chaining.
        */
-      public Builder setOptionalFeatures(
-          int index, String value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder setOptionalFeatures(int index, String value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         ensureOptionalFeaturesIsMutable();
         optionalFeatures_.set(index, value);
         bitField0_ |= 0x00000004;
@@ -1496,12 +1609,14 @@ public final class Osmformat {
       }
       /**
        * <code>repeated string optional_features = 5;</code>
+       *
        * @param value The optionalFeatures to add.
        * @return This builder for chaining.
        */
-      public Builder addOptionalFeatures(
-          String value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder addOptionalFeatures(String value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         ensureOptionalFeaturesIsMutable();
         optionalFeatures_.add(value);
         bitField0_ |= 0x00000004;
@@ -1510,37 +1625,39 @@ public final class Osmformat {
       }
       /**
        * <code>repeated string optional_features = 5;</code>
+       *
        * @param values The optionalFeatures to add.
        * @return This builder for chaining.
        */
-      public Builder addAllOptionalFeatures(
-          Iterable<String> values) {
+      public Builder addAllOptionalFeatures(Iterable<String> values) {
         ensureOptionalFeaturesIsMutable();
-        com.google.protobuf.AbstractMessageLite.Builder.addAll(
-            values, optionalFeatures_);
+        com.google.protobuf.AbstractMessageLite.Builder.addAll(values, optionalFeatures_);
         bitField0_ |= 0x00000004;
         onChanged();
         return this;
       }
       /**
        * <code>repeated string optional_features = 5;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearOptionalFeatures() {
-        optionalFeatures_ =
-          com.google.protobuf.LazyStringArrayList.emptyList();
-        bitField0_ = (bitField0_ & ~0x00000004);;
+        optionalFeatures_ = com.google.protobuf.LazyStringArrayList.emptyList();
+        bitField0_ = (bitField0_ & ~0x00000004);
+        ;
         onChanged();
         return this;
       }
       /**
        * <code>repeated string optional_features = 5;</code>
+       *
        * @param value The bytes of the optionalFeatures to add.
        * @return This builder for chaining.
        */
-      public Builder addOptionalFeaturesBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder addOptionalFeaturesBytes(com.google.protobuf.ByteString value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         ensureOptionalFeaturesIsMutable();
         optionalFeatures_.add(value);
         bitField0_ |= 0x00000004;
@@ -1551,6 +1668,7 @@ public final class Osmformat {
       private Object writingprogram_ = "";
       /**
        * <code>optional string writingprogram = 16;</code>
+       *
        * @return Whether the writingprogram field is set.
        */
       public boolean hasWritingprogram() {
@@ -1558,13 +1676,13 @@ public final class Osmformat {
       }
       /**
        * <code>optional string writingprogram = 16;</code>
+       *
        * @return The writingprogram.
        */
       public String getWritingprogram() {
         Object ref = writingprogram_;
         if (!(ref instanceof String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
+          com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
           String s = bs.toStringUtf8();
           if (bs.isValidUtf8()) {
             writingprogram_ = s;
@@ -1576,15 +1694,14 @@ public final class Osmformat {
       }
       /**
        * <code>optional string writingprogram = 16;</code>
+       *
        * @return The bytes for writingprogram.
        */
-      public com.google.protobuf.ByteString
-          getWritingprogramBytes() {
+      public com.google.protobuf.ByteString getWritingprogramBytes() {
         Object ref = writingprogram_;
         if (ref instanceof String) {
           com.google.protobuf.ByteString b =
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (String) ref);
+              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
           writingprogram_ = b;
           return b;
         } else {
@@ -1593,12 +1710,14 @@ public final class Osmformat {
       }
       /**
        * <code>optional string writingprogram = 16;</code>
+       *
        * @param value The writingprogram to set.
        * @return This builder for chaining.
        */
-      public Builder setWritingprogram(
-          String value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder setWritingprogram(String value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         writingprogram_ = value;
         bitField0_ |= 0x00000008;
         onChanged();
@@ -1606,6 +1725,7 @@ public final class Osmformat {
       }
       /**
        * <code>optional string writingprogram = 16;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearWritingprogram() {
@@ -1616,12 +1736,14 @@ public final class Osmformat {
       }
       /**
        * <code>optional string writingprogram = 16;</code>
+       *
        * @param value The bytes for writingprogram to set.
        * @return This builder for chaining.
        */
-      public Builder setWritingprogramBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder setWritingprogramBytes(com.google.protobuf.ByteString value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         writingprogram_ = value;
         bitField0_ |= 0x00000008;
         onChanged();
@@ -1630,29 +1752,34 @@ public final class Osmformat {
 
       private Object source_ = "";
       /**
+       *
+       *
        * <pre>
        * From the bbox field.
        * </pre>
        *
        * <code>optional string source = 17;</code>
+       *
        * @return Whether the source field is set.
        */
       public boolean hasSource() {
         return ((bitField0_ & 0x00000010) != 0);
       }
       /**
+       *
+       *
        * <pre>
        * From the bbox field.
        * </pre>
        *
        * <code>optional string source = 17;</code>
+       *
        * @return The source.
        */
       public String getSource() {
         Object ref = source_;
         if (!(ref instanceof String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
+          com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
           String s = bs.toStringUtf8();
           if (bs.isValidUtf8()) {
             source_ = s;
@@ -1663,20 +1790,21 @@ public final class Osmformat {
         }
       }
       /**
+       *
+       *
        * <pre>
        * From the bbox field.
        * </pre>
        *
        * <code>optional string source = 17;</code>
+       *
        * @return The bytes for source.
        */
-      public com.google.protobuf.ByteString
-          getSourceBytes() {
+      public com.google.protobuf.ByteString getSourceBytes() {
         Object ref = source_;
         if (ref instanceof String) {
           com.google.protobuf.ByteString b =
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (String) ref);
+              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
           source_ = b;
           return b;
         } else {
@@ -1684,28 +1812,35 @@ public final class Osmformat {
         }
       }
       /**
+       *
+       *
        * <pre>
        * From the bbox field.
        * </pre>
        *
        * <code>optional string source = 17;</code>
+       *
        * @param value The source to set.
        * @return This builder for chaining.
        */
-      public Builder setSource(
-          String value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder setSource(String value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         source_ = value;
         bitField0_ |= 0x00000010;
         onChanged();
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * From the bbox field.
        * </pre>
        *
        * <code>optional string source = 17;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearSource() {
@@ -1715,25 +1850,31 @@ public final class Osmformat {
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * From the bbox field.
        * </pre>
        *
        * <code>optional string source = 17;</code>
+       *
        * @param value The bytes for source to set.
        * @return This builder for chaining.
        */
-      public Builder setSourceBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder setSourceBytes(com.google.protobuf.ByteString value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         source_ = value;
         bitField0_ |= 0x00000010;
         onChanged();
         return this;
       }
 
-      private long osmosisReplicationTimestamp_ ;
+      private long osmosisReplicationTimestamp_;
       /**
+       *
+       *
        * <pre>
        * replication timestamp, expressed in seconds since the epoch,
        * otherwise the same value as in the "timestamp=..." field
@@ -1741,6 +1882,7 @@ public final class Osmformat {
        * </pre>
        *
        * <code>optional int64 osmosis_replication_timestamp = 32;</code>
+       *
        * @return Whether the osmosisReplicationTimestamp field is set.
        */
       @Override
@@ -1748,6 +1890,8 @@ public final class Osmformat {
         return ((bitField0_ & 0x00000020) != 0);
       }
       /**
+       *
+       *
        * <pre>
        * replication timestamp, expressed in seconds since the epoch,
        * otherwise the same value as in the "timestamp=..." field
@@ -1755,6 +1899,7 @@ public final class Osmformat {
        * </pre>
        *
        * <code>optional int64 osmosis_replication_timestamp = 32;</code>
+       *
        * @return The osmosisReplicationTimestamp.
        */
       @Override
@@ -1762,6 +1907,8 @@ public final class Osmformat {
         return osmosisReplicationTimestamp_;
       }
       /**
+       *
+       *
        * <pre>
        * replication timestamp, expressed in seconds since the epoch,
        * otherwise the same value as in the "timestamp=..." field
@@ -1769,6 +1916,7 @@ public final class Osmformat {
        * </pre>
        *
        * <code>optional int64 osmosis_replication_timestamp = 32;</code>
+       *
        * @param value The osmosisReplicationTimestamp to set.
        * @return This builder for chaining.
        */
@@ -1780,6 +1928,8 @@ public final class Osmformat {
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * replication timestamp, expressed in seconds since the epoch,
        * otherwise the same value as in the "timestamp=..." field
@@ -1787,6 +1937,7 @@ public final class Osmformat {
        * </pre>
        *
        * <code>optional int64 osmosis_replication_timestamp = 32;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearOsmosisReplicationTimestamp() {
@@ -1796,13 +1947,16 @@ public final class Osmformat {
         return this;
       }
 
-      private long osmosisReplicationSequenceNumber_ ;
+      private long osmosisReplicationSequenceNumber_;
       /**
+       *
+       *
        * <pre>
        * replication sequence number (sequenceNumber in state.txt)
        * </pre>
        *
        * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
+       *
        * @return Whether the osmosisReplicationSequenceNumber field is set.
        */
       @Override
@@ -1810,11 +1964,14 @@ public final class Osmformat {
         return ((bitField0_ & 0x00000040) != 0);
       }
       /**
+       *
+       *
        * <pre>
        * replication sequence number (sequenceNumber in state.txt)
        * </pre>
        *
        * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
+       *
        * @return The osmosisReplicationSequenceNumber.
        */
       @Override
@@ -1822,11 +1979,14 @@ public final class Osmformat {
         return osmosisReplicationSequenceNumber_;
       }
       /**
+       *
+       *
        * <pre>
        * replication sequence number (sequenceNumber in state.txt)
        * </pre>
        *
        * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
+       *
        * @param value The osmosisReplicationSequenceNumber to set.
        * @return This builder for chaining.
        */
@@ -1838,11 +1998,14 @@ public final class Osmformat {
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * replication sequence number (sequenceNumber in state.txt)
        * </pre>
        *
        * <code>optional int64 osmosis_replication_sequence_number = 33;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearOsmosisReplicationSequenceNumber() {
@@ -1854,29 +2017,34 @@ public final class Osmformat {
 
       private Object osmosisReplicationBaseUrl_ = "";
       /**
+       *
+       *
        * <pre>
        * replication base URL (from Osmosis' configuration.txt file)
        * </pre>
        *
        * <code>optional string osmosis_replication_base_url = 34;</code>
+       *
        * @return Whether the osmosisReplicationBaseUrl field is set.
        */
       public boolean hasOsmosisReplicationBaseUrl() {
         return ((bitField0_ & 0x00000080) != 0);
       }
       /**
+       *
+       *
        * <pre>
        * replication base URL (from Osmosis' configuration.txt file)
        * </pre>
        *
        * <code>optional string osmosis_replication_base_url = 34;</code>
+       *
        * @return The osmosisReplicationBaseUrl.
        */
       public String getOsmosisReplicationBaseUrl() {
         Object ref = osmosisReplicationBaseUrl_;
         if (!(ref instanceof String)) {
-          com.google.protobuf.ByteString bs =
-              (com.google.protobuf.ByteString) ref;
+          com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
           String s = bs.toStringUtf8();
           if (bs.isValidUtf8()) {
             osmosisReplicationBaseUrl_ = s;
@@ -1887,20 +2055,21 @@ public final class Osmformat {
         }
       }
       /**
+       *
+       *
        * <pre>
        * replication base URL (from Osmosis' configuration.txt file)
        * </pre>
        *
        * <code>optional string osmosis_replication_base_url = 34;</code>
+       *
        * @return The bytes for osmosisReplicationBaseUrl.
        */
-      public com.google.protobuf.ByteString
-          getOsmosisReplicationBaseUrlBytes() {
+      public com.google.protobuf.ByteString getOsmosisReplicationBaseUrlBytes() {
         Object ref = osmosisReplicationBaseUrl_;
         if (ref instanceof String) {
           com.google.protobuf.ByteString b =
-              com.google.protobuf.ByteString.copyFromUtf8(
-                  (String) ref);
+              com.google.protobuf.ByteString.copyFromUtf8((String) ref);
           osmosisReplicationBaseUrl_ = b;
           return b;
         } else {
@@ -1908,28 +2077,35 @@ public final class Osmformat {
         }
       }
       /**
+       *
+       *
        * <pre>
        * replication base URL (from Osmosis' configuration.txt file)
        * </pre>
        *
        * <code>optional string osmosis_replication_base_url = 34;</code>
+       *
        * @param value The osmosisReplicationBaseUrl to set.
        * @return This builder for chaining.
        */
-      public Builder setOsmosisReplicationBaseUrl(
-          String value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder setOsmosisReplicationBaseUrl(String value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         osmosisReplicationBaseUrl_ = value;
         bitField0_ |= 0x00000080;
         onChanged();
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * replication base URL (from Osmosis' configuration.txt file)
        * </pre>
        *
        * <code>optional string osmosis_replication_base_url = 34;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearOsmosisReplicationBaseUrl() {
@@ -1939,17 +2115,21 @@ public final class Osmformat {
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * replication base URL (from Osmosis' configuration.txt file)
        * </pre>
        *
        * <code>optional string osmosis_replication_base_url = 34;</code>
+       *
        * @param value The bytes for osmosisReplicationBaseUrl to set.
        * @return This builder for chaining.
        */
-      public Builder setOsmosisReplicationBaseUrlBytes(
-          com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder setOsmosisReplicationBaseUrlBytes(com.google.protobuf.ByteString value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         osmosisReplicationBaseUrl_ = value;
         bitField0_ |= 0x00000080;
         onChanged();
@@ -1961,6 +2141,7 @@ public final class Osmformat {
 
     // @@protoc_insertion_point(class_scope:HeaderBlock)
     private static final Osmformat.HeaderBlock DEFAULT_INSTANCE;
+
     static {
       DEFAULT_INSTANCE = new Osmformat.HeaderBlock();
     }
@@ -1969,27 +2150,28 @@ public final class Osmformat {
       return DEFAULT_INSTANCE;
     }
 
-    private static final com.google.protobuf.Parser<HeaderBlock>
-        PARSER = new com.google.protobuf.AbstractParser<HeaderBlock>() {
-      @Override
-      public HeaderBlock parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        Builder builder = newBuilder();
-        try {
-          builder.mergeFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          throw e.setUnfinishedMessage(builder.buildPartial());
-        } catch (com.google.protobuf.UninitializedMessageException e) {
-          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-        } catch (java.io.IOException e) {
-          throw new com.google.protobuf.InvalidProtocolBufferException(e)
-              .setUnfinishedMessage(builder.buildPartial());
-        }
-        return builder.buildPartial();
-      }
-    };
+    private static final com.google.protobuf.Parser<HeaderBlock> PARSER =
+        new com.google.protobuf.AbstractParser<HeaderBlock>() {
+          @Override
+          public HeaderBlock parsePartialFrom(
+              com.google.protobuf.CodedInputStream input,
+              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+              throws com.google.protobuf.InvalidProtocolBufferException {
+            Builder builder = newBuilder();
+            try {
+              builder.mergeFrom(input, extensionRegistry);
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+              throw e.setUnfinishedMessage(builder.buildPartial());
+            } catch (com.google.protobuf.UninitializedMessageException e) {
+              throw e.asInvalidProtocolBufferException()
+                  .setUnfinishedMessage(builder.buildPartial());
+            } catch (java.io.IOException e) {
+              throw new com.google.protobuf.InvalidProtocolBufferException(e)
+                  .setUnfinishedMessage(builder.buildPartial());
+            }
+            return builder.buildPartial();
+          }
+        };
 
     public static com.google.protobuf.Parser<HeaderBlock> parser() {
       return PARSER;
@@ -2004,89 +2186,94 @@ public final class Osmformat {
     public Osmformat.HeaderBlock getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
-
   }
 
-  public interface HeaderBBoxOrBuilder extends
+  public interface HeaderBBoxOrBuilder
+      extends
       // @@protoc_insertion_point(interface_extends:HeaderBBox)
       com.google.protobuf.MessageOrBuilder {
 
     /**
      * <code>required sint64 left = 1;</code>
+     *
      * @return Whether the left field is set.
      */
     boolean hasLeft();
     /**
      * <code>required sint64 left = 1;</code>
+     *
      * @return The left.
      */
     long getLeft();
 
     /**
      * <code>required sint64 right = 2;</code>
+     *
      * @return Whether the right field is set.
      */
     boolean hasRight();
     /**
      * <code>required sint64 right = 2;</code>
+     *
      * @return The right.
      */
     long getRight();
 
     /**
      * <code>required sint64 top = 3;</code>
+     *
      * @return Whether the top field is set.
      */
     boolean hasTop();
     /**
      * <code>required sint64 top = 3;</code>
+     *
      * @return The top.
      */
     long getTop();
 
     /**
      * <code>required sint64 bottom = 4;</code>
+     *
      * @return Whether the bottom field is set.
      */
     boolean hasBottom();
     /**
      * <code>required sint64 bottom = 4;</code>
+     *
      * @return The bottom.
      */
     long getBottom();
   }
-  /**
-   * Protobuf type {@code HeaderBBox}
-   */
-  public static final class HeaderBBox extends
-      com.google.protobuf.GeneratedMessage implements
+  /** Protobuf type {@code HeaderBBox} */
+  public static final class HeaderBBox extends com.google.protobuf.GeneratedMessage
+      implements
       // @@protoc_insertion_point(message_implements:HeaderBBox)
       HeaderBBoxOrBuilder {
-  private static final long serialVersionUID = 0L;
+    private static final long serialVersionUID = 0L;
+
     static {
       com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
-        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
-        /* major= */ 4,
-        /* minor= */ 27,
-        /* patch= */ 0,
-        /* suffix= */ "",
-        HeaderBBox.class.getName());
+          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+          /* major= */ 4,
+          /* minor= */ 27,
+          /* patch= */ 0,
+          /* suffix= */ "",
+          HeaderBBox.class.getName());
     }
     // Use HeaderBBox.newBuilder() to construct.
     private HeaderBBox(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
-    private HeaderBBox() {
-    }
 
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
+    private HeaderBBox() {}
+
+    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
       return Osmformat.internal_static_org_apache_sedona_osm_build_HeaderBBox_descriptor;
     }
 
     @Override
-    protected FieldAccessorTable
-        internalGetFieldAccessorTable() {
+    protected FieldAccessorTable internalGetFieldAccessorTable() {
       return Osmformat.internal_static_org_apache_sedona_osm_build_HeaderBBox_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
               Osmformat.HeaderBBox.class, Osmformat.HeaderBBox.Builder.class);
@@ -2097,6 +2284,7 @@ public final class Osmformat {
     private long left_ = 0L;
     /**
      * <code>required sint64 left = 1;</code>
+     *
      * @return Whether the left field is set.
      */
     @Override
@@ -2105,6 +2293,7 @@ public final class Osmformat {
     }
     /**
      * <code>required sint64 left = 1;</code>
+     *
      * @return The left.
      */
     @Override
@@ -2116,6 +2305,7 @@ public final class Osmformat {
     private long right_ = 0L;
     /**
      * <code>required sint64 right = 2;</code>
+     *
      * @return Whether the right field is set.
      */
     @Override
@@ -2124,6 +2314,7 @@ public final class Osmformat {
     }
     /**
      * <code>required sint64 right = 2;</code>
+     *
      * @return The right.
      */
     @Override
@@ -2135,6 +2326,7 @@ public final class Osmformat {
     private long top_ = 0L;
     /**
      * <code>required sint64 top = 3;</code>
+     *
      * @return Whether the top field is set.
      */
     @Override
@@ -2143,6 +2335,7 @@ public final class Osmformat {
     }
     /**
      * <code>required sint64 top = 3;</code>
+     *
      * @return The top.
      */
     @Override
@@ -2154,6 +2347,7 @@ public final class Osmformat {
     private long bottom_ = 0L;
     /**
      * <code>required sint64 bottom = 4;</code>
+     *
      * @return Whether the bottom field is set.
      */
     @Override
@@ -2162,6 +2356,7 @@ public final class Osmformat {
     }
     /**
      * <code>required sint64 bottom = 4;</code>
+     *
      * @return The bottom.
      */
     @Override
@@ -2170,6 +2365,7 @@ public final class Osmformat {
     }
 
     private byte memoizedIsInitialized = -1;
+
     @Override
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
@@ -2197,8 +2393,7 @@ public final class Osmformat {
     }
 
     @Override
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
+    public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
       if (((bitField0_ & 0x00000001) != 0)) {
         output.writeSInt64(1, left_);
       }
@@ -2221,20 +2416,16 @@ public final class Osmformat {
 
       size = 0;
       if (((bitField0_ & 0x00000001) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeSInt64Size(1, left_);
+        size += com.google.protobuf.CodedOutputStream.computeSInt64Size(1, left_);
       }
       if (((bitField0_ & 0x00000002) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeSInt64Size(2, right_);
+        size += com.google.protobuf.CodedOutputStream.computeSInt64Size(2, right_);
       }
       if (((bitField0_ & 0x00000004) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeSInt64Size(3, top_);
+        size += com.google.protobuf.CodedOutputStream.computeSInt64Size(3, top_);
       }
       if (((bitField0_ & 0x00000008) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeSInt64Size(4, bottom_);
+        size += com.google.protobuf.CodedOutputStream.computeSInt64Size(4, bottom_);
       }
       size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
@@ -2244,7 +2435,7 @@ public final class Osmformat {
     @Override
     public boolean equals(final Object obj) {
       if (obj == this) {
-       return true;
+        return true;
       }
       if (!(obj instanceof Osmformat.HeaderBBox)) {
         return super.equals(obj);
@@ -2253,23 +2444,19 @@ public final class Osmformat {
 
       if (hasLeft() != other.hasLeft()) return false;
       if (hasLeft()) {
-        if (getLeft()
-            != other.getLeft()) return false;
+        if (getLeft() != other.getLeft()) return false;
       }
       if (hasRight() != other.hasRight()) return false;
       if (hasRight()) {
-        if (getRight()
-            != other.getRight()) return false;
+        if (getRight() != other.getRight()) return false;
       }
       if (hasTop() != other.hasTop()) return false;
       if (hasTop()) {
-        if (getTop()
-            != other.getTop()) return false;
+        if (getTop() != other.getTop()) return false;
       }
       if (hasBottom() != other.hasBottom()) return false;
       if (hasBottom()) {
-        if (getBottom()
-            != other.getBottom()) return false;
+        if (getBottom() != other.getBottom()) return false;
       }
       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
@@ -2284,151 +2471,142 @@ public final class Osmformat {
       hash = (19 * hash) + getDescriptor().hashCode();
       if (hasLeft()) {
         hash = (37 * hash) + LEFT_FIELD_NUMBER;
-        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-            getLeft());
+        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getLeft());
       }
       if (hasRight()) {
         hash = (37 * hash) + RIGHT_FIELD_NUMBER;
-        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-            getRight());
+        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getRight());
       }
       if (hasTop()) {
         hash = (37 * hash) + TOP_FIELD_NUMBER;
-        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-            getTop());
+        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getTop());
       }
       if (hasBottom()) {
         hash = (37 * hash) + BOTTOM_FIELD_NUMBER;
-        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-            getBottom());
+        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getBottom());
       }
       hash = (29 * hash) + getUnknownFields().hashCode();
       memoizedHashCode = hash;
       return hash;
     }
 
-    public static Osmformat.HeaderBBox parseFrom(
-        java.nio.ByteBuffer data)
+    public static Osmformat.HeaderBBox parseFrom(java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.HeaderBBox parseFrom(
-        java.nio.ByteBuffer data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Osmformat.HeaderBBox parseFrom(
-        com.google.protobuf.ByteString data)
+
+    public static Osmformat.HeaderBBox parseFrom(com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.HeaderBBox parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
+
     public static Osmformat.HeaderBBox parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.HeaderBBox parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
+
     public static Osmformat.HeaderBBox parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Osmformat.HeaderBBox parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     public static Osmformat.HeaderBBox parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input);
     }
 
     public static Osmformat.HeaderBBox parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(
+          PARSER, input, extensionRegistry);
     }
-    public static Osmformat.HeaderBBox parseFrom(
-        com.google.protobuf.CodedInputStream input)
+
+    public static Osmformat.HeaderBBox parseFrom(com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Osmformat.HeaderBBox parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     @Override
-    public Builder newBuilderForType() { return newBuilder(); }
+    public Builder newBuilderForType() {
+      return newBuilder();
+    }
+
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
+
     public static Builder newBuilder(Osmformat.HeaderBBox prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
+
     @Override
     public Builder toBuilder() {
-      return this == DEFAULT_INSTANCE
-          ? new Builder() : new Builder().mergeFrom(this);
+      return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @Override
-    protected Builder newBuilderForType(
-        BuilderParent parent) {
+    protected Builder newBuilderForType(BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
-    /**
-     * Protobuf type {@code HeaderBBox}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+    /** Protobuf type {@code HeaderBBox} */
+    public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder>
+        implements
         // @@protoc_insertion_point(builder_implements:HeaderBBox)
         Osmformat.HeaderBBoxOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
+      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
         return Osmformat.internal_static_org_apache_sedona_osm_build_HeaderBBox_descriptor;
       }
 
       @Override
-      protected FieldAccessorTable
-          internalGetFieldAccessorTable() {
+      protected FieldAccessorTable internalGetFieldAccessorTable() {
         return Osmformat.internal_static_org_apache_sedona_osm_build_HeaderBBox_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
                 Osmformat.HeaderBBox.class, Osmformat.HeaderBBox.Builder.class);
       }
 
       // Construct using Osmformat.HeaderBBox.newBuilder()
-      private Builder() {
-
-      }
+      private Builder() {}
 
-      private Builder(
-          BuilderParent parent) {
+      private Builder(BuilderParent parent) {
         super(parent);
-
       }
+
       @Override
       public Builder clear() {
         super.clear();
@@ -2441,8 +2619,7 @@ public final class Osmformat {
       }
 
       @Override
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
+      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
         return Osmformat.internal_static_org_apache_sedona_osm_build_HeaderBBox_descriptor;
       }
 
@@ -2463,7 +2640,9 @@ public final class Osmformat {
       @Override
       public Osmformat.HeaderBBox buildPartial() {
         Osmformat.HeaderBBox result = new Osmformat.HeaderBBox(this);
-        if (bitField0_ != 0) { buildPartial0(result); }
+        if (bitField0_ != 0) {
+          buildPartial0(result);
+        }
         onBuilt();
         return result;
       }
@@ -2493,7 +2672,7 @@ public final class Osmformat {
       @Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof Osmformat.HeaderBBox) {
-          return mergeFrom((Osmformat.HeaderBBox)other);
+          return mergeFrom((Osmformat.HeaderBBox) other);
         } else {
           super.mergeFrom(other);
           return this;
@@ -2552,32 +2731,37 @@ public final class Osmformat {
               case 0:
                 done = true;
                 break;
-              case 8: {
-                left_ = input.readSInt64();
-                bitField0_ |= 0x00000001;
-                break;
-              } // case 8
-              case 16: {
-                right_ = input.readSInt64();
-                bitField0_ |= 0x00000002;
-                break;
-              } // case 16
-              case 24: {
-                top_ = input.readSInt64();
-                bitField0_ |= 0x00000004;
-                break;
-              } // case 24
-              case 32: {
-                bottom_ = input.readSInt64();
-                bitField0_ |= 0x00000008;
-                break;
-              } // case 32
-              default: {
-                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                  done = true; // was an endgroup tag
-                }
-                break;
-              } // default:
+              case 8:
+                {
+                  left_ = input.readSInt64();
+                  bitField0_ |= 0x00000001;
+                  break;
+                } // case 8
+              case 16:
+                {
+                  right_ = input.readSInt64();
+                  bitField0_ |= 0x00000002;
+                  break;
+                } // case 16
+              case 24:
+                {
+                  top_ = input.readSInt64();
+                  bitField0_ |= 0x00000004;
+                  break;
+                } // case 24
+              case 32:
+                {
+                  bottom_ = input.readSInt64();
+                  bitField0_ |= 0x00000008;
+                  break;
+                } // case 32
+              default:
+                {
+                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                    done = true; // was an endgroup tag
+                  }
+                  break;
+                } // default:
             } // switch (tag)
           } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -2587,11 +2771,13 @@ public final class Osmformat {
         } // finally
         return this;
       }
+
       private int bitField0_;
 
-      private long left_ ;
+      private long left_;
       /**
        * <code>required sint64 left = 1;</code>
+       *
        * @return Whether the left field is set.
        */
       @Override
@@ -2600,6 +2786,7 @@ public final class Osmformat {
       }
       /**
        * <code>required sint64 left = 1;</code>
+       *
        * @return The left.
        */
       @Override
@@ -2608,6 +2795,7 @@ public final class Osmformat {
       }
       /**
        * <code>required sint64 left = 1;</code>
+       *
        * @param value The left to set.
        * @return This builder for chaining.
        */
@@ -2620,6 +2808,7 @@ public final class Osmformat {
       }
       /**
        * <code>required sint64 left = 1;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearLeft() {
@@ -2629,9 +2818,10 @@ public final class Osmformat {
         return this;
       }
 
-      private long right_ ;
+      private long right_;
       /**
        * <code>required sint64 right = 2;</code>
+       *
        * @return Whether the right field is set.
        */
       @Override
@@ -2640,6 +2830,7 @@ public final class Osmformat {
       }
       /**
        * <code>required sint64 right = 2;</code>
+       *
        * @return The right.
        */
       @Override
@@ -2648,6 +2839,7 @@ public final class Osmformat {
       }
       /**
        * <code>required sint64 right = 2;</code>
+       *
        * @param value The right to set.
        * @return This builder for chaining.
        */
@@ -2660,6 +2852,7 @@ public final class Osmformat {
       }
       /**
        * <code>required sint64 right = 2;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearRight() {
@@ -2669,9 +2862,10 @@ public final class Osmformat {
         return this;
       }
 
-      private long top_ ;
+      private long top_;
       /**
        * <code>required sint64 top = 3;</code>
+       *
        * @return Whether the top field is set.
        */
       @Override
@@ -2680,6 +2874,7 @@ public final class Osmformat {
       }
       /**
        * <code>required sint64 top = 3;</code>
+       *
        * @return The top.
        */
       @Override
@@ -2688,6 +2883,7 @@ public final class Osmformat {
       }
       /**
        * <code>required sint64 top = 3;</code>
+       *
        * @param value The top to set.
        * @return This builder for chaining.
        */
@@ -2700,6 +2896,7 @@ public final class Osmformat {
       }
       /**
        * <code>required sint64 top = 3;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearTop() {
@@ -2709,9 +2906,10 @@ public final class Osmformat {
         return this;
       }
 
-      private long bottom_ ;
+      private long bottom_;
       /**
        * <code>required sint64 bottom = 4;</code>
+       *
        * @return Whether the bottom field is set.
        */
       @Override
@@ -2720,6 +2918,7 @@ public final class Osmformat {
       }
       /**
        * <code>required sint64 bottom = 4;</code>
+       *
        * @return The bottom.
        */
       @Override
@@ -2728,6 +2927,7 @@ public final class Osmformat {
       }
       /**
        * <code>required sint64 bottom = 4;</code>
+       *
        * @param value The bottom to set.
        * @return This builder for chaining.
        */
@@ -2740,6 +2940,7 @@ public final class Osmformat {
       }
       /**
        * <code>required sint64 bottom = 4;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearBottom() {
@@ -2754,6 +2955,7 @@ public final class Osmformat {
 
     // @@protoc_insertion_point(class_scope:HeaderBBox)
     private static final Osmformat.HeaderBBox DEFAULT_INSTANCE;
+
     static {
       DEFAULT_INSTANCE = new Osmformat.HeaderBBox();
     }
@@ -2762,27 +2964,28 @@ public final class Osmformat {
       return DEFAULT_INSTANCE;
     }
 
-    private static final com.google.protobuf.Parser<HeaderBBox>
-        PARSER = new com.google.protobuf.AbstractParser<HeaderBBox>() {
-      @Override
-      public HeaderBBox parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        Builder builder = newBuilder();
-        try {
-          builder.mergeFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          throw e.setUnfinishedMessage(builder.buildPartial());
-        } catch (com.google.protobuf.UninitializedMessageException e) {
-          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-        } catch (java.io.IOException e) {
-          throw new com.google.protobuf.InvalidProtocolBufferException(e)
-              .setUnfinishedMessage(builder.buildPartial());
-        }
-        return builder.buildPartial();
-      }
-    };
+    private static final com.google.protobuf.Parser<HeaderBBox> PARSER =
+        new com.google.protobuf.AbstractParser<HeaderBBox>() {
+          @Override
+          public HeaderBBox parsePartialFrom(
+              com.google.protobuf.CodedInputStream input,
+              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+              throws com.google.protobuf.InvalidProtocolBufferException {
+            Builder builder = newBuilder();
+            try {
+              builder.mergeFrom(input, extensionRegistry);
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+              throw e.setUnfinishedMessage(builder.buildPartial());
+            } catch (com.google.protobuf.UninitializedMessageException e) {
+              throw e.asInvalidProtocolBufferException()
+                  .setUnfinishedMessage(builder.buildPartial());
+            } catch (java.io.IOException e) {
+              throw new com.google.protobuf.InvalidProtocolBufferException(e)
+                  .setUnfinishedMessage(builder.buildPartial());
+            }
+            return builder.buildPartial();
+          }
+        };
 
     public static com.google.protobuf.Parser<HeaderBBox> parser() {
       return PARSER;
@@ -2797,155 +3000,160 @@ public final class Osmformat {
     public Osmformat.HeaderBBox getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
-
   }
 
-  public interface PrimitiveBlockOrBuilder extends
+  public interface PrimitiveBlockOrBuilder
+      extends
       // @@protoc_insertion_point(interface_extends:PrimitiveBlock)
       com.google.protobuf.MessageOrBuilder {
 
     /**
      * <code>required .StringTable stringtable = 1;</code>
+     *
      * @return Whether the stringtable field is set.
      */
     boolean hasStringtable();
     /**
      * <code>required .StringTable stringtable = 1;</code>
+     *
      * @return The stringtable.
      */
     Osmformat.StringTable getStringtable();
-    /**
-     * <code>required .StringTable stringtable = 1;</code>
-     */
+    /** <code>required .StringTable stringtable = 1;</code> */
     Osmformat.StringTableOrBuilder getStringtableOrBuilder();
 
-    /**
-     * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-     */
-    java.util.List<Osmformat.PrimitiveGroup>
-        getPrimitivegroupList();
-    /**
-     * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-     */
+    /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
+    java.util.List<Osmformat.PrimitiveGroup> getPrimitivegroupList();
+    /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
     Osmformat.PrimitiveGroup getPrimitivegroup(int index);
-    /**
-     * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-     */
+    /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
     int getPrimitivegroupCount();
-    /**
-     * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-     */
-    java.util.List<? extends Osmformat.PrimitiveGroupOrBuilder>
-        getPrimitivegroupOrBuilderList();
-    /**
-     * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-     */
-    Osmformat.PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder(
-        int index);
+    /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
+    java.util.List<? extends Osmformat.PrimitiveGroupOrBuilder> getPrimitivegroupOrBuilderList();
+    /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
+    Osmformat.PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder(int index);
 
     /**
+     *
+     *
      * <pre>
      * Granularity, units of nanodegrees, used to store coordinates in this block
      * </pre>
      *
      * <code>optional int32 granularity = 17 [default = 100];</code>
+     *
      * @return Whether the granularity field is set.
      */
     boolean hasGranularity();
     /**
+     *
+     *
      * <pre>
      * Granularity, units of nanodegrees, used to store coordinates in this block
      * </pre>
      *
      * <code>optional int32 granularity = 17 [default = 100];</code>
+     *
      * @return The granularity.
      */
     int getGranularity();
 
     /**
+     *
+     *
      * <pre>
      * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
      * </pre>
      *
      * <code>optional int64 lat_offset = 19 [default = 0];</code>
+     *
      * @return Whether the latOffset field is set.
      */
     boolean hasLatOffset();
     /**
+     *
+     *
      * <pre>
      * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
      * </pre>
      *
      * <code>optional int64 lat_offset = 19 [default = 0];</code>
+     *
      * @return The latOffset.
      */
     long getLatOffset();
 
     /**
      * <code>optional int64 lon_offset = 20 [default = 0];</code>
+     *
      * @return Whether the lonOffset field is set.
      */
     boolean hasLonOffset();
     /**
      * <code>optional int64 lon_offset = 20 [default = 0];</code>
+     *
      * @return The lonOffset.
      */
     long getLonOffset();
 
     /**
+     *
+     *
      * <pre>
      * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
      * </pre>
      *
      * <code>optional int32 date_granularity = 18 [default = 1000];</code>
+     *
      * @return Whether the dateGranularity field is set.
      */
     boolean hasDateGranularity();
     /**
+     *
+     *
      * <pre>
      * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
      * </pre>
      *
      * <code>optional int32 date_granularity = 18 [default = 1000];</code>
+     *
      * @return The dateGranularity.
      */
     int getDateGranularity();
   }
-  /**
-   * Protobuf type {@code PrimitiveBlock}
-   */
-  public static final class PrimitiveBlock extends
-      com.google.protobuf.GeneratedMessage implements
+  /** Protobuf type {@code PrimitiveBlock} */
+  public static final class PrimitiveBlock extends com.google.protobuf.GeneratedMessage
+      implements
       // @@protoc_insertion_point(message_implements:PrimitiveBlock)
       PrimitiveBlockOrBuilder {
-  private static final long serialVersionUID = 0L;
+    private static final long serialVersionUID = 0L;
+
     static {
       com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
-        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
-        /* major= */ 4,
-        /* minor= */ 27,
-        /* patch= */ 0,
-        /* suffix= */ "",
-        PrimitiveBlock.class.getName());
+          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+          /* major= */ 4,
+          /* minor= */ 27,
+          /* patch= */ 0,
+          /* suffix= */ "",
+          PrimitiveBlock.class.getName());
     }
     // Use PrimitiveBlock.newBuilder() to construct.
     private PrimitiveBlock(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
+
     private PrimitiveBlock() {
       primitivegroup_ = java.util.Collections.emptyList();
       granularity_ = 100;
       dateGranularity_ = 1000;
     }
 
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
+    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
       return Osmformat.internal_static_org_apache_sedona_osm_build_PrimitiveBlock_descriptor;
     }
 
     @Override
-    protected FieldAccessorTable
-        internalGetFieldAccessorTable() {
+    protected FieldAccessorTable internalGetFieldAccessorTable() {
       return Osmformat.internal_static_org_apache_sedona_osm_build_PrimitiveBlock_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
               Osmformat.PrimitiveBlock.class, Osmformat.PrimitiveBlock.Builder.class);
@@ -2956,6 +3164,7 @@ public final class Osmformat {
     private Osmformat.StringTable stringtable_;
     /**
      * <code>required .StringTable stringtable = 1;</code>
+     *
      * @return Whether the stringtable field is set.
      */
     @Override
@@ -2964,69 +3173,61 @@ public final class Osmformat {
     }
     /**
      * <code>required .StringTable stringtable = 1;</code>
+     *
      * @return The stringtable.
      */
     @Override
     public Osmformat.StringTable getStringtable() {
       return stringtable_ == null ? Osmformat.StringTable.getDefaultInstance() : stringtable_;
     }
-    /**
-     * <code>required .StringTable stringtable = 1;</code>
-     */
+    /** <code>required .StringTable stringtable = 1;</code> */
     @Override
     public Osmformat.StringTableOrBuilder getStringtableOrBuilder() {
       return stringtable_ == null ? Osmformat.StringTable.getDefaultInstance() : stringtable_;
     }
 
     public static final int PRIMITIVEGROUP_FIELD_NUMBER = 2;
+
     @SuppressWarnings("serial")
     private java.util.List<Osmformat.PrimitiveGroup> primitivegroup_;
-    /**
-     * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-     */
+    /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
     @Override
     public java.util.List<Osmformat.PrimitiveGroup> getPrimitivegroupList() {
       return primitivegroup_;
     }
-    /**
-     * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-     */
+    /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
     @Override
     public java.util.List<? extends Osmformat.PrimitiveGroupOrBuilder>
         getPrimitivegroupOrBuilderList() {
       return primitivegroup_;
     }
-    /**
-     * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-     */
+    /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
     @Override
     public int getPrimitivegroupCount() {
       return primitivegroup_.size();
     }
-    /**
-     * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-     */
+    /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
     @Override
     public Osmformat.PrimitiveGroup getPrimitivegroup(int index) {
       return primitivegroup_.get(index);
     }
-    /**
-     * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-     */
+    /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
     @Override
-    public Osmformat.PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder(
-        int index) {
+    public Osmformat.PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder(int index) {
       return primitivegroup_.get(index);
     }
 
     public static final int GRANULARITY_FIELD_NUMBER = 17;
     private int granularity_ = 100;
     /**
+     *
+     *
      * <pre>
      * Granularity, units of nanodegrees, used to store coordinates in this block
      * </pre>
      *
      * <code>optional int32 granularity = 17 [default = 100];</code>
+     *
      * @return Whether the granularity field is set.
      */
     @Override
@@ -3034,11 +3235,14 @@ public final class Osmformat {
       return ((bitField0_ & 0x00000002) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * Granularity, units of nanodegrees, used to store coordinates in this block
      * </pre>
      *
      * <code>optional int32 granularity = 17 [default = 100];</code>
+     *
      * @return The granularity.
      */
     @Override
@@ -3049,11 +3253,14 @@ public final class Osmformat {
     public static final int LAT_OFFSET_FIELD_NUMBER = 19;
     private long latOffset_ = 0L;
     /**
+     *
+     *
      * <pre>
      * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
      * </pre>
      *
      * <code>optional int64 lat_offset = 19 [default = 0];</code>
+     *
      * @return Whether the latOffset field is set.
      */
     @Override
@@ -3061,11 +3268,14 @@ public final class Osmformat {
       return ((bitField0_ & 0x00000004) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
      * </pre>
      *
      * <code>optional int64 lat_offset = 19 [default = 0];</code>
+     *
      * @return The latOffset.
      */
     @Override
@@ -3077,6 +3287,7 @@ public final class Osmformat {
     private long lonOffset_ = 0L;
     /**
      * <code>optional int64 lon_offset = 20 [default = 0];</code>
+     *
      * @return Whether the lonOffset field is set.
      */
     @Override
@@ -3085,6 +3296,7 @@ public final class Osmformat {
     }
     /**
      * <code>optional int64 lon_offset = 20 [default = 0];</code>
+     *
      * @return The lonOffset.
      */
     @Override
@@ -3095,11 +3307,14 @@ public final class Osmformat {
     public static final int DATE_GRANULARITY_FIELD_NUMBER = 18;
     private int dateGranularity_ = 1000;
     /**
+     *
+     *
      * <pre>
      * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
      * </pre>
      *
      * <code>optional int32 date_granularity = 18 [default = 1000];</code>
+     *
      * @return Whether the dateGranularity field is set.
      */
     @Override
@@ -3107,11 +3322,14 @@ public final class Osmformat {
       return ((bitField0_ & 0x00000010) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
      * </pre>
      *
      * <code>optional int32 date_granularity = 18 [default = 1000];</code>
+     *
      * @return The dateGranularity.
      */
     @Override
@@ -3120,6 +3338,7 @@ public final class Osmformat {
     }
 
     private byte memoizedIsInitialized = -1;
+
     @Override
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
@@ -3141,8 +3360,7 @@ public final class Osmformat {
     }
 
     @Override
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
+    public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
       if (((bitField0_ & 0x00000001) != 0)) {
         output.writeMessage(1, getStringtable());
       }
@@ -3171,28 +3389,22 @@ public final class Osmformat {
 
       size = 0;
       if (((bitField0_ & 0x00000001) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(1, getStringtable());
+        size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getStringtable());
       }
       for (int i = 0; i < primitivegroup_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(2, primitivegroup_.get(i));
+        size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, primitivegroup_.get(i));
       }
       if (((bitField0_ & 0x00000002) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt32Size(17, granularity_);
+        size += com.google.protobuf.CodedOutputStream.computeInt32Size(17, granularity_);
       }
       if (((bitField0_ & 0x00000010) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt32Size(18, dateGranularity_);
+        size += com.google.protobuf.CodedOutputStream.computeInt32Size(18, dateGranularity_);
       }
       if (((bitField0_ & 0x00000004) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(19, latOffset_);
+        size += com.google.protobuf.CodedOutputStream.computeInt64Size(19, latOffset_);
       }
       if (((bitField0_ & 0x00000008) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeInt64Size(20, lonOffset_);
+        size += com.google.protobuf.CodedOutputStream.computeInt64Size(20, lonOffset_);
       }
       size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
@@ -3202,7 +3414,7 @@ public final class Osmformat {
     @Override
     public boolean equals(final Object obj) {
       if (obj == this) {
-       return true;
+        return true;
       }
       if (!(obj instanceof Osmformat.PrimitiveBlock)) {
         return super.equals(obj);
@@ -3211,30 +3423,24 @@ public final class Osmformat {
 
       if (hasStringtable() != other.hasStringtable()) return false;
       if (hasStringtable()) {
-        if (!getStringtable()
-            .equals(other.getStringtable())) return false;
+        if (!getStringtable().equals(other.getStringtable())) return false;
       }
-      if (!getPrimitivegroupList()
-          .equals(other.getPrimitivegroupList())) return false;
+      if (!getPrimitivegroupList().equals(other.getPrimitivegroupList())) return false;
       if (hasGranularity() != other.hasGranularity()) return false;
       if (hasGranularity()) {
-        if (getGranularity()
-            != other.getGranularity()) return false;
+        if (getGranularity() != other.getGranularity()) return false;
       }
       if (hasLatOffset() != other.hasLatOffset()) return false;
       if (hasLatOffset()) {
-        if (getLatOffset()
-            != other.getLatOffset()) return false;
+        if (getLatOffset() != other.getLatOffset()) return false;
       }
       if (hasLonOffset() != other.hasLonOffset()) return false;
       if (hasLonOffset()) {
-        if (getLonOffset()
-            != other.getLonOffset()) return false;
+        if (getLonOffset() != other.getLonOffset()) return false;
       }
       if (hasDateGranularity() != other.hasDateGranularity()) return false;
       if (hasDateGranularity()) {
-        if (getDateGranularity()
-            != other.getDateGranularity()) return false;
+        if (getDateGranularity() != other.getDateGranularity()) return false;
       }
       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
@@ -3261,13 +3467,11 @@ public final class Osmformat {
       }
       if (hasLatOffset()) {
         hash = (37 * hash) + LAT_OFFSET_FIELD_NUMBER;
-        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-            getLatOffset());
+        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getLatOffset());
       }
       if (hasLonOffset()) {
         hash = (37 * hash) + LON_OFFSET_FIELD_NUMBER;
-        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(
-            getLonOffset());
+        hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getLonOffset());
       }
       if (hasDateGranularity()) {
         hash = (37 * hash) + DATE_GRANULARITY_FIELD_NUMBER;
@@ -3278,114 +3482,113 @@ public final class Osmformat {
       return hash;
     }
 
-    public static Osmformat.PrimitiveBlock parseFrom(
-        java.nio.ByteBuffer data)
+    public static Osmformat.PrimitiveBlock parseFrom(java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.PrimitiveBlock parseFrom(
-        java.nio.ByteBuffer data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Osmformat.PrimitiveBlock parseFrom(
-        com.google.protobuf.ByteString data)
+
+    public static Osmformat.PrimitiveBlock parseFrom(com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.PrimitiveBlock parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
+
     public static Osmformat.PrimitiveBlock parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.PrimitiveBlock parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
+
     public static Osmformat.PrimitiveBlock parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Osmformat.PrimitiveBlock parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     public static Osmformat.PrimitiveBlock parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input);
     }
 
     public static Osmformat.PrimitiveBlock parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(
+          PARSER, input, extensionRegistry);
     }
-    public static Osmformat.PrimitiveBlock parseFrom(
-        com.google.protobuf.CodedInputStream input)
+
+    public static Osmformat.PrimitiveBlock parseFrom(com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Osmformat.PrimitiveBlock parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     @Override
-    public Builder newBuilderForType() { return newBuilder(); }
+    public Builder newBuilderForType() {
+      return newBuilder();
+    }
+
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
+
     public static Builder newBuilder(Osmformat.PrimitiveBlock prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
+
     @Override
     public Builder toBuilder() {
-      return this == DEFAULT_INSTANCE
-          ? new Builder() : new Builder().mergeFrom(this);
+      return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @Override
-    protected Builder newBuilderForType(
-        BuilderParent parent) {
+    protected Builder newBuilderForType(BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
-    /**
-     * Protobuf type {@code PrimitiveBlock}
-     */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+    /** Protobuf type {@code PrimitiveBlock} */
+    public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder>
+        implements
         // @@protoc_insertion_point(builder_implements:PrimitiveBlock)
         Osmformat.PrimitiveBlockOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
+      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
         return Osmformat.internal_static_org_apache_sedona_osm_build_PrimitiveBlock_descriptor;
       }
 
       @Override
-      protected FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return Osmformat.internal_static_org_apache_sedona_osm_build_PrimitiveBlock_fieldAccessorTable
+      protected FieldAccessorTable internalGetFieldAccessorTable() {
+        return Osmformat
+            .internal_static_org_apache_sedona_osm_build_PrimitiveBlock_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
                 Osmformat.PrimitiveBlock.class, Osmformat.PrimitiveBlock.Builder.class);
       }
@@ -3395,18 +3598,18 @@ public final class Osmformat {
         maybeForceBuilderInitialization();
       }
 
-      private Builder(
-          BuilderParent parent) {
+      private Builder(BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
+
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage
-                .alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
           getStringtableFieldBuilder();
           getPrimitivegroupFieldBuilder();
         }
       }
+
       @Override
       public Builder clear() {
         super.clear();
@@ -3431,8 +3634,7 @@ public final class Osmformat {
       }
 
       @Override
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
+      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
         return Osmformat.internal_static_org_apache_sedona_osm_build_PrimitiveBlock_descriptor;
       }
 
@@ -3454,7 +3656,9 @@ public final class Osmformat {
       public Osmformat.PrimitiveBlock buildPartial() {
         Osmformat.PrimitiveBlock result = new Osmformat.PrimitiveBlock(this);
         buildPartialRepeatedFields(result);
-        if (bitField0_ != 0) { buildPartial0(result); }
+        if (bitField0_ != 0) {
+          buildPartial0(result);
+        }
         onBuilt();
         return result;
       }
@@ -3475,9 +3679,8 @@ public final class Osmformat {
         int from_bitField0_ = bitField0_;
         int to_bitField0_ = 0;
         if (((from_bitField0_ & 0x00000001) != 0)) {
-          result.stringtable_ = stringtableBuilder_ == null
-              ? stringtable_
-              : stringtableBuilder_.build();
+          result.stringtable_ =
+              stringtableBuilder_ == null ? stringtable_ : stringtableBuilder_.build();
           to_bitField0_ |= 0x00000001;
         }
         if (((from_bitField0_ & 0x00000004) != 0)) {
@@ -3502,7 +3705,7 @@ public final class Osmformat {
       @Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof Osmformat.PrimitiveBlock) {
-          return mergeFrom((Osmformat.PrimitiveBlock)other);
+          return mergeFrom((Osmformat.PrimitiveBlock) other);
         } else {
           super.mergeFrom(other);
           return this;
@@ -3533,8 +3736,9 @@ public final class Osmformat {
               primitivegroup_ = other.primitivegroup_;
               bitField0_ = (bitField0_ & ~0x00000002);
               primitivegroupBuilder_ =
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getPrimitivegroupFieldBuilder() : null;
+                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders
+                      ? getPrimitivegroupFieldBuilder()
+                      : null;
             } else {
               primitivegroupBuilder_.addAllMessages(other.primitivegroup_);
             }
@@ -3586,52 +3790,55 @@ public final class Osmformat {
               case 0:
                 done = true;
                 break;
-              case 10: {
-                input.readMessage(
-                    getStringtableFieldBuilder().getBuilder(),
-                    extensionRegistry);
-                bitField0_ |= 0x00000001;
-                break;
-              } // case 10
-              case 18: {
-                Osmformat.PrimitiveGroup m =
-                    input.readMessage(
-                        Osmformat.PrimitiveGroup.parser(),
-                        extensionRegistry);
-                if (primitivegroupBuilder_ == null) {
-                  ensurePrimitivegroupIsMutable();
-                  primitivegroup_.add(m);
-                } else {
-                  primitivegroupBuilder_.addMessage(m);
-                }
-                break;
-              } // case 18
-              case 136: {
-                granularity_ = input.readInt32();
-                bitField0_ |= 0x00000004;
-                break;
-              } // case 136
-              case 144: {
-                dateGranularity_ = input.readInt32();
-                bitField0_ |= 0x00000020;
-                break;
-              } // case 144
-              case 152: {
-                latOffset_ = input.readInt64();
-                bitField0_ |= 0x00000008;
-                break;
-              } // case 152
-              case 160: {
-                lonOffset_ = input.readInt64();
-                bitField0_ |= 0x00000010;
-                break;
-              } // case 160
-              default: {
-                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                  done = true; // was an endgroup tag
-                }
-                break;
-              } // default:
+              case 10:
+                {
+                  input.readMessage(getStringtableFieldBuilder().getBuilder(), extensionRegistry);
+                  bitField0_ |= 0x00000001;
+                  break;
+                } // case 10
+              case 18:
+                {
+                  Osmformat.PrimitiveGroup m =
+                      input.readMessage(Osmformat.PrimitiveGroup.parser(), extensionRegistry);
+                  if (primitivegroupBuilder_ == null) {
+                    ensurePrimitivegroupIsMutable();
+                    primitivegroup_.add(m);
+                  } else {
+                    primitivegroupBuilder_.addMessage(m);
+                  }
+                  break;
+                } // case 18
+              case 136:
+                {
+                  granularity_ = input.readInt32();
+                  bitField0_ |= 0x00000004;
+                  break;
+                } // case 136
+              case 144:
+                {
+                  dateGranularity_ = input.readInt32();
+                  bitField0_ |= 0x00000020;
+                  break;
+                } // case 144
+              case 152:
+                {
+                  latOffset_ = input.readInt64();
+                  bitField0_ |= 0x00000008;
+                  break;
+                } // case 152
+              case 160:
+                {
+                  lonOffset_ = input.readInt64();
+                  bitField0_ |= 0x00000010;
+                  break;
+                } // case 160
+              default:
+                {
+                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                    done = true; // was an endgroup tag
+                  }
+                  break;
+                } // default:
             } // switch (tag)
           } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -3641,13 +3848,16 @@ public final class Osmformat {
         } // finally
         return this;
       }
+
       private int bitField0_;
 
       private Osmformat.StringTable stringtable_;
       private com.google.protobuf.SingleFieldBuilder<
-          Osmformat.StringTable, Osmformat.StringTable.Builder, Osmformat.StringTableOrBuilder> stringtableBuilder_;
+              Osmformat.StringTable, Osmformat.StringTable.Builder, Osmformat.StringTableOrBuilder>
+          stringtableBuilder_;
       /**
        * <code>required .StringTable stringtable = 1;</code>
+       *
        * @return Whether the stringtable field is set.
        */
       public boolean hasStringtable() {
@@ -3655,6 +3865,7 @@ public final class Osmformat {
       }
       /**
        * <code>required .StringTable stringtable = 1;</code>
+       *
        * @return The stringtable.
        */
       public Osmformat.StringTable getStringtable() {
@@ -3664,9 +3875,7 @@ public final class Osmformat {
           return stringtableBuilder_.getMessage();
         }
       }
-      /**
-       * <code>required .StringTable stringtable = 1;</code>
-       */
+      /** <code>required .StringTable stringtable = 1;</code> */
       public Builder setStringtable(Osmformat.StringTable value) {
         if (stringtableBuilder_ == null) {
           if (value == null) {
@@ -3680,11 +3889,8 @@ public final class Osmformat {
         onChanged();
         return this;
       }
-      /**
-       * <code>required .StringTable stringtable = 1;</code>
-       */
-      public Builder setStringtable(
-          Osmformat.StringTable.Builder builderForValue) {
+      /** <code>required .StringTable stringtable = 1;</code> */
+      public Builder setStringtable(Osmformat.StringTable.Builder builderForValue) {
         if (stringtableBuilder_ == null) {
           stringtable_ = builderForValue.build();
         } else {
@@ -3694,14 +3900,12 @@ public final class Osmformat {
         onChanged();
         return this;
       }
-      /**
-       * <code>required .StringTable stringtable = 1;</code>
-       */
+      /** <code>required .StringTable stringtable = 1;</code> */
       public Builder mergeStringtable(Osmformat.StringTable value) {
         if (stringtableBuilder_ == null) {
-          if (((bitField0_ & 0x00000001) != 0) &&
-            stringtable_ != null &&
-            stringtable_ != Osmformat.StringTable.getDefaultInstance()) {
+          if (((bitField0_ & 0x00000001) != 0)
+              && stringtable_ != null
+              && stringtable_ != Osmformat.StringTable.getDefaultInstance()) {
             getStringtableBuilder().mergeFrom(value);
           } else {
             stringtable_ = value;
@@ -3715,9 +3919,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>required .StringTable stringtable = 1;</code>
-       */
+      /** <code>required .StringTable stringtable = 1;</code> */
       public Builder clearStringtable() {
         bitField0_ = (bitField0_ & ~0x00000001);
         stringtable_ = null;
@@ -3728,57 +3930,53 @@ public final class Osmformat {
         onChanged();
         return this;
       }
-      /**
-       * <code>required .StringTable stringtable = 1;</code>
-       */
+      /** <code>required .StringTable stringtable = 1;</code> */
       public Osmformat.StringTable.Builder getStringtableBuilder() {
         bitField0_ |= 0x00000001;
         onChanged();
         return getStringtableFieldBuilder().getBuilder();
       }
-      /**
-       * <code>required .StringTable stringtable = 1;</code>
-       */
+      /** <code>required .StringTable stringtable = 1;</code> */
       public Osmformat.StringTableOrBuilder getStringtableOrBuilder() {
         if (stringtableBuilder_ != null) {
           return stringtableBuilder_.getMessageOrBuilder();
         } else {
-          return stringtable_ == null ?
-              Osmformat.StringTable.getDefaultInstance() : stringtable_;
+          return stringtable_ == null ? Osmformat.StringTable.getDefaultInstance() : stringtable_;
         }
       }
-      /**
-       * <code>required .StringTable stringtable = 1;</code>
-       */
+      /** <code>required .StringTable stringtable = 1;</code> */
       private com.google.protobuf.SingleFieldBuilder<
-          Osmformat.StringTable, Osmformat.StringTable.Builder, Osmformat.StringTableOrBuilder>
+              Osmformat.StringTable, Osmformat.StringTable.Builder, Osmformat.StringTableOrBuilder>
           getStringtableFieldBuilder() {
         if (stringtableBuilder_ == null) {
-          stringtableBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              Osmformat.StringTable, Osmformat.StringTable.Builder, Osmformat.StringTableOrBuilder>(
-                  getStringtable(),
-                  getParentForChildren(),
-                  isClean());
+          stringtableBuilder_ =
+              new com.google.protobuf.SingleFieldBuilder<
+                  Osmformat.StringTable,
+                  Osmformat.StringTable.Builder,
+                  Osmformat.StringTableOrBuilder>(
+                  getStringtable(), getParentForChildren(), isClean());
           stringtable_ = null;
         }
         return stringtableBuilder_;
       }
 
       private java.util.List<Osmformat.PrimitiveGroup> primitivegroup_ =
-        java.util.Collections.emptyList();
+          java.util.Collections.emptyList();
+
       private void ensurePrimitivegroupIsMutable() {
         if (!((bitField0_ & 0x00000002) != 0)) {
           primitivegroup_ = new java.util.ArrayList<Osmformat.PrimitiveGroup>(primitivegroup_);
           bitField0_ |= 0x00000002;
-         }
+        }
       }
 
       private com.google.protobuf.RepeatedFieldBuilder<
-          Osmformat.PrimitiveGroup, Osmformat.PrimitiveGroup.Builder, Osmformat.PrimitiveGroupOrBuilder> primitivegroupBuilder_;
+              Osmformat.PrimitiveGroup,
+              Osmformat.PrimitiveGroup.Builder,
+              Osmformat.PrimitiveGroupOrBuilder>
+          primitivegroupBuilder_;
 
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
       public java.util.List<Osmformat.PrimitiveGroup> getPrimitivegroupList() {
         if (primitivegroupBuilder_ == null) {
           return java.util.Collections.unmodifiableList(primitivegroup_);
@@ -3786,9 +3984,7 @@ public final class Osmformat {
           return primitivegroupBuilder_.getMessageList();
         }
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
       public int getPrimitivegroupCount() {
         if (primitivegroupBuilder_ == null) {
           return primitivegroup_.size();
@@ -3796,9 +3992,7 @@ public final class Osmformat {
           return primitivegroupBuilder_.getCount();
         }
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
       public Osmformat.PrimitiveGroup getPrimitivegroup(int index) {
         if (primitivegroupBuilder_ == null) {
           return primitivegroup_.get(index);
@@ -3806,11 +4000,8 @@ public final class Osmformat {
           return primitivegroupBuilder_.getMessage(index);
         }
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
-      public Builder setPrimitivegroup(
-          int index, Osmformat.PrimitiveGroup value) {
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
+      public Builder setPrimitivegroup(int index, Osmformat.PrimitiveGroup value) {
         if (primitivegroupBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -3823,9 +4014,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
       public Builder setPrimitivegroup(
           int index, Osmformat.PrimitiveGroup.Builder builderForValue) {
         if (primitivegroupBuilder_ == null) {
@@ -3837,9 +4026,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
       public Builder addPrimitivegroup(Osmformat.PrimitiveGroup value) {
         if (primitivegroupBuilder_ == null) {
           if (value == null) {
@@ -3853,11 +4040,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
-      public Builder addPrimitivegroup(
-          int index, Osmformat.PrimitiveGroup value) {
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
+      public Builder addPrimitivegroup(int index, Osmformat.PrimitiveGroup value) {
         if (primitivegroupBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -3870,11 +4054,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
-      public Builder addPrimitivegroup(
-          Osmformat.PrimitiveGroup.Builder builderForValue) {
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
+      public Builder addPrimitivegroup(Osmformat.PrimitiveGroup.Builder builderForValue) {
         if (primitivegroupBuilder_ == null) {
           ensurePrimitivegroupIsMutable();
           primitivegroup_.add(builderForValue.build());
@@ -3884,9 +4065,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
       public Builder addPrimitivegroup(
           int index, Osmformat.PrimitiveGroup.Builder builderForValue) {
         if (primitivegroupBuilder_ == null) {
@@ -3898,24 +4077,18 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
-      public Builder addAllPrimitivegroup(
-          Iterable<? extends Osmformat.PrimitiveGroup> values) {
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
+      public Builder addAllPrimitivegroup(Iterable<? extends Osmformat.PrimitiveGroup> values) {
         if (primitivegroupBuilder_ == null) {
           ensurePrimitivegroupIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, primitivegroup_);
+          com.google.protobuf.AbstractMessageLite.Builder.addAll(values, primitivegroup_);
           onChanged();
         } else {
           primitivegroupBuilder_.addAllMessages(values);
         }
         return this;
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
       public Builder clearPrimitivegroup() {
         if (primitivegroupBuilder_ == null) {
           primitivegroup_ = java.util.Collections.emptyList();
@@ -3926,9 +4099,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
       public Builder removePrimitivegroup(int index) {
         if (primitivegroupBuilder_ == null) {
           ensurePrimitivegroupIsMutable();
@@ -3939,62 +4110,53 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
-      public Osmformat.PrimitiveGroup.Builder getPrimitivegroupBuilder(
-          int index) {
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
+      public Osmformat.PrimitiveGroup.Builder getPrimitivegroupBuilder(int index) {
         return getPrimitivegroupFieldBuilder().getBuilder(index);
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
-      public Osmformat.PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder(
-          int index) {
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
+      public Osmformat.PrimitiveGroupOrBuilder getPrimitivegroupOrBuilder(int index) {
         if (primitivegroupBuilder_ == null) {
-          return primitivegroup_.get(index);  } else {
+          return primitivegroup_.get(index);
+        } else {
           return primitivegroupBuilder_.getMessageOrBuilder(index);
         }
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
       public java.util.List<? extends Osmformat.PrimitiveGroupOrBuilder>
-           getPrimitivegroupOrBuilderList() {
+          getPrimitivegroupOrBuilderList() {
         if (primitivegroupBuilder_ != null) {
           return primitivegroupBuilder_.getMessageOrBuilderList();
         } else {
           return java.util.Collections.unmodifiableList(primitivegroup_);
         }
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
       public Osmformat.PrimitiveGroup.Builder addPrimitivegroupBuilder() {
-        return getPrimitivegroupFieldBuilder().addBuilder(
-            Osmformat.PrimitiveGroup.getDefaultInstance());
+        return getPrimitivegroupFieldBuilder()
+            .addBuilder(Osmformat.PrimitiveGroup.getDefaultInstance());
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
-      public Osmformat.PrimitiveGroup.Builder addPrimitivegroupBuilder(
-          int index) {
-        return getPrimitivegroupFieldBuilder().addBuilder(
-            index, Osmformat.PrimitiveGroup.getDefaultInstance());
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
+      public Osmformat.PrimitiveGroup.Builder addPrimitivegroupBuilder(int index) {
+        return getPrimitivegroupFieldBuilder()
+            .addBuilder(index, Osmformat.PrimitiveGroup.getDefaultInstance());
       }
-      /**
-       * <code>repeated .PrimitiveGroup primitivegroup = 2;</code>
-       */
-      public java.util.List<Osmformat.PrimitiveGroup.Builder>
-           getPrimitivegroupBuilderList() {
+      /** <code>repeated .PrimitiveGroup primitivegroup = 2;</code> */
+      public java.util.List<Osmformat.PrimitiveGroup.Builder> getPrimitivegroupBuilderList() {
         return getPrimitivegroupFieldBuilder().getBuilderList();
       }
+
       private com.google.protobuf.RepeatedFieldBuilder<
-          Osmformat.PrimitiveGroup, Osmformat.PrimitiveGroup.Builder, Osmformat.PrimitiveGroupOrBuilder>
+              Osmformat.PrimitiveGroup,
+              Osmformat.PrimitiveGroup.Builder,
+              Osmformat.PrimitiveGroupOrBuilder>
           getPrimitivegroupFieldBuilder() {
         if (primitivegroupBuilder_ == null) {
-          primitivegroupBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              Osmformat.PrimitiveGroup, Osmformat.PrimitiveGroup.Builder, Osmformat.PrimitiveGroupOrBuilder>(
+          primitivegroupBuilder_ =
+              new com.google.protobuf.RepeatedFieldBuilder<
+                  Osmformat.PrimitiveGroup,
+                  Osmformat.PrimitiveGroup.Builder,
+                  Osmformat.PrimitiveGroupOrBuilder>(
                   primitivegroup_,
                   ((bitField0_ & 0x00000002) != 0),
                   getParentForChildren(),
@@ -4006,11 +4168,14 @@ public final class Osmformat {
 
       private int granularity_ = 100;
       /**
+       *
+       *
        * <pre>
        * Granularity, units of nanodegrees, used to store coordinates in this block
        * </pre>
        *
        * <code>optional int32 granularity = 17 [default = 100];</code>
+       *
        * @return Whether the granularity field is set.
        */
       @Override
@@ -4018,11 +4183,14 @@ public final class Osmformat {
         return ((bitField0_ & 0x00000004) != 0);
       }
       /**
+       *
+       *
        * <pre>
        * Granularity, units of nanodegrees, used to store coordinates in this block
        * </pre>
        *
        * <code>optional int32 granularity = 17 [default = 100];</code>
+       *
        * @return The granularity.
        */
       @Override
@@ -4030,11 +4198,14 @@ public final class Osmformat {
         return granularity_;
       }
       /**
+       *
+       *
        * <pre>
        * Granularity, units of nanodegrees, used to store coordinates in this block
        * </pre>
        *
        * <code>optional int32 granularity = 17 [default = 100];</code>
+       *
        * @param value The granularity to set.
        * @return This builder for chaining.
        */
@@ -4046,11 +4217,14 @@ public final class Osmformat {
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * Granularity, units of nanodegrees, used to store coordinates in this block
        * </pre>
        *
        * <code>optional int32 granularity = 17 [default = 100];</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearGranularity() {
@@ -4060,13 +4234,16 @@ public final class Osmformat {
         return this;
       }
 
-      private long latOffset_ ;
+      private long latOffset_;
       /**
+       *
+       *
        * <pre>
        * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
        * </pre>
        *
        * <code>optional int64 lat_offset = 19 [default = 0];</code>
+       *
        * @return Whether the latOffset field is set.
        */
       @Override
@@ -4074,11 +4251,14 @@ public final class Osmformat {
         return ((bitField0_ & 0x00000008) != 0);
       }
       /**
+       *
+       *
        * <pre>
        * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
        * </pre>
        *
        * <code>optional int64 lat_offset = 19 [default = 0];</code>
+       *
        * @return The latOffset.
        */
       @Override
@@ -4086,11 +4266,14 @@ public final class Osmformat {
         return latOffset_;
       }
       /**
+       *
+       *
        * <pre>
        * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
        * </pre>
        *
        * <code>optional int64 lat_offset = 19 [default = 0];</code>
+       *
        * @param value The latOffset to set.
        * @return This builder for chaining.
        */
@@ -4102,11 +4285,14 @@ public final class Osmformat {
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * Offset value between the output coordinates coordinates and the granularity grid in unites of nanodegrees.
        * </pre>
        *
        * <code>optional int64 lat_offset = 19 [default = 0];</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearLatOffset() {
@@ -4116,9 +4302,10 @@ public final class Osmformat {
         return this;
       }
 
-      private long lonOffset_ ;
+      private long lonOffset_;
       /**
        * <code>optional int64 lon_offset = 20 [default = 0];</code>
+       *
        * @return Whether the lonOffset field is set.
        */
       @Override
@@ -4127,6 +4314,7 @@ public final class Osmformat {
       }
       /**
        * <code>optional int64 lon_offset = 20 [default = 0];</code>
+       *
        * @return The lonOffset.
        */
       @Override
@@ -4135,6 +4323,7 @@ public final class Osmformat {
       }
       /**
        * <code>optional int64 lon_offset = 20 [default = 0];</code>
+       *
        * @param value The lonOffset to set.
        * @return This builder for chaining.
        */
@@ -4147,6 +4336,7 @@ public final class Osmformat {
       }
       /**
        * <code>optional int64 lon_offset = 20 [default = 0];</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearLonOffset() {
@@ -4158,11 +4348,14 @@ public final class Osmformat {
 
       private int dateGranularity_ = 1000;
       /**
+       *
+       *
        * <pre>
        * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
        * </pre>
        *
        * <code>optional int32 date_granularity = 18 [default = 1000];</code>
+       *
        * @return Whether the dateGranularity field is set.
        */
       @Override
@@ -4170,11 +4363,14 @@ public final class Osmformat {
         return ((bitField0_ & 0x00000020) != 0);
       }
       /**
+       *
+       *
        * <pre>
        * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
        * </pre>
        *
        * <code>optional int32 date_granularity = 18 [default = 1000];</code>
+       *
        * @return The dateGranularity.
        */
       @Override
@@ -4182,11 +4378,14 @@ public final class Osmformat {
         return dateGranularity_;
       }
       /**
+       *
+       *
        * <pre>
        * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
        * </pre>
        *
        * <code>optional int32 date_granularity = 18 [default = 1000];</code>
+       *
        * @param value The dateGranularity to set.
        * @return This builder for chaining.
        */
@@ -4198,11 +4397,14 @@ public final class Osmformat {
         return this;
       }
       /**
+       *
+       *
        * <pre>
        * Granularity of dates, normally represented in units of milliseconds since the 1970 epoch.
        * </pre>
        *
        * <code>optional int32 date_granularity = 18 [default = 1000];</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearDateGranularity() {
@@ -4217,6 +4419,7 @@ public final class Osmformat {
 
     // @@protoc_insertion_point(class_scope:PrimitiveBlock)
     private static final Osmformat.PrimitiveBlock DEFAULT_INSTANCE;
+
     static {
       DEFAULT_INSTANCE = new Osmformat.PrimitiveBlock();
     }
@@ -4225,27 +4428,28 @@ public final class Osmformat {
       return DEFAULT_INSTANCE;
     }
 
-    private static final com.google.protobuf.Parser<PrimitiveBlock>
-        PARSER = new com.google.protobuf.AbstractParser<PrimitiveBlock>() {
-      @Override
-      public PrimitiveBlock parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        Builder builder = newBuilder();
-        try {
-          builder.mergeFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          throw e.setUnfinishedMessage(builder.buildPartial());
-        } catch (com.google.protobuf.UninitializedMessageException e) {
-          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-        } catch (java.io.IOException e) {
-          throw new com.google.protobuf.InvalidProtocolBufferException(e)
-              .setUnfinishedMessage(builder.buildPartial());
-        }
-        return builder.buildPartial();
-      }
-    };
+    private static final com.google.protobuf.Parser<PrimitiveBlock> PARSER =
+        new com.google.protobuf.AbstractParser<PrimitiveBlock>() {
+          @Override
+          public PrimitiveBlock parsePartialFrom(
+              com.google.protobuf.CodedInputStream input,
+              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+              throws com.google.protobuf.InvalidProtocolBufferException {
+            Builder builder = newBuilder();
+            try {
+              builder.mergeFrom(input, extensionRegistry);
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+              throw e.setUnfinishedMessage(builder.buildPartial());
+            } catch (com.google.protobuf.UninitializedMessageException e) {
+              throw e.asInvalidProtocolBufferException()
+                  .setUnfinishedMessage(builder.buildPartial());
+            } catch (java.io.IOException e) {
+              throw new com.google.protobuf.InvalidProtocolBufferException(e)
+                  .setUnfinishedMessage(builder.buildPartial());
+            }
+            return builder.buildPartial();
+          }
+        };
 
     public static com.google.protobuf.Parser<PrimitiveBlock> parser() {
       return PARSER;
@@ -4260,149 +4464,101 @@ public final class Osmformat {
     public Osmformat.PrimitiveBlock getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
-
   }
 
-  public interface PrimitiveGroupOrBuilder extends
+  public interface PrimitiveGroupOrBuilder
+      extends
       // @@protoc_insertion_point(interface_extends:PrimitiveGroup)
       com.google.protobuf.MessageOrBuilder {
 
-    /**
-     * <code>repeated .Node nodes = 1;</code>
-     */
-    java.util.List<Osmformat.Node>
-        getNodesList();
-    /**
-     * <code>repeated .Node nodes = 1;</code>
-     */
+    /** <code>repeated .Node nodes = 1;</code> */
+    java.util.List<Osmformat.Node> getNodesList();
+    /** <code>repeated .Node nodes = 1;</code> */
     Osmformat.Node getNodes(int index);
-    /**
-     * <code>repeated .Node nodes = 1;</code>
-     */
+    /** <code>repeated .Node nodes = 1;</code> */
     int getNodesCount();
-    /**
-     * <code>repeated .Node nodes = 1;</code>
-     */
-    java.util.List<? extends Osmformat.NodeOrBuilder>
-        getNodesOrBuilderList();
-    /**
-     * <code>repeated .Node nodes = 1;</code>
-     */
-    Osmformat.NodeOrBuilder getNodesOrBuilder(
-        int index);
+    /** <code>repeated .Node nodes = 1;</code> */
+    java.util.List<? extends Osmformat.NodeOrBuilder> getNodesOrBuilderList();
+    /** <code>repeated .Node nodes = 1;</code> */
+    Osmformat.NodeOrBuilder getNodesOrBuilder(int index);
 
     /**
      * <code>optional .DenseNodes dense = 2;</code>
+     *
      * @return Whether the dense field is set.
      */
     boolean hasDense();
     /**
      * <code>optional .DenseNodes dense = 2;</code>
+     *
      * @return The dense.
      */
     Osmformat.DenseNodes getDense();
-    /**
-     * <code>optional .DenseNodes dense = 2;</code>
-     */
+    /** <code>optional .DenseNodes dense = 2;</code> */
     Osmformat.DenseNodesOrBuilder getDenseOrBuilder();
 
-    /**
-     * <code>repeated .Way ways = 3;</code>
-     */
-    java.util.List<Osmformat.Way>
-        getWaysList();
-    /**
-     * <code>repeated .Way ways = 3;</code>
-     */
+    /** <code>repeated .Way ways = 3;</code> */
+    java.util.List<Osmformat.Way> getWaysList();
+    /** <code>repeated .Way ways = 3;</code> */
     Osmformat.Way getWays(int index);
-    /**
-     * <code>repeated .Way ways = 3;</code>
-     */
+    /** <code>repeated .Way ways = 3;</code> */
     int getWaysCount();
-    /**
-     * <code>repeated .Way ways = 3;</code>
-     */
-    java.util.List<? extends Osmformat.WayOrBuilder>
-        getWaysOrBuilderList();
-    /**
-     * <code>repeated .Way ways = 3;</code>
-     */
-    Osmformat.WayOrBuilder getWaysOrBuilder(
-        int index);
-
-    /**
-     * <code>repeated .Relation relations = 4;</code>
-     */
-    java.util.List<Osmformat.Relation>
-        getRelationsList();
-    /**
-     * <code>repeated .Relation relations = 4;</code>
-     */
+    /** <code>repeated .Way ways = 3;</code> */
+    java.util.List<? extends Osmformat.WayOrBuilder> getWaysOrBuilderList();
+    /** <code>repeated .Way ways = 3;</code> */
+    Osmformat.WayOrBuilder getWaysOrBuilder(int index);
+
+    /** <code>repeated .Relation relations = 4;</code> */
+    java.util.List<Osmformat.Relation> getRelationsList();
+    /** <code>repeated .Relation relations = 4;</code> */
     Osmformat.Relation getRelations(int index);
-    /**
-     * <code>repeated .Relation relations = 4;</code>
-     */
+    /** <code>repeated .Relation relations = 4;</code> */
     int getRelationsCount();
-    /**
-     * <code>repeated .Relation relations = 4;</code>
-     */
-    java.util.List<? extends Osmformat.RelationOrBuilder>
-        getRelationsOrBuilderList();
-    /**
-     * <code>repeated .Relation relations = 4;</code>
-     */
-    Osmformat.RelationOrBuilder getRelationsOrBuilder(
-        int index);
-
-    /**
-     * <code>repeated .ChangeSet changesets = 5;</code>
-     */
-    java.util.List<Osmformat.ChangeSet>
-        getChangesetsList();
-    /**
-     * <code>repeated .ChangeSet changesets = 5;</code>
-     */
+    /** <code>repeated .Relation relations = 4;</code> */
+    java.util.List<? extends Osmformat.RelationOrBuilder> getRelationsOrBuilderList();
+    /** <code>repeated .Relation relations = 4;</code> */
+    Osmformat.RelationOrBuilder getRelationsOrBuilder(int index);
+
+    /** <code>repeated .ChangeSet changesets = 5;</code> */
+    java.util.List<Osmformat.ChangeSet> getChangesetsList();
+    /** <code>repeated .ChangeSet changesets = 5;</code> */
     Osmformat.ChangeSet getChangesets(int index);
-    /**
-     * <code>repeated .ChangeSet changesets = 5;</code>
-     */
+    /** <code>repeated .ChangeSet changesets = 5;</code> */
     int getChangesetsCount();
-    /**
-     * <code>repeated .ChangeSet changesets = 5;</code>
-     */
-    java.util.List<? extends Osmformat.ChangeSetOrBuilder>
-        getChangesetsOrBuilderList();
-    /**
-     * <code>repeated .ChangeSet changesets = 5;</code>
-     */
-    Osmformat.ChangeSetOrBuilder getChangesetsOrBuilder(
-        int index);
+    /** <code>repeated .ChangeSet changesets = 5;</code> */
+    java.util.List<? extends Osmformat.ChangeSetOrBuilder> getChangesetsOrBuilderList();
+    /** <code>repeated .ChangeSet changesets = 5;</code> */
+    Osmformat.ChangeSetOrBuilder getChangesetsOrBuilder(int index);
   }
   /**
+   *
+   *
    * <pre>
    * Group of OSMPrimitives. All primitives in a group must be the same type.
    * </pre>
    *
    * Protobuf type {@code PrimitiveGroup}
    */
-  public static final class PrimitiveGroup extends
-      com.google.protobuf.GeneratedMessage implements
+  public static final class PrimitiveGroup extends com.google.protobuf.GeneratedMessage
+      implements
       // @@protoc_insertion_point(message_implements:PrimitiveGroup)
       PrimitiveGroupOrBuilder {
-  private static final long serialVersionUID = 0L;
+    private static final long serialVersionUID = 0L;
+
     static {
       com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
-        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
-        /* major= */ 4,
-        /* minor= */ 27,
-        /* patch= */ 0,
-        /* suffix= */ "",
-        PrimitiveGroup.class.getName());
+          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+          /* major= */ 4,
+          /* minor= */ 27,
+          /* patch= */ 0,
+          /* suffix= */ "",
+          PrimitiveGroup.class.getName());
     }
     // Use PrimitiveGroup.newBuilder() to construct.
     private PrimitiveGroup(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
+
     private PrimitiveGroup() {
       nodes_ = java.util.Collections.emptyList();
       ways_ = java.util.Collections.emptyList();
@@ -4410,14 +4566,12 @@ public final class Osmformat {
       changesets_ = java.util.Collections.emptyList();
     }
 
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
+    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
       return Osmformat.internal_static_org_apache_sedona_osm_build_PrimitiveGroup_descriptor;
     }
 
     @Override
-    protected FieldAccessorTable
-        internalGetFieldAccessorTable() {
+    protected FieldAccessorTable internalGetFieldAccessorTable() {
       return Osmformat.internal_static_org_apache_sedona_osm_build_PrimitiveGroup_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
               Osmformat.PrimitiveGroup.class, Osmformat.PrimitiveGroup.Builder.class);
@@ -4425,43 +4579,32 @@ public final class Osmformat {
 
     private int bitField0_;
     public static final int NODES_FIELD_NUMBER = 1;
+
     @SuppressWarnings("serial")
     private java.util.List<Osmformat.Node> nodes_;
-    /**
-     * <code>repeated .Node nodes = 1;</code>
-     */
+    /** <code>repeated .Node nodes = 1;</code> */
     @Override
     public java.util.List<Osmformat.Node> getNodesList() {
       return nodes_;
     }
-    /**
-     * <code>repeated .Node nodes = 1;</code>
-     */
+    /** <code>repeated .Node nodes = 1;</code> */
     @Override
-    public java.util.List<? extends Osmformat.NodeOrBuilder>
-        getNodesOrBuilderList() {
+    public java.util.List<? extends Osmformat.NodeOrBuilder> getNodesOrBuilderList() {
       return nodes_;
     }
-    /**
-     * <code>repeated .Node nodes = 1;</code>
-     */
+    /** <code>repeated .Node nodes = 1;</code> */
     @Override
     public int getNodesCount() {
       return nodes_.size();
     }
-    /**
-     * <code>repeated .Node nodes = 1;</code>
-     */
+    /** <code>repeated .Node nodes = 1;</code> */
     @Override
     public Osmformat.Node getNodes(int index) {
       return nodes_.get(index);
     }
-    /**
-     * <code>repeated .Node nodes = 1;</code>
-     */
+    /** <code>repeated .Node nodes = 1;</code> */
     @Override
-    public Osmformat.NodeOrBuilder getNodesOrBuilder(
-        int index) {
+    public Osmformat.NodeOrBuilder getNodesOrBuilder(int index) {
       return nodes_.get(index);
     }
 
@@ -4469,6 +4612,7 @@ public final class Osmformat {
     private Osmformat.DenseNodes dense_;
     /**
      * <code>optional .DenseNodes dense = 2;</code>
+     *
      * @return Whether the dense field is set.
      */
     @Override
@@ -4477,144 +4621,111 @@ public final class Osmformat {
     }
     /**
      * <code>optional .DenseNodes dense = 2;</code>
+     *
      * @return The dense.
      */
     @Override
     public Osmformat.DenseNodes getDense() {
       return dense_ == null ? Osmformat.DenseNodes.getDefaultInstance() : dense_;
     }
-    /**
-     * <code>optional .DenseNodes dense = 2;</code>
-     */
+    /** <code>optional .DenseNodes dense = 2;</code> */
     @Override
     public Osmformat.DenseNodesOrBuilder getDenseOrBuilder() {
       return dense_ == null ? Osmformat.DenseNodes.getDefaultInstance() : dense_;
     }
 
     public static final int WAYS_FIELD_NUMBER = 3;
+
     @SuppressWarnings("serial")
     private java.util.List<Osmformat.Way> ways_;
-    /**
-     * <code>repeated .Way ways = 3;</code>
-     */
+    /** <code>repeated .Way ways = 3;</code> */
     @Override
     public java.util.List<Osmformat.Way> getWaysList() {
       return ways_;
     }
-    /**
-     * <code>repeated .Way ways = 3;</code>
-     */
+    /** <code>repeated .Way ways = 3;</code> */
     @Override
-    public java.util.List<? extends Osmformat.WayOrBuilder>
-        getWaysOrBuilderList() {
+    public java.util.List<? extends Osmformat.WayOrBuilder> getWaysOrBuilderList() {
       return ways_;
     }
-    /**
-     * <code>repeated .Way ways = 3;</code>
-     */
+    /** <code>repeated .Way ways = 3;</code> */
     @Override
     public int getWaysCount() {
       return ways_.size();
     }
-    /**
-     * <code>repeated .Way ways = 3;</code>
-     */
+    /** <code>repeated .Way ways = 3;</code> */
     @Override
     public Osmformat.Way getWays(int index) {
       return ways_.get(index);
     }
-    /**
-     * <code>repeated .Way ways = 3;</code>
-     */
+    /** <code>repeated .Way ways = 3;</code> */
     @Override
-    public Osmformat.WayOrBuilder getWaysOrBuilder(
-        int index) {
+    public Osmformat.WayOrBuilder getWaysOrBuilder(int index) {
       return ways_.get(index);
     }
 
     public static final int RELATIONS_FIELD_NUMBER = 4;
+
     @SuppressWarnings("serial")
     private java.util.List<Osmformat.Relation> relations_;
-    /**
-     * <code>repeated .Relation relations = 4;</code>
-     */
+    /** <code>repeated .Relation relations = 4;</code> */
     @Override
     public java.util.List<Osmformat.Relation> getRelationsList() {
       return relations_;
     }
-    /**
-     * <code>repeated .Relation relations = 4;</code>
-     */
+    /** <code>repeated .Relation relations = 4;</code> */
     @Override
-    public java.util.List<? extends Osmformat.RelationOrBuilder>
-        getRelationsOrBuilderList() {
+    public java.util.List<? extends Osmformat.RelationOrBuilder> getRelationsOrBuilderList() {
       return relations_;
     }
-    /**
-     * <code>repeated .Relation relations = 4;</code>
-     */
+    /** <code>repeated .Relation relations = 4;</code> */
     @Override
     public int getRelationsCount() {
       return relations_.size();
     }
-    /**
-     * <code>repeated .Relation relations = 4;</code>
-     */
+    /** <code>repeated .Relation relations = 4;</code> */
     @Override
     public Osmformat.Relation getRelations(int index) {
       return relations_.get(index);
     }
-    /**
-     * <code>repeated .Relation relations = 4;</code>
-     */
+    /** <code>repeated .Relation relations = 4;</code> */
     @Override
-    public Osmformat.RelationOrBuilder getRelationsOrBuilder(
-        int index) {
+    public Osmformat.RelationOrBuilder getRelationsOrBuilder(int index) {
       return relations_.get(index);
     }
 
     public static final int CHANGESETS_FIELD_NUMBER = 5;
+
     @SuppressWarnings("serial")
     private java.util.List<Osmformat.ChangeSet> changesets_;
-    /**
-     * <code>repeated .ChangeSet changesets = 5;</code>
-     */
+    /** <code>repeated .ChangeSet changesets = 5;</code> */
     @Override
     public java.util.List<Osmformat.ChangeSet> getChangesetsList() {
       return changesets_;
     }
-    /**
-     * <code>repeated .ChangeSet changesets = 5;</code>
-     */
+    /** <code>repeated .ChangeSet changesets = 5;</code> */
     @Override
-    public java.util.List<? extends Osmformat.ChangeSetOrBuilder>
-        getChangesetsOrBuilderList() {
+    public java.util.List<? extends Osmformat.ChangeSetOrBuilder> getChangesetsOrBuilderList() {
       return changesets_;
     }
-    /**
-     * <code>repeated .ChangeSet changesets = 5;</code>
-     */
+    /** <code>repeated .ChangeSet changesets = 5;</code> */
     @Override
     public int getChangesetsCount() {
       return changesets_.size();
     }
-    /**
-     * <code>repeated .ChangeSet changesets = 5;</code>
-     */
+    /** <code>repeated .ChangeSet changesets = 5;</code> */
     @Override
     public Osmformat.ChangeSet getChangesets(int index) {
       return changesets_.get(index);
     }
-    /**
-     * <code>repeated .ChangeSet changesets = 5;</code>
-     */
+    /** <code>repeated .ChangeSet changesets = 5;</code> */
     @Override
-    public Osmformat.ChangeSetOrBuilder getChangesetsOrBuilder(
-        int index) {
+    public Osmformat.ChangeSetOrBuilder getChangesetsOrBuilder(int index) {
       return changesets_.get(index);
     }
 
     private byte memoizedIsInitialized = -1;
+
     @Override
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
@@ -4650,8 +4761,7 @@ public final class Osmformat {
     }
 
     @Override
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
+    public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
       for (int i = 0; i < nodes_.size(); i++) {
         output.writeMessage(1, nodes_.get(i));
       }
@@ -4677,24 +4787,19 @@ public final class Osmformat {
 
       size = 0;
       for (int i = 0; i < nodes_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(1, nodes_.get(i));
+        size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, nodes_.get(i));
       }
       if (((bitField0_ & 0x00000001) != 0)) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(2, getDense());
+        size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getDense());
       }
       for (int i = 0; i < ways_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(3, ways_.get(i));
+        size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, ways_.get(i));
       }
       for (int i = 0; i < relations_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(4, relations_.get(i));
+        size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, relations_.get(i));
       }
       for (int i = 0; i < changesets_.size(); i++) {
-        size += com.google.protobuf.CodedOutputStream
-          .computeMessageSize(5, changesets_.get(i));
+        size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, changesets_.get(i));
       }
       size += getUnknownFields().getSerializedSize();
       memoizedSize = size;
@@ -4704,26 +4809,21 @@ public final class Osmformat {
     @Override
     public boolean equals(final Object obj) {
       if (obj == this) {
-       return true;
+        return true;
       }
       if (!(obj instanceof Osmformat.PrimitiveGroup)) {
         return super.equals(obj);
       }
       Osmformat.PrimitiveGroup other = (Osmformat.PrimitiveGroup) obj;
 
-      if (!getNodesList()
-          .equals(other.getNodesList())) return false;
+      if (!getNodesList().equals(other.getNodesList())) return false;
       if (hasDense() != other.hasDense()) return false;
       if (hasDense()) {
-        if (!getDense()
-            .equals(other.getDense())) return false;
-      }
-      if (!getWaysList()
-          .equals(other.getWaysList())) return false;
-      if (!getRelationsList()
-          .equals(other.getRelationsList())) return false;
-      if (!getChangesetsList()
-          .equals(other.getChangesetsList())) return false;
+        if (!getDense().equals(other.getDense())) return false;
+      }
+      if (!getWaysList().equals(other.getWaysList())) return false;
+      if (!getRelationsList().equals(other.getRelationsList())) return false;
+      if (!getChangesetsList().equals(other.getChangesetsList())) return false;
       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
@@ -4760,118 +4860,121 @@ public final class Osmformat {
       return hash;
     }
 
-    public static Osmformat.PrimitiveGroup parseFrom(
-        java.nio.ByteBuffer data)
+    public static Osmformat.PrimitiveGroup parseFrom(java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.PrimitiveGroup parseFrom(
-        java.nio.ByteBuffer data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Osmformat.PrimitiveGroup parseFrom(
-        com.google.protobuf.ByteString data)
+
+    public static Osmformat.PrimitiveGroup parseFrom(com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.PrimitiveGroup parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
+
     public static Osmformat.PrimitiveGroup parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.PrimitiveGroup parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
+
     public static Osmformat.PrimitiveGroup parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Osmformat.PrimitiveGroup parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     public static Osmformat.PrimitiveGroup parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input);
     }
 
     public static Osmformat.PrimitiveGroup parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(
+          PARSER, input, extensionRegistry);
     }
-    public static Osmformat.PrimitiveGroup parseFrom(
-        com.google.protobuf.CodedInputStream input)
+
+    public static Osmformat.PrimitiveGroup parseFrom(com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Osmformat.PrimitiveGroup parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     @Override
-    public Builder newBuilderForType() { return newBuilder(); }
+    public Builder newBuilderForType() {
+      return newBuilder();
+    }
+
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
+
     public static Builder newBuilder(Osmformat.PrimitiveGroup prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
+
     @Override
     public Builder toBuilder() {
-      return this == DEFAULT_INSTANCE
-          ? new Builder() : new Builder().mergeFrom(this);
+      return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @Override
-    protected Builder newBuilderForType(
-        BuilderParent parent) {
+    protected Builder newBuilderForType(BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
+     *
+     *
      * <pre>
      * Group of OSMPrimitives. All primitives in a group must be the same type.
      * </pre>
      *
      * Protobuf type {@code PrimitiveGroup}
      */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+    public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder>
+        implements
         // @@protoc_insertion_point(builder_implements:PrimitiveGroup)
         Osmformat.PrimitiveGroupOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
+      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
         return Osmformat.internal_static_org_apache_sedona_osm_build_PrimitiveGroup_descriptor;
       }
 
       @Override
-      protected FieldAccessorTable
-          internalGetFieldAccessorTable() {
-        return Osmformat.internal_static_org_apache_sedona_osm_build_PrimitiveGroup_fieldAccessorTable
+      protected FieldAccessorTable internalGetFieldAccessorTable() {
+        return Osmformat
+            .internal_static_org_apache_sedona_osm_build_PrimitiveGroup_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
                 Osmformat.PrimitiveGroup.class, Osmformat.PrimitiveGroup.Builder.class);
       }
@@ -4881,14 +4984,13 @@ public final class Osmformat {
         maybeForceBuilderInitialization();
       }
 
-      private Builder(
-          BuilderParent parent) {
+      private Builder(BuilderParent parent) {
         super(parent);
         maybeForceBuilderInitialization();
       }
+
       private void maybeForceBuilderInitialization() {
-        if (com.google.protobuf.GeneratedMessage
-                .alwaysUseFieldBuilders) {
+        if (com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders) {
           getNodesFieldBuilder();
           getDenseFieldBuilder();
           getWaysFieldBuilder();
@@ -4896,6 +4998,7 @@ public final class Osmformat {
           getChangesetsFieldBuilder();
         }
       }
+
       @Override
       public Builder clear() {
         super.clear();
@@ -4937,8 +5040,7 @@ public final class Osmformat {
       }
 
       @Override
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
+      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
         return Osmformat.internal_static_org_apache_sedona_osm_build_PrimitiveGroup_descriptor;
       }
 
@@ -4960,7 +5062,9 @@ public final class Osmformat {
       public Osmformat.PrimitiveGroup buildPartial() {
         Osmformat.PrimitiveGroup result = new Osmformat.PrimitiveGroup(this);
         buildPartialRepeatedFields(result);
-        if (bitField0_ != 0) { buildPartial0(result); }
+        if (bitField0_ != 0) {
+          buildPartial0(result);
+        }
         onBuilt();
         return result;
       }
@@ -5008,9 +5112,7 @@ public final class Osmformat {
         int from_bitField0_ = bitField0_;
         int to_bitField0_ = 0;
         if (((from_bitField0_ & 0x00000002) != 0)) {
-          result.dense_ = denseBuilder_ == null
-              ? dense_
-              : denseBuilder_.build();
+          result.dense_ = denseBuilder_ == null ? dense_ : denseBuilder_.build();
           to_bitField0_ |= 0x00000001;
         }
         result.bitField0_ |= to_bitField0_;
@@ -5019,7 +5121,7 @@ public final class Osmformat {
       @Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof Osmformat.PrimitiveGroup) {
-          return mergeFrom((Osmformat.PrimitiveGroup)other);
+          return mergeFrom((Osmformat.PrimitiveGroup) other);
         } else {
           super.mergeFrom(other);
           return this;
@@ -5047,8 +5149,9 @@ public final class Osmformat {
               nodes_ = other.nodes_;
               bitField0_ = (bitField0_ & ~0x00000001);
               nodesBuilder_ =
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getNodesFieldBuilder() : null;
+                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders
+                      ? getNodesFieldBuilder()
+                      : null;
             } else {
               nodesBuilder_.addAllMessages(other.nodes_);
             }
@@ -5076,8 +5179,9 @@ public final class Osmformat {
               ways_ = other.ways_;
               bitField0_ = (bitField0_ & ~0x00000004);
               waysBuilder_ =
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getWaysFieldBuilder() : null;
+                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders
+                      ? getWaysFieldBuilder()
+                      : null;
             } else {
               waysBuilder_.addAllMessages(other.ways_);
             }
@@ -5102,8 +5206,9 @@ public final class Osmformat {
               relations_ = other.relations_;
               bitField0_ = (bitField0_ & ~0x00000008);
               relationsBuilder_ =
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getRelationsFieldBuilder() : null;
+                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders
+                      ? getRelationsFieldBuilder()
+                      : null;
             } else {
               relationsBuilder_.addAllMessages(other.relations_);
             }
@@ -5128,8 +5233,9 @@ public final class Osmformat {
               changesets_ = other.changesets_;
               bitField0_ = (bitField0_ & ~0x00000010);
               changesetsBuilder_ =
-                com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders ?
-                   getChangesetsFieldBuilder() : null;
+                  com.google.protobuf.GeneratedMessage.alwaysUseFieldBuilders
+                      ? getChangesetsFieldBuilder()
+                      : null;
             } else {
               changesetsBuilder_.addAllMessages(other.changesets_);
             }
@@ -5181,71 +5287,65 @@ public final class Osmformat {
               case 0:
                 done = true;
                 break;
-              case 10: {
-                Osmformat.Node m =
-                    input.readMessage(
-                        Osmformat.Node.parser(),
-                        extensionRegistry);
-                if (nodesBuilder_ == null) {
-                  ensureNodesIsMutable();
-                  nodes_.add(m);
-                } else {
-                  nodesBuilder_.addMessage(m);
-                }
-                break;
-              } // case 10
-              case 18: {
-                input.readMessage(
-                    getDenseFieldBuilder().getBuilder(),
-                    extensionRegistry);
-                bitField0_ |= 0x00000002;
-                break;
-              } // case 18
-              case 26: {
-                Osmformat.Way m =
-                    input.readMessage(
-                        Osmformat.Way.parser(),
-                        extensionRegistry);
-                if (waysBuilder_ == null) {
-                  ensureWaysIsMutable();
-                  ways_.add(m);
-                } else {
-                  waysBuilder_.addMessage(m);
-                }
-                break;
-              } // case 26
-              case 34: {
-                Osmformat.Relation m =
-                    input.readMessage(
-                        Osmformat.Relation.parser(),
-                        extensionRegistry);
-                if (relationsBuilder_ == null) {
-                  ensureRelationsIsMutable();
-                  relations_.add(m);
-                } else {
-                  relationsBuilder_.addMessage(m);
-                }
-                break;
-              } // case 34
-              case 42: {
-                Osmformat.ChangeSet m =
-                    input.readMessage(
-                        Osmformat.ChangeSet.parser(),
-                        extensionRegistry);
-                if (changesetsBuilder_ == null) {
-                  ensureChangesetsIsMutable();
-                  changesets_.add(m);
-                } else {
-                  changesetsBuilder_.addMessage(m);
-                }
-                break;
-              } // case 42
-              default: {
-                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                  done = true; // was an endgroup tag
-                }
-                break;
-              } // default:
+              case 10:
+                {
+                  Osmformat.Node m = input.readMessage(Osmformat.Node.parser(), extensionRegistry);
+                  if (nodesBuilder_ == null) {
+                    ensureNodesIsMutable();
+                    nodes_.add(m);
+                  } else {
+                    nodesBuilder_.addMessage(m);
+                  }
+                  break;
+                } // case 10
+              case 18:
+                {
+                  input.readMessage(getDenseFieldBuilder().getBuilder(), extensionRegistry);
+                  bitField0_ |= 0x00000002;
+                  break;
+                } // case 18
+              case 26:
+                {
+                  Osmformat.Way m = input.readMessage(Osmformat.Way.parser(), extensionRegistry);
+                  if (waysBuilder_ == null) {
+                    ensureWaysIsMutable();
+                    ways_.add(m);
+                  } else {
+                    waysBuilder_.addMessage(m);
+                  }
+                  break;
+                } // case 26
+              case 34:
+                {
+                  Osmformat.Relation m =
+                      input.readMessage(Osmformat.Relation.parser(), extensionRegistry);
+                  if (relationsBuilder_ == null) {
+                    ensureRelationsIsMutable();
+                    relations_.add(m);
+                  } else {
+                    relationsBuilder_.addMessage(m);
+                  }
+                  break;
+                } // case 34
+              case 42:
+                {
+                  Osmformat.ChangeSet m =
+                      input.readMessage(Osmformat.ChangeSet.parser(), extensionRegistry);
+                  if (changesetsBuilder_ == null) {
+                    ensureChangesetsIsMutable();
+                    changesets_.add(m);
+                  } else {
+                    changesetsBuilder_.addMessage(m);
+                  }
+                  break;
+                } // case 42
+              default:
+                {
+                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                    done = true; // was an endgroup tag
+                  }
+                  break;
+                } // default:
             } // switch (tag)
           } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -5255,23 +5355,23 @@ public final class Osmformat {
         } // finally
         return this;
       }
+
       private int bitField0_;
 
-      private java.util.List<Osmformat.Node> nodes_ =
-        java.util.Collections.emptyList();
+      private java.util.List<Osmformat.Node> nodes_ = java.util.Collections.emptyList();
+
       private void ensureNodesIsMutable() {
         if (!((bitField0_ & 0x00000001) != 0)) {
           nodes_ = new java.util.ArrayList<Osmformat.Node>(nodes_);
           bitField0_ |= 0x00000001;
-         }
+        }
       }
 
       private com.google.protobuf.RepeatedFieldBuilder<
-          Osmformat.Node, Osmformat.Node.Builder, Osmformat.NodeOrBuilder> nodesBuilder_;
+              Osmformat.Node, Osmformat.Node.Builder, Osmformat.NodeOrBuilder>
+          nodesBuilder_;
 
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
+      /** <code>repeated .Node nodes = 1;</code> */
       public java.util.List<Osmformat.Node> getNodesList() {
         if (nodesBuilder_ == null) {
           return java.util.Collections.unmodifiableList(nodes_);
@@ -5279,9 +5379,7 @@ public final class Osmformat {
           return nodesBuilder_.getMessageList();
         }
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
+      /** <code>repeated .Node nodes = 1;</code> */
       public int getNodesCount() {
         if (nodesBuilder_ == null) {
           return nodes_.size();
@@ -5289,9 +5387,7 @@ public final class Osmformat {
           return nodesBuilder_.getCount();
         }
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
+      /** <code>repeated .Node nodes = 1;</code> */
       public Osmformat.Node getNodes(int index) {
         if (nodesBuilder_ == null) {
           return nodes_.get(index);
@@ -5299,11 +5395,8 @@ public final class Osmformat {
           return nodesBuilder_.getMessage(index);
         }
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
-      public Builder setNodes(
-          int index, Osmformat.Node value) {
+      /** <code>repeated .Node nodes = 1;</code> */
+      public Builder setNodes(int index, Osmformat.Node value) {
         if (nodesBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5316,11 +5409,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
-      public Builder setNodes(
-          int index, Osmformat.Node.Builder builderForValue) {
+      /** <code>repeated .Node nodes = 1;</code> */
+      public Builder setNodes(int index, Osmformat.Node.Builder builderForValue) {
         if (nodesBuilder_ == null) {
           ensureNodesIsMutable();
           nodes_.set(index, builderForValue.build());
@@ -5330,9 +5420,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
+      /** <code>repeated .Node nodes = 1;</code> */
       public Builder addNodes(Osmformat.Node value) {
         if (nodesBuilder_ == null) {
           if (value == null) {
@@ -5346,11 +5434,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
-      public Builder addNodes(
-          int index, Osmformat.Node value) {
+      /** <code>repeated .Node nodes = 1;</code> */
+      public Builder addNodes(int index, Osmformat.Node value) {
         if (nodesBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5363,11 +5448,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
-      public Builder addNodes(
-          Osmformat.Node.Builder builderForValue) {
+      /** <code>repeated .Node nodes = 1;</code> */
+      public Builder addNodes(Osmformat.Node.Builder builderForValue) {
         if (nodesBuilder_ == null) {
           ensureNodesIsMutable();
           nodes_.add(builderForValue.build());
@@ -5377,11 +5459,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
-      public Builder addNodes(
-          int index, Osmformat.Node.Builder builderForValue) {
+      /** <code>repeated .Node nodes = 1;</code> */
+      public Builder addNodes(int index, Osmformat.Node.Builder builderForValue) {
         if (nodesBuilder_ == null) {
           ensureNodesIsMutable();
           nodes_.add(index, builderForValue.build());
@@ -5391,24 +5470,18 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
-      public Builder addAllNodes(
-          Iterable<? extends Osmformat.Node> values) {
+      /** <code>repeated .Node nodes = 1;</code> */
+      public Builder addAllNodes(Iterable<? extends Osmformat.Node> values) {
         if (nodesBuilder_ == null) {
           ensureNodesIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, nodes_);
+          com.google.protobuf.AbstractMessageLite.Builder.addAll(values, nodes_);
           onChanged();
         } else {
           nodesBuilder_.addAllMessages(values);
         }
         return this;
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
+      /** <code>repeated .Node nodes = 1;</code> */
       public Builder clearNodes() {
         if (nodesBuilder_ == null) {
           nodes_ = java.util.Collections.emptyList();
@@ -5419,9 +5492,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
+      /** <code>repeated .Node nodes = 1;</code> */
       public Builder removeNodes(int index) {
         if (nodesBuilder_ == null) {
           ensureNodesIsMutable();
@@ -5432,66 +5503,47 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
-      public Osmformat.Node.Builder getNodesBuilder(
-          int index) {
+      /** <code>repeated .Node nodes = 1;</code> */
+      public Osmformat.Node.Builder getNodesBuilder(int index) {
         return getNodesFieldBuilder().getBuilder(index);
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
-      public Osmformat.NodeOrBuilder getNodesOrBuilder(
-          int index) {
+      /** <code>repeated .Node nodes = 1;</code> */
+      public Osmformat.NodeOrBuilder getNodesOrBuilder(int index) {
         if (nodesBuilder_ == null) {
-          return nodes_.get(index);  } else {
+          return nodes_.get(index);
+        } else {
           return nodesBuilder_.getMessageOrBuilder(index);
         }
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
-      public java.util.List<? extends Osmformat.NodeOrBuilder>
-           getNodesOrBuilderList() {
+      /** <code>repeated .Node nodes = 1;</code> */
+      public java.util.List<? extends Osmformat.NodeOrBuilder> getNodesOrBuilderList() {
         if (nodesBuilder_ != null) {
           return nodesBuilder_.getMessageOrBuilderList();
         } else {
           return java.util.Collections.unmodifiableList(nodes_);
         }
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
+      /** <code>repeated .Node nodes = 1;</code> */
       public Osmformat.Node.Builder addNodesBuilder() {
-        return getNodesFieldBuilder().addBuilder(
-            Osmformat.Node.getDefaultInstance());
+        return getNodesFieldBuilder().addBuilder(Osmformat.Node.getDefaultInstance());
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
-      public Osmformat.Node.Builder addNodesBuilder(
-          int index) {
-        return getNodesFieldBuilder().addBuilder(
-            index, Osmformat.Node.getDefaultInstance());
+      /** <code>repeated .Node nodes = 1;</code> */
+      public Osmformat.Node.Builder addNodesBuilder(int index) {
+        return getNodesFieldBuilder().addBuilder(index, Osmformat.Node.getDefaultInstance());
       }
-      /**
-       * <code>repeated .Node nodes = 1;</code>
-       */
-      public java.util.List<Osmformat.Node.Builder>
-           getNodesBuilderList() {
+      /** <code>repeated .Node nodes = 1;</code> */
+      public java.util.List<Osmformat.Node.Builder> getNodesBuilderList() {
         return getNodesFieldBuilder().getBuilderList();
       }
+
       private com.google.protobuf.RepeatedFieldBuilder<
-          Osmformat.Node, Osmformat.Node.Builder, Osmformat.NodeOrBuilder>
+              Osmformat.Node, Osmformat.Node.Builder, Osmformat.NodeOrBuilder>
           getNodesFieldBuilder() {
         if (nodesBuilder_ == null) {
-          nodesBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              Osmformat.Node, Osmformat.Node.Builder, Osmformat.NodeOrBuilder>(
-                  nodes_,
-                  ((bitField0_ & 0x00000001) != 0),
-                  getParentForChildren(),
-                  isClean());
+          nodesBuilder_ =
+              new com.google.protobuf.RepeatedFieldBuilder<
+                  Osmformat.Node, Osmformat.Node.Builder, Osmformat.NodeOrBuilder>(
+                  nodes_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean());
           nodes_ = null;
         }
         return nodesBuilder_;
@@ -5499,9 +5551,11 @@ public final class Osmformat {
 
       private Osmformat.DenseNodes dense_;
       private com.google.protobuf.SingleFieldBuilder<
-          Osmformat.DenseNodes, Osmformat.DenseNodes.Builder, Osmformat.DenseNodesOrBuilder> denseBuilder_;
+              Osmformat.DenseNodes, Osmformat.DenseNodes.Builder, Osmformat.DenseNodesOrBuilder>
+          denseBuilder_;
       /**
        * <code>optional .DenseNodes dense = 2;</code>
+       *
        * @return Whether the dense field is set.
        */
       public boolean hasDense() {
@@ -5509,6 +5563,7 @@ public final class Osmformat {
       }
       /**
        * <code>optional .DenseNodes dense = 2;</code>
+       *
        * @return The dense.
        */
       public Osmformat.DenseNodes getDense() {
@@ -5518,9 +5573,7 @@ public final class Osmformat {
           return denseBuilder_.getMessage();
         }
       }
-      /**
-       * <code>optional .DenseNodes dense = 2;</code>
-       */
+      /** <code>optional .DenseNodes dense = 2;</code> */
       public Builder setDense(Osmformat.DenseNodes value) {
         if (denseBuilder_ == null) {
           if (value == null) {
@@ -5534,11 +5587,8 @@ public final class Osmformat {
         onChanged();
         return this;
       }
-      /**
-       * <code>optional .DenseNodes dense = 2;</code>
-       */
-      public Builder setDense(
-          Osmformat.DenseNodes.Builder builderForValue) {
+      /** <code>optional .DenseNodes dense = 2;</code> */
+      public Builder setDense(Osmformat.DenseNodes.Builder builderForValue) {
         if (denseBuilder_ == null) {
           dense_ = builderForValue.build();
         } else {
@@ -5548,14 +5598,12 @@ public final class Osmformat {
         onChanged();
         return this;
       }
-      /**
-       * <code>optional .DenseNodes dense = 2;</code>
-       */
+      /** <code>optional .DenseNodes dense = 2;</code> */
       public Builder mergeDense(Osmformat.DenseNodes value) {
         if (denseBuilder_ == null) {
-          if (((bitField0_ & 0x00000002) != 0) &&
-            dense_ != null &&
-            dense_ != Osmformat.DenseNodes.getDefaultInstance()) {
+          if (((bitField0_ & 0x00000002) != 0)
+              && dense_ != null
+              && dense_ != Osmformat.DenseNodes.getDefaultInstance()) {
             getDenseBuilder().mergeFrom(value);
           } else {
             dense_ = value;
@@ -5569,9 +5617,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>optional .DenseNodes dense = 2;</code>
-       */
+      /** <code>optional .DenseNodes dense = 2;</code> */
       public Builder clearDense() {
         bitField0_ = (bitField0_ & ~0x00000002);
         dense_ = null;
@@ -5582,57 +5628,49 @@ public final class Osmformat {
         onChanged();
         return this;
       }
-      /**
-       * <code>optional .DenseNodes dense = 2;</code>
-       */
+      /** <code>optional .DenseNodes dense = 2;</code> */
       public Osmformat.DenseNodes.Builder getDenseBuilder() {
         bitField0_ |= 0x00000002;
         onChanged();
         return getDenseFieldBuilder().getBuilder();
       }
-      /**
-       * <code>optional .DenseNodes dense = 2;</code>
-       */
+      /** <code>optional .DenseNodes dense = 2;</code> */
       public Osmformat.DenseNodesOrBuilder getDenseOrBuilder() {
         if (denseBuilder_ != null) {
           return denseBuilder_.getMessageOrBuilder();
         } else {
-          return dense_ == null ?
-              Osmformat.DenseNodes.getDefaultInstance() : dense_;
+          return dense_ == null ? Osmformat.DenseNodes.getDefaultInstance() : dense_;
         }
       }
-      /**
-       * <code>optional .DenseNodes dense = 2;</code>
-       */
+      /** <code>optional .DenseNodes dense = 2;</code> */
       private com.google.protobuf.SingleFieldBuilder<
-          Osmformat.DenseNodes, Osmformat.DenseNodes.Builder, Osmformat.DenseNodesOrBuilder>
+              Osmformat.DenseNodes, Osmformat.DenseNodes.Builder, Osmformat.DenseNodesOrBuilder>
           getDenseFieldBuilder() {
         if (denseBuilder_ == null) {
-          denseBuilder_ = new com.google.protobuf.SingleFieldBuilder<
-              Osmformat.DenseNodes, Osmformat.DenseNodes.Builder, Osmformat.DenseNodesOrBuilder>(
-                  getDense(),
-                  getParentForChildren(),
-                  isClean());
+          denseBuilder_ =
+              new com.google.protobuf.SingleFieldBuilder<
+                  Osmformat.DenseNodes,
+                  Osmformat.DenseNodes.Builder,
+                  Osmformat.DenseNodesOrBuilder>(getDense(), getParentForChildren(), isClean());
           dense_ = null;
         }
         return denseBuilder_;
       }
 
-      private java.util.List<Osmformat.Way> ways_ =
-        java.util.Collections.emptyList();
+      private java.util.List<Osmformat.Way> ways_ = java.util.Collections.emptyList();
+
       private void ensureWaysIsMutable() {
         if (!((bitField0_ & 0x00000004) != 0)) {
           ways_ = new java.util.ArrayList<Osmformat.Way>(ways_);
           bitField0_ |= 0x00000004;
-         }
+        }
       }
 
       private com.google.protobuf.RepeatedFieldBuilder<
-          Osmformat.Way, Osmformat.Way.Builder, Osmformat.WayOrBuilder> waysBuilder_;
+              Osmformat.Way, Osmformat.Way.Builder, Osmformat.WayOrBuilder>
+          waysBuilder_;
 
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
+      /** <code>repeated .Way ways = 3;</code> */
       public java.util.List<Osmformat.Way> getWaysList() {
         if (waysBuilder_ == null) {
           return java.util.Collections.unmodifiableList(ways_);
@@ -5640,9 +5678,7 @@ public final class Osmformat {
           return waysBuilder_.getMessageList();
         }
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
+      /** <code>repeated .Way ways = 3;</code> */
       public int getWaysCount() {
         if (waysBuilder_ == null) {
           return ways_.size();
@@ -5650,9 +5686,7 @@ public final class Osmformat {
           return waysBuilder_.getCount();
         }
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
+      /** <code>repeated .Way ways = 3;</code> */
       public Osmformat.Way getWays(int index) {
         if (waysBuilder_ == null) {
           return ways_.get(index);
@@ -5660,11 +5694,8 @@ public final class Osmformat {
           return waysBuilder_.getMessage(index);
         }
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
-      public Builder setWays(
-          int index, Osmformat.Way value) {
+      /** <code>repeated .Way ways = 3;</code> */
+      public Builder setWays(int index, Osmformat.Way value) {
         if (waysBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5677,11 +5708,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
-      public Builder setWays(
-          int index, Osmformat.Way.Builder builderForValue) {
+      /** <code>repeated .Way ways = 3;</code> */
+      public Builder setWays(int index, Osmformat.Way.Builder builderForValue) {
         if (waysBuilder_ == null) {
           ensureWaysIsMutable();
           ways_.set(index, builderForValue.build());
@@ -5691,9 +5719,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
+      /** <code>repeated .Way ways = 3;</code> */
       public Builder addWays(Osmformat.Way value) {
         if (waysBuilder_ == null) {
           if (value == null) {
@@ -5707,11 +5733,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
-      public Builder addWays(
-          int index, Osmformat.Way value) {
+      /** <code>repeated .Way ways = 3;</code> */
+      public Builder addWays(int index, Osmformat.Way value) {
         if (waysBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5724,11 +5747,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
-      public Builder addWays(
-          Osmformat.Way.Builder builderForValue) {
+      /** <code>repeated .Way ways = 3;</code> */
+      public Builder addWays(Osmformat.Way.Builder builderForValue) {
         if (waysBuilder_ == null) {
           ensureWaysIsMutable();
           ways_.add(builderForValue.build());
@@ -5738,11 +5758,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
-      public Builder addWays(
-          int index, Osmformat.Way.Builder builderForValue) {
+      /** <code>repeated .Way ways = 3;</code> */
+      public Builder addWays(int index, Osmformat.Way.Builder builderForValue) {
         if (waysBuilder_ == null) {
           ensureWaysIsMutable();
           ways_.add(index, builderForValue.build());
@@ -5752,24 +5769,18 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
-      public Builder addAllWays(
-          Iterable<? extends Osmformat.Way> values) {
+      /** <code>repeated .Way ways = 3;</code> */
+      public Builder addAllWays(Iterable<? extends Osmformat.Way> values) {
         if (waysBuilder_ == null) {
           ensureWaysIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, ways_);
+          com.google.protobuf.AbstractMessageLite.Builder.addAll(values, ways_);
           onChanged();
         } else {
           waysBuilder_.addAllMessages(values);
         }
         return this;
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
+      /** <code>repeated .Way ways = 3;</code> */
       public Builder clearWays() {
         if (waysBuilder_ == null) {
           ways_ = java.util.Collections.emptyList();
@@ -5780,9 +5791,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
+      /** <code>repeated .Way ways = 3;</code> */
       public Builder removeWays(int index) {
         if (waysBuilder_ == null) {
           ensureWaysIsMutable();
@@ -5793,86 +5802,66 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
-      public Osmformat.Way.Builder getWaysBuilder(
-          int index) {
+      /** <code>repeated .Way ways = 3;</code> */
+      public Osmformat.Way.Builder getWaysBuilder(int index) {
         return getWaysFieldBuilder().getBuilder(index);
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
-      public Osmformat.WayOrBuilder getWaysOrBuilder(
-          int index) {
+      /** <code>repeated .Way ways = 3;</code> */
+      public Osmformat.WayOrBuilder getWaysOrBuilder(int index) {
         if (waysBuilder_ == null) {
-          return ways_.get(index);  } else {
+          return ways_.get(index);
+        } else {
           return waysBuilder_.getMessageOrBuilder(index);
         }
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
-      public java.util.List<? extends Osmformat.WayOrBuilder>
-           getWaysOrBuilderList() {
+      /** <code>repeated .Way ways = 3;</code> */
+      public java.util.List<? extends Osmformat.WayOrBuilder> getWaysOrBuilderList() {
         if (waysBuilder_ != null) {
           return waysBuilder_.getMessageOrBuilderList();
         } else {
           return java.util.Collections.unmodifiableList(ways_);
         }
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
+      /** <code>repeated .Way ways = 3;</code> */
       public Osmformat.Way.Builder addWaysBuilder() {
-        return getWaysFieldBuilder().addBuilder(
-            Osmformat.Way.getDefaultInstance());
+        return getWaysFieldBuilder().addBuilder(Osmformat.Way.getDefaultInstance());
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
-      public Osmformat.Way.Builder addWaysBuilder(
-          int index) {
-        return getWaysFieldBuilder().addBuilder(
-            index, Osmformat.Way.getDefaultInstance());
+      /** <code>repeated .Way ways = 3;</code> */
+      public Osmformat.Way.Builder addWaysBuilder(int index) {
+        return getWaysFieldBuilder().addBuilder(index, Osmformat.Way.getDefaultInstance());
       }
-      /**
-       * <code>repeated .Way ways = 3;</code>
-       */
-      public java.util.List<Osmformat.Way.Builder>
-           getWaysBuilderList() {
+      /** <code>repeated .Way ways = 3;</code> */
+      public java.util.List<Osmformat.Way.Builder> getWaysBuilderList() {
         return getWaysFieldBuilder().getBuilderList();
       }
+
       private com.google.protobuf.RepeatedFieldBuilder<
-          Osmformat.Way, Osmformat.Way.Builder, Osmformat.WayOrBuilder>
+              Osmformat.Way, Osmformat.Way.Builder, Osmformat.WayOrBuilder>
           getWaysFieldBuilder() {
         if (waysBuilder_ == null) {
-          waysBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              Osmformat.Way, Osmformat.Way.Builder, Osmformat.WayOrBuilder>(
-                  ways_,
-                  ((bitField0_ & 0x00000004) != 0),
-                  getParentForChildren(),
-                  isClean());
+          waysBuilder_ =
+              new com.google.protobuf.RepeatedFieldBuilder<
+                  Osmformat.Way, Osmformat.Way.Builder, Osmformat.WayOrBuilder>(
+                  ways_, ((bitField0_ & 0x00000004) != 0), getParentForChildren(), isClean());
           ways_ = null;
         }
         return waysBuilder_;
       }
 
-      private java.util.List<Osmformat.Relation> relations_ =
-        java.util.Collections.emptyList();
+      private java.util.List<Osmformat.Relation> relations_ = java.util.Collections.emptyList();
+
       private void ensureRelationsIsMutable() {
         if (!((bitField0_ & 0x00000008) != 0)) {
           relations_ = new java.util.ArrayList<Osmformat.Relation>(relations_);
           bitField0_ |= 0x00000008;
-         }
+        }
       }
 
       private com.google.protobuf.RepeatedFieldBuilder<
-          Osmformat.Relation, Osmformat.Relation.Builder, Osmformat.RelationOrBuilder> relationsBuilder_;
+              Osmformat.Relation, Osmformat.Relation.Builder, Osmformat.RelationOrBuilder>
+          relationsBuilder_;
 
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
+      /** <code>repeated .Relation relations = 4;</code> */
       public java.util.List<Osmformat.Relation> getRelationsList() {
         if (relationsBuilder_ == null) {
           return java.util.Collections.unmodifiableList(relations_);
@@ -5880,9 +5869,7 @@ public final class Osmformat {
           return relationsBuilder_.getMessageList();
         }
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
+      /** <code>repeated .Relation relations = 4;</code> */
       public int getRelationsCount() {
         if (relationsBuilder_ == null) {
           return relations_.size();
@@ -5890,9 +5877,7 @@ public final class Osmformat {
           return relationsBuilder_.getCount();
         }
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
+      /** <code>repeated .Relation relations = 4;</code> */
       public Osmformat.Relation getRelations(int index) {
         if (relationsBuilder_ == null) {
           return relations_.get(index);
@@ -5900,11 +5885,8 @@ public final class Osmformat {
           return relationsBuilder_.getMessage(index);
         }
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
-      public Builder setRelations(
-          int index, Osmformat.Relation value) {
+      /** <code>repeated .Relation relations = 4;</code> */
+      public Builder setRelations(int index, Osmformat.Relation value) {
         if (relationsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5917,11 +5899,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
-      public Builder setRelations(
-          int index, Osmformat.Relation.Builder builderForValue) {
+      /** <code>repeated .Relation relations = 4;</code> */
+      public Builder setRelations(int index, Osmformat.Relation.Builder builderForValue) {
         if (relationsBuilder_ == null) {
           ensureRelationsIsMutable();
           relations_.set(index, builderForValue.build());
@@ -5931,9 +5910,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
+      /** <code>repeated .Relation relations = 4;</code> */
       public Builder addRelations(Osmformat.Relation value) {
         if (relationsBuilder_ == null) {
           if (value == null) {
@@ -5947,11 +5924,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
-      public Builder addRelations(
-          int index, Osmformat.Relation value) {
+      /** <code>repeated .Relation relations = 4;</code> */
+      public Builder addRelations(int index, Osmformat.Relation value) {
         if (relationsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -5964,11 +5938,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
-      public Builder addRelations(
-          Osmformat.Relation.Builder builderForValue) {
+      /** <code>repeated .Relation relations = 4;</code> */
+      public Builder addRelations(Osmformat.Relation.Builder builderForValue) {
         if (relationsBuilder_ == null) {
           ensureRelationsIsMutable();
           relations_.add(builderForValue.build());
@@ -5978,11 +5949,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
-      public Builder addRelations(
-          int index, Osmformat.Relation.Builder builderForValue) {
+      /** <code>repeated .Relation relations = 4;</code> */
+      public Builder addRelations(int index, Osmformat.Relation.Builder builderForValue) {
         if (relationsBuilder_ == null) {
           ensureRelationsIsMutable();
           relations_.add(index, builderForValue.build());
@@ -5992,24 +5960,18 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
-      public Builder addAllRelations(
-          Iterable<? extends Osmformat.Relation> values) {
+      /** <code>repeated .Relation relations = 4;</code> */
+      public Builder addAllRelations(Iterable<? extends Osmformat.Relation> values) {
         if (relationsBuilder_ == null) {
           ensureRelationsIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, relations_);
+          com.google.protobuf.AbstractMessageLite.Builder.addAll(values, relations_);
           onChanged();
         } else {
           relationsBuilder_.addAllMessages(values);
         }
         return this;
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
+      /** <code>repeated .Relation relations = 4;</code> */
       public Builder clearRelations() {
         if (relationsBuilder_ == null) {
           relations_ = java.util.Collections.emptyList();
@@ -6020,9 +5982,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
+      /** <code>repeated .Relation relations = 4;</code> */
       public Builder removeRelations(int index) {
         if (relationsBuilder_ == null) {
           ensureRelationsIsMutable();
@@ -6033,86 +5993,67 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
-      public Osmformat.Relation.Builder getRelationsBuilder(
-          int index) {
+      /** <code>repeated .Relation relations = 4;</code> */
+      public Osmformat.Relation.Builder getRelationsBuilder(int index) {
         return getRelationsFieldBuilder().getBuilder(index);
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
-      public Osmformat.RelationOrBuilder getRelationsOrBuilder(
-          int index) {
+      /** <code>repeated .Relation relations = 4;</code> */
+      public Osmformat.RelationOrBuilder getRelationsOrBuilder(int index) {
         if (relationsBuilder_ == null) {
-          return relations_.get(index);  } else {
+          return relations_.get(index);
+        } else {
           return relationsBuilder_.getMessageOrBuilder(index);
         }
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
-      public java.util.List<? extends Osmformat.RelationOrBuilder>
-           getRelationsOrBuilderList() {
+      /** <code>repeated .Relation relations = 4;</code> */
+      public java.util.List<? extends Osmformat.RelationOrBuilder> getRelationsOrBuilderList() {
         if (relationsBuilder_ != null) {
           return relationsBuilder_.getMessageOrBuilderList();
         } else {
           return java.util.Collections.unmodifiableList(relations_);
         }
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
+      /** <code>repeated .Relation relations = 4;</code> */
       public Osmformat.Relation.Builder addRelationsBuilder() {
-        return getRelationsFieldBuilder().addBuilder(
-            Osmformat.Relation.getDefaultInstance());
+        return getRelationsFieldBuilder().addBuilder(Osmformat.Relation.getDefaultInstance());
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
-      public Osmformat.Relation.Builder addRelationsBuilder(
-          int index) {
-        return getRelationsFieldBuilder().addBuilder(
-            index, Osmformat.Relation.getDefaultInstance());
+      /** <code>repeated .Relation relations = 4;</code> */
+      public Osmformat.Relation.Builder addRelationsBuilder(int index) {
+        return getRelationsFieldBuilder()
+            .addBuilder(index, Osmformat.Relation.getDefaultInstance());
       }
-      /**
-       * <code>repeated .Relation relations = 4;</code>
-       */
-      public java.util.List<Osmformat.Relation.Builder>
-           getRelationsBuilderList() {
+      /** <code>repeated .Relation relations = 4;</code> */
+      public java.util.List<Osmformat.Relation.Builder> getRelationsBuilderList() {
         return getRelationsFieldBuilder().getBuilderList();
       }
+
       private com.google.protobuf.RepeatedFieldBuilder<
-          Osmformat.Relation, Osmformat.Relation.Builder, Osmformat.RelationOrBuilder>
+              Osmformat.Relation, Osmformat.Relation.Builder, Osmformat.RelationOrBuilder>
           getRelationsFieldBuilder() {
         if (relationsBuilder_ == null) {
-          relationsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              Osmformat.Relation, Osmformat.Relation.Builder, Osmformat.RelationOrBuilder>(
-                  relations_,
-                  ((bitField0_ & 0x00000008) != 0),
-                  getParentForChildren(),
-                  isClean());
+          relationsBuilder_ =
+              new com.google.protobuf.RepeatedFieldBuilder<
+                  Osmformat.Relation, Osmformat.Relation.Builder, Osmformat.RelationOrBuilder>(
+                  relations_, ((bitField0_ & 0x00000008) != 0), getParentForChildren(), isClean());
           relations_ = null;
         }
         return relationsBuilder_;
       }
 
-      private java.util.List<Osmformat.ChangeSet> changesets_ =
-        java.util.Collections.emptyList();
+      private java.util.List<Osmformat.ChangeSet> changesets_ = java.util.Collections.emptyList();
+
       private void ensureChangesetsIsMutable() {
         if (!((bitField0_ & 0x00000010) != 0)) {
           changesets_ = new java.util.ArrayList<Osmformat.ChangeSet>(changesets_);
           bitField0_ |= 0x00000010;
-         }
+        }
       }
 
       private com.google.protobuf.RepeatedFieldBuilder<
-          Osmformat.ChangeSet, Osmformat.ChangeSet.Builder, Osmformat.ChangeSetOrBuilder> changesetsBuilder_;
+              Osmformat.ChangeSet, Osmformat.ChangeSet.Builder, Osmformat.ChangeSetOrBuilder>
+          changesetsBuilder_;
 
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
       public java.util.List<Osmformat.ChangeSet> getChangesetsList() {
         if (changesetsBuilder_ == null) {
           return java.util.Collections.unmodifiableList(changesets_);
@@ -6120,9 +6061,7 @@ public final class Osmformat {
           return changesetsBuilder_.getMessageList();
         }
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
       public int getChangesetsCount() {
         if (changesetsBuilder_ == null) {
           return changesets_.size();
@@ -6130,9 +6069,7 @@ public final class Osmformat {
           return changesetsBuilder_.getCount();
         }
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
       public Osmformat.ChangeSet getChangesets(int index) {
         if (changesetsBuilder_ == null) {
           return changesets_.get(index);
@@ -6140,11 +6077,8 @@ public final class Osmformat {
           return changesetsBuilder_.getMessage(index);
         }
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
-      public Builder setChangesets(
-          int index, Osmformat.ChangeSet value) {
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
+      public Builder setChangesets(int index, Osmformat.ChangeSet value) {
         if (changesetsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -6157,11 +6091,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
-      public Builder setChangesets(
-          int index, Osmformat.ChangeSet.Builder builderForValue) {
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
+      public Builder setChangesets(int index, Osmformat.ChangeSet.Builder builderForValue) {
         if (changesetsBuilder_ == null) {
           ensureChangesetsIsMutable();
           changesets_.set(index, builderForValue.build());
@@ -6171,9 +6102,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
       public Builder addChangesets(Osmformat.ChangeSet value) {
         if (changesetsBuilder_ == null) {
           if (value == null) {
@@ -6187,11 +6116,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
-      public Builder addChangesets(
-          int index, Osmformat.ChangeSet value) {
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
+      public Builder addChangesets(int index, Osmformat.ChangeSet value) {
         if (changesetsBuilder_ == null) {
           if (value == null) {
             throw new NullPointerException();
@@ -6204,11 +6130,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
-      public Builder addChangesets(
-          Osmformat.ChangeSet.Builder builderForValue) {
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
+      public Builder addChangesets(Osmformat.ChangeSet.Builder builderForValue) {
         if (changesetsBuilder_ == null) {
           ensureChangesetsIsMutable();
           changesets_.add(builderForValue.build());
@@ -6218,11 +6141,8 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
-      public Builder addChangesets(
-          int index, Osmformat.ChangeSet.Builder builderForValue) {
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
+      public Builder addChangesets(int index, Osmformat.ChangeSet.Builder builderForValue) {
         if (changesetsBuilder_ == null) {
           ensureChangesetsIsMutable();
           changesets_.add(index, builderForValue.build());
@@ -6232,24 +6152,18 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
-      public Builder addAllChangesets(
-          Iterable<? extends Osmformat.ChangeSet> values) {
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
+      public Builder addAllChangesets(Iterable<? extends Osmformat.ChangeSet> values) {
         if (changesetsBuilder_ == null) {
           ensureChangesetsIsMutable();
-          com.google.protobuf.AbstractMessageLite.Builder.addAll(
-              values, changesets_);
+          com.google.protobuf.AbstractMessageLite.Builder.addAll(values, changesets_);
           onChanged();
         } else {
           changesetsBuilder_.addAllMessages(values);
         }
         return this;
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
       public Builder clearChangesets() {
         if (changesetsBuilder_ == null) {
           changesets_ = java.util.Collections.emptyList();
@@ -6260,9 +6174,7 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
       public Builder removeChangesets(int index) {
         if (changesetsBuilder_ == null) {
           ensureChangesetsIsMutable();
@@ -6273,66 +6185,48 @@ public final class Osmformat {
         }
         return this;
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
-      public Osmformat.ChangeSet.Builder getChangesetsBuilder(
-          int index) {
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
+      public Osmformat.ChangeSet.Builder getChangesetsBuilder(int index) {
         return getChangesetsFieldBuilder().getBuilder(index);
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
-      public Osmformat.ChangeSetOrBuilder getChangesetsOrBuilder(
-          int index) {
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
+      public Osmformat.ChangeSetOrBuilder getChangesetsOrBuilder(int index) {
         if (changesetsBuilder_ == null) {
-          return changesets_.get(index);  } else {
+          return changesets_.get(index);
+        } else {
           return changesetsBuilder_.getMessageOrBuilder(index);
         }
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
-      public java.util.List<? extends Osmformat.ChangeSetOrBuilder>
-           getChangesetsOrBuilderList() {
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
+      public java.util.List<? extends Osmformat.ChangeSetOrBuilder> getChangesetsOrBuilderList() {
         if (changesetsBuilder_ != null) {
           return changesetsBuilder_.getMessageOrBuilderList();
         } else {
           return java.util.Collections.unmodifiableList(changesets_);
         }
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
       public Osmformat.ChangeSet.Builder addChangesetsBuilder() {
-        return getChangesetsFieldBuilder().addBuilder(
-            Osmformat.ChangeSet.getDefaultInstance());
+        return getChangesetsFieldBuilder().addBuilder(Osmformat.ChangeSet.getDefaultInstance());
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
-      public Osmformat.ChangeSet.Builder addChangesetsBuilder(
-          int index) {
-        return getChangesetsFieldBuilder().addBuilder(
-            index, Osmformat.ChangeSet.getDefaultInstance());
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
+      public Osmformat.ChangeSet.Builder addChangesetsBuilder(int index) {
+        return getChangesetsFieldBuilder()
+            .addBuilder(index, Osmformat.ChangeSet.getDefaultInstance());
       }
-      /**
-       * <code>repeated .ChangeSet changesets = 5;</code>
-       */
-      public java.util.List<Osmformat.ChangeSet.Builder>
-           getChangesetsBuilderList() {
+      /** <code>repeated .ChangeSet changesets = 5;</code> */
+      public java.util.List<Osmformat.ChangeSet.Builder> getChangesetsBuilderList() {
         return getChangesetsFieldBuilder().getBuilderList();
       }
+
       private com.google.protobuf.RepeatedFieldBuilder<
-          Osmformat.ChangeSet, Osmformat.ChangeSet.Builder, Osmformat.ChangeSetOrBuilder>
+              Osmformat.ChangeSet, Osmformat.ChangeSet.Builder, Osmformat.ChangeSetOrBuilder>
           getChangesetsFieldBuilder() {
         if (changesetsBuilder_ == null) {
-          changesetsBuilder_ = new com.google.protobuf.RepeatedFieldBuilder<
-              Osmformat.ChangeSet, Osmformat.ChangeSet.Builder, Osmformat.ChangeSetOrBuilder>(
-                  changesets_,
-                  ((bitField0_ & 0x00000010) != 0),
-                  getParentForChildren(),
-                  isClean());
+          changesetsBuilder_ =
+              new com.google.protobuf.RepeatedFieldBuilder<
+                  Osmformat.ChangeSet, Osmformat.ChangeSet.Builder, Osmformat.ChangeSetOrBuilder>(
+                  changesets_, ((bitField0_ & 0x00000010) != 0), getParentForChildren(), isClean());
           changesets_ = null;
         }
         return changesetsBuilder_;
@@ -6343,6 +6237,7 @@ public final class Osmformat {
 
     // @@protoc_insertion_point(class_scope:PrimitiveGroup)
     private static final Osmformat.PrimitiveGroup DEFAULT_INSTANCE;
+
     static {
       DEFAULT_INSTANCE = new Osmformat.PrimitiveGroup();
     }
@@ -6351,27 +6246,28 @@ public final class Osmformat {
       return DEFAULT_INSTANCE;
     }
 
-    private static final com.google.protobuf.Parser<PrimitiveGroup>
-        PARSER = new com.google.protobuf.AbstractParser<PrimitiveGroup>() {
-      @Override
-      public PrimitiveGroup parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        Builder builder = newBuilder();
-        try {
-          builder.mergeFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          throw e.setUnfinishedMessage(builder.buildPartial());
-        } catch (com.google.protobuf.UninitializedMessageException e) {
-          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-        } catch (java.io.IOException e) {
-          throw new com.google.protobuf.InvalidProtocolBufferException(e)
-              .setUnfinishedMessage(builder.buildPartial());
-        }
-        return builder.buildPartial();
-      }
-    };
+    private static final com.google.protobuf.Parser<PrimitiveGroup> PARSER =
+        new com.google.protobuf.AbstractParser<PrimitiveGroup>() {
+          @Override
+          public PrimitiveGroup parsePartialFrom(
+              com.google.protobuf.CodedInputStream input,
+              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+              throws com.google.protobuf.InvalidProtocolBufferException {
+            Builder builder = newBuilder();
+            try {
+              builder.mergeFrom(input, extensionRegistry);
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+              throw e.setUnfinishedMessage(builder.buildPartial());
+            } catch (com.google.protobuf.UninitializedMessageException e) {
+              throw e.asInvalidProtocolBufferException()
+                  .setUnfinishedMessage(builder.buildPartial());
+            } catch (java.io.IOException e) {
+              throw new com.google.protobuf.InvalidProtocolBufferException(e)
+                  .setUnfinishedMessage(builder.buildPartial());
+            }
+            return builder.buildPartial();
+          }
+        };
 
     public static com.google.protobuf.Parser<PrimitiveGroup> parser() {
       return PARSER;
@@ -6386,31 +6282,36 @@ public final class Osmformat {
     public Osmformat.PrimitiveGroup getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
-
   }
 
-  public interface StringTableOrBuilder extends
+  public interface StringTableOrBuilder
+      extends
       // @@protoc_insertion_point(interface_extends:StringTable)
       com.google.protobuf.MessageOrBuilder {
 
     /**
      * <code>repeated bytes s = 1;</code>
+     *
      * @return A list containing the s.
      */
     java.util.List<com.google.protobuf.ByteString> getSList();
     /**
      * <code>repeated bytes s = 1;</code>
+     *
      * @return The count of s.
      */
     int getSCount();
     /**
      * <code>repeated bytes s = 1;</code>
+     *
      * @param index The index of the element to return.
      * @return The s at the given index.
      */
     com.google.protobuf.ByteString getS(int index);
   }
   /**
+   *
+   *
    * <pre>
    * * String table, contains the common strings in each block.
    *
@@ -6420,56 +6321,58 @@ public final class Osmformat {
    *
    * Protobuf type {@code StringTable}
    */
-  public static final class StringTable extends
-      com.google.protobuf.GeneratedMessage implements
+  public static final class StringTable extends com.google.protobuf.GeneratedMessage
+      implements
       // @@protoc_insertion_point(message_implements:StringTable)
       StringTableOrBuilder {
-  private static final long serialVersionUID = 0L;
+    private static final long serialVersionUID = 0L;
+
     static {
       com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
-        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
-        /* major= */ 4,
-        /* minor= */ 27,
-        /* patch= */ 0,
-        /* suffix= */ "",
-        StringTable.class.getName());
+          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+          /* major= */ 4,
+          /* minor= */ 27,
+          /* patch= */ 0,
+          /* suffix= */ "",
+          StringTable.class.getName());
     }
     // Use StringTable.newBuilder() to construct.
     private StringTable(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
+
     private StringTable() {
       s_ = emptyList(com.google.protobuf.ByteString.class);
     }
 
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
+    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
       return Osmformat.internal_static_org_apache_sedona_osm_build_StringTable_descriptor;
     }
 
     @Override
-    protected FieldAccessorTable
-        internalGetFieldAccessorTable() {
+    protected FieldAccessorTable internalGetFieldAccessorTable() {
       return Osmformat.internal_static_org_apache_sedona_osm_build_StringTable_fieldAccessorTable
           .ensureFieldAccessorsInitialized(
               Osmformat.StringTable.class, Osmformat.StringTable.Builder.class);
     }
 
     public static final int S_FIELD_NUMBER = 1;
+
     @SuppressWarnings("serial")
     private com.google.protobuf.Internal.ProtobufList<com.google.protobuf.ByteString> s_ =
         emptyList(com.google.protobuf.ByteString.class);
     /**
      * <code>repeated bytes s = 1;</code>
+     *
      * @return A list containing the s.
      */
     @Override
-    public java.util.List<com.google.protobuf.ByteString>
-        getSList() {
+    public java.util.List<com.google.protobuf.ByteString> getSList() {
       return s_;
     }
     /**
      * <code>repeated bytes s = 1;</code>
+     *
      * @return The count of s.
      */
     public int getSCount() {
@@ -6477,6 +6380,7 @@ public final class Osmformat {
     }
     /**
      * <code>repeated bytes s = 1;</code>
+     *
      * @param index The index of the element to return.
      * @return The s at the given index.
      */
@@ -6485,6 +6389,7 @@ public final class Osmformat {
     }
 
     private byte memoizedIsInitialized = -1;
+
     @Override
     public final boolean isInitialized() {
       byte isInitialized = memoizedIsInitialized;
@@ -6496,8 +6401,7 @@ public final class Osmformat {
     }
 
     @Override
-    public void writeTo(com.google.protobuf.CodedOutputStream output)
-                        throws java.io.IOException {
+    public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
       for (int i = 0; i < s_.size(); i++) {
         output.writeBytes(1, s_.get(i));
       }
@@ -6513,8 +6417,7 @@ public final class Osmformat {
       {
         int dataSize = 0;
         for (int i = 0; i < s_.size(); i++) {
-          dataSize += com.google.protobuf.CodedOutputStream
-            .computeBytesSizeNoTag(s_.get(i));
+          dataSize += com.google.protobuf.CodedOutputStream.computeBytesSizeNoTag(s_.get(i));
         }
         size += dataSize;
         size += 1 * getSList().size();
@@ -6527,15 +6430,14 @@ public final class Osmformat {
     @Override
     public boolean equals(final Object obj) {
       if (obj == this) {
-       return true;
+        return true;
       }
       if (!(obj instanceof Osmformat.StringTable)) {
         return super.equals(obj);
       }
       Osmformat.StringTable other = (Osmformat.StringTable) obj;
 
-      if (!getSList()
-          .equals(other.getSList())) return false;
+      if (!getSList().equals(other.getSList())) return false;
       if (!getUnknownFields().equals(other.getUnknownFields())) return false;
       return true;
     }
@@ -6556,99 +6458,103 @@ public final class Osmformat {
       return hash;
     }
 
-    public static Osmformat.StringTable parseFrom(
-        java.nio.ByteBuffer data)
+    public static Osmformat.StringTable parseFrom(java.nio.ByteBuffer data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.StringTable parseFrom(
-        java.nio.ByteBuffer data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
-    public static Osmformat.StringTable parseFrom(
-        com.google.protobuf.ByteString data)
+
+    public static Osmformat.StringTable parseFrom(com.google.protobuf.ByteString data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.StringTable parseFrom(
         com.google.protobuf.ByteString data,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
+
     public static Osmformat.StringTable parseFrom(byte[] data)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data);
     }
+
     public static Osmformat.StringTable parseFrom(
-        byte[] data,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws com.google.protobuf.InvalidProtocolBufferException {
       return PARSER.parseFrom(data, extensionRegistry);
     }
+
     public static Osmformat.StringTable parseFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Osmformat.StringTable parseFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     public static Osmformat.StringTable parseDelimitedFrom(java.io.InputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(PARSER, input);
     }
 
     public static Osmformat.StringTable parseDelimitedFrom(
-        java.io.InputStream input,
-        com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+        java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseDelimitedWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseDelimitedWithIOException(
+          PARSER, input, extensionRegistry);
     }
-    public static Osmformat.StringTable parseFrom(
-        com.google.protobuf.CodedInputStream input)
+
+    public static Osmformat.StringTable parseFrom(com.google.protobuf.CodedInputStream input)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(PARSER, input);
     }
+
     public static Osmformat.StringTable parseFrom(
         com.google.protobuf.CodedInputStream input,
         com.google.protobuf.ExtensionRegistryLite extensionRegistry)
         throws java.io.IOException {
-      return com.google.protobuf.GeneratedMessage
-          .parseWithIOException(PARSER, input, extensionRegistry);
+      return com.google.protobuf.GeneratedMessage.parseWithIOException(
+          PARSER, input, extensionRegistry);
     }
 
     @Override
-    public Builder newBuilderForType() { return newBuilder(); }
+    public Builder newBuilderForType() {
+      return newBuilder();
+    }
+
     public static Builder newBuilder() {
       return DEFAULT_INSTANCE.toBuilder();
     }
+
     public static Builder newBuilder(Osmformat.StringTable prototype) {
       return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
     }
+
     @Override
     public Builder toBuilder() {
-      return this == DEFAULT_INSTANCE
-          ? new Builder() : new Builder().mergeFrom(this);
+      return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
     }
 
     @Override
-    protected Builder newBuilderForType(
-        BuilderParent parent) {
+    protected Builder newBuilderForType(BuilderParent parent) {
       Builder builder = new Builder(parent);
       return builder;
     }
     /**
+     *
+     *
      * <pre>
      * * String table, contains the common strings in each block.
      *
@@ -6658,33 +6564,28 @@ public final class Osmformat {
      *
      * Protobuf type {@code StringTable}
      */
-    public static final class Builder extends
-        com.google.protobuf.GeneratedMessage.Builder<Builder> implements
+    public static final class Builder extends com.google.protobuf.GeneratedMessage.Builder<Builder>
+        implements
         // @@protoc_insertion_point(builder_implements:StringTable)
         Osmformat.StringTableOrBuilder {
-      public static final com.google.protobuf.Descriptors.Descriptor
-          getDescriptor() {
+      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
         return Osmformat.internal_static_org_apache_sedona_osm_build_StringTable_descriptor;
       }
 
       @Override
-      protected FieldAccessorTable
-          internalGetFieldAccessorTable() {
+      protected FieldAccessorTable internalGetFieldAccessorTable() {
         return Osmformat.internal_static_org_apache_sedona_osm_build_StringTable_fieldAccessorTable
             .ensureFieldAccessorsInitialized(
                 Osmformat.StringTable.class, Osmformat.StringTable.Builder.class);
       }
 
       // Construct using Osmformat.StringTable.newBuilder()
-      private Builder() {
+      private Builder() {}
 
-      }
-
-      private Builder(
-          BuilderParent parent) {
+      private Builder(BuilderParent parent) {
         super(parent);
-
       }
+
       @Override
       public Builder clear() {
         super.clear();
@@ -6694,8 +6595,7 @@ public final class Osmformat {
       }
 
       @Override
-      public com.google.protobuf.Descriptors.Descriptor
-          getDescriptorForType() {
+      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
         return Osmformat.internal_static_org_apache_sedona_osm_build_StringTable_descriptor;
       }
 
@@ -6716,7 +6616,9 @@ public final class Osmformat {
       @Override
       public Osmformat.StringTable buildPartial() {
         Osmformat.StringTable result = new Osmformat.StringTable(this);
-        if (bitField0_ != 0) { buildPartial0(result); }
+        if (bitField0_ != 0) {
+          buildPartial0(result);
+        }
         onBuilt();
         return result;
       }
@@ -6732,7 +6634,7 @@ public final class Osmformat {
       @Override
       public Builder mergeFrom(com.google.protobuf.Message other) {
         if (other instanceof Osmformat.StringTable) {
-          return mergeFrom((Osmformat.StringTable)other);
+          return mergeFrom((Osmformat.StringTable) other);
         } else {
           super.mergeFrom(other);
           return this;
@@ -6778,18 +6680,20 @@ public final class Osmformat {
               case 0:
                 done = true;
                 break;
-              case 10: {
-                com.google.protobuf.ByteString v = input.readBytes();
-                ensureSIsMutable();
-                s_.add(v);
-                break;
-              } // case 10
-              default: {
-                if (!super.parseUnknownField(input, extensionRegistry, tag)) {
-                  done = true; // was an endgroup tag
-                }
-                break;
-              } // default:
+              case 10:
+                {
+                  com.google.protobuf.ByteString v = input.readBytes();
+                  ensureSIsMutable();
+                  s_.add(v);
+                  break;
+                } // case 10
+              default:
+                {
+                  if (!super.parseUnknownField(input, extensionRegistry, tag)) {
+                    done = true; // was an endgroup tag
+                  }
+                  break;
+                } // default:
             } // switch (tag)
           } // while (!done)
         } catch (com.google.protobuf.InvalidProtocolBufferException e) {
@@ -6799,9 +6703,12 @@ public final class Osmformat {
         } // finally
         return this;
       }
+
       private int bitField0_;
 
-      private com.google.protobuf.Internal.ProtobufList<com.google.protobuf.ByteString> s_ = emptyList(com.google.protobuf.ByteString.class);
+      private com.google.protobuf.Internal.ProtobufList<com.google.protobuf.ByteString> s_ =
+          emptyList(com.google.protobuf.ByteString.class);
+
       private void ensureSIsMutable() {
         if (!s_.isModifiable()) {
           s_ = makeMutableCopy(s_);
@@ -6810,15 +6717,16 @@ public final class Osmformat {
       }
       /**
        * <code>repeated bytes s = 1;</code>
+       *
        * @return A list containing the s.
        */
-      public java.util.List<com.google.protobuf.ByteString>
-          getSList() {
+      public java.util.List<com.google.protobuf.ByteString> getSList() {
         s_.makeImmutable();
         return s_;
       }
       /**
        * <code>repeated bytes s = 1;</code>
+       *
        * @return The count of s.
        */
       public int getSCount() {
@@ -6826,6 +6734,7 @@ public final class Osmformat {
       }
       /**
        * <code>repeated bytes s = 1;</code>
+       *
        * @param index The index of the element to return.
        * @return The s at the given index.
        */
@@ -6834,13 +6743,15 @@ public final class Osmformat {
       }
       /**
        * <code>repeated bytes s = 1;</code>
+       *
        * @param index The index to set the value at.
        * @param value The s to set.
        * @return This builder for chaining.
        */
-      public Builder setS(
-          int index, com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
+      public Builder setS(int index, com.google.protobuf.ByteString value) {
+        if (value == null) {
+          throw new NullPointerException();
+        }
         ensureSIsMutable();
         s_.set(index, value);
         bitField0_ |= 0x00000001;
@@ -6849,11 +6760,14 @@ public final class Osmformat {
       }
       /**
        * <code>repeated bytes s = 1;</code>
+       *
        * @param value The s to add.
        * @return This builder for chaining.
        */
       public Builder addS(com.google.protobuf.ByteString value) {
-        if (value == null) { throw new NullPointerException(); }
+        if (value == null) {
+          throw new NullPointerException();
+        }
         ensureSIsMutable();
         s_.add(value);
         bitField0_ |= 0x00000001;
@@ -6862,20 +6776,20 @@ public final class Osmformat {
       }
       /**
        * <code>repeated bytes s = 1;</code>
+       *
        * @param values The s to add.
        * @return This builder for chaining.
        */
-      public Builder addAllS(
-          Iterable<? extends com.google.protobuf.ByteString> values) {
+      public Builder addAllS(Iterable<? extends com.google.protobuf.ByteString> values) {
         ensureSIsMutable();
-        com.google.protobuf.AbstractMessageLite.Builder.addAll(
-            values, s_);
+        com.google.protobuf.AbstractMessageLite.Builder.addAll(values, s_);
         bitField0_ |= 0x00000001;
         onChanged();
         return this;
       }
       /**
        * <code>repeated bytes s = 1;</code>
+       *
        * @return This builder for chaining.
        */
       public Builder clearS() {
@@ -6890,6 +6804,7 @@ public final class Osmformat {
 
     // @@protoc_insertion_point(class_scope:StringTable)
     private static final Osmformat.StringTable DEFAULT_INSTANCE;
+
     static {
       DEFAULT_INSTANCE = new Osmformat.StringTable();
     }
@@ -6898,27 +6813,28 @@ public final class Osmformat {
       return DEFAULT_INSTANCE;
     }
 
-    private static final com.google.protobuf.Parser<StringTable>
-        PARSER = new com.google.protobuf.AbstractParser<StringTable>() {
-      @Override
-      public StringTable parsePartialFrom(
-          com.google.protobuf.CodedInputStream input,
-          com.google.protobuf.ExtensionRegistryLite extensionRegistry)
-          throws com.google.protobuf.InvalidProtocolBufferException {
-        Builder builder = newBuilder();
-        try {
-          builder.mergeFrom(input, extensionRegistry);
-        } catch (com.google.protobuf.InvalidProtocolBufferException e) {
-          throw e.setUnfinishedMessage(builder.buildPartial());
-        } catch (com.google.protobuf.UninitializedMessageException e) {
-          throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
-        } catch (java.io.IOException e) {
-          throw new com.google.protobuf.InvalidProtocolBufferException(e)
-              .setUnfinishedMessage(builder.buildPartial());
-        }
-        return builder.buildPartial();
-      }
-    };
+    private static final com.google.protobuf.Parser<StringTable> PARSER =
+        new com.google.protobuf.AbstractParser<StringTable>() {
+          @Override
+          public StringTable parsePartialFrom(
+              com.google.protobuf.CodedInputStream input,
+              com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+              throws com.google.protobuf.InvalidProtocolBufferException {
+            Builder builder = newBuilder();
+            try {
+              builder.mergeFrom(input, extensionRegistry);
+            } catch (com.google.protobuf.InvalidProtocolBufferException e) {
+              throw e.setUnfinishedMessage(builder.buildPartial());
+            } catch (com.google.protobuf.UninitializedMessageException e) {
+              throw e.asInvalidProtocolBufferException()
+                  .setUnfinishedMessage(builder.buildPartial());
+            } catch (java.io.IOException e) {
+              throw new com.google.protobuf.InvalidProtocolBufferException(e)
+                  .setUnfinishedMessage(builder.buildPartial());
+            }
+            return builder.buildPartial();
+          }
+        };
 
     public static com.google.protobuf.Parser<StringTable> parser() {
       return PARSER;
@@ -6933,77 +6849,93 @@ public final class Osmformat {
     public Osmformat.StringTable getDefaultInstanceForType() {
       return DEFAULT_INSTANCE;
     }
-
   }
 
-  public interface InfoOrBuilder extends
+  public interface InfoOrBuilder
+      extends
       // @@protoc_insertion_point(interface_extends:Info)
       com.google.protobuf.MessageOrBuilder {
 
     /**
      * <code>optional int32 version = 1 [default = -1];</code>
+     *
      * @return Whether the version field is set.
      */
     boolean hasVersion();
     /**
      * <code>optional int32 version = 1 [default = -1];</code>
+     *
      * @return The version.
      */
     int getVersion();
 
     /**
      * <code>optional int64 timestamp = 2;</code>
+     *
      * @return Whether the timestamp field is set.
      */
     boolean hasTimestamp();
     /**
      * <code>optional int64 timestamp = 2;</code>
+     *
      * @return The timestamp.
      */
     long getTimestamp();
 
     /**
      * <code>optional int64 changeset = 3;</code>
+     *
      * @return Whether the changeset field is set.
      */
     boolean hasChangeset();
     /**
      * <code>optional int64 changeset = 3;</code>
+     *
      * @return The changeset.
      */
     long getChangeset();
 
     /**
      * <code>optional int32 uid = 4;</code>
+     *
      * @return Whether the uid field is set.
      */
     boolean hasUid();
     /**
      * <code>optional int32 uid = 4;</code>
+     *
      * @return The uid.
      */
     int getUid();
 
     /**
+     *
+     *
      * <pre>
      * String IDs
      * </pre>
      *
      * <code>optional uint32 user_sid = 5;</code>
+     *
      * @return Whether the userSid field is set.
      */
     boolean hasUserSid();
     /**
+     *
+     *
      * <pre>
      * String IDs
      * </pre>
      *
      * <code>optional uint32 user_sid = 5;</code>
+     *
      * @return The userSid.
      */
     int getUserSid();
 
     /**
+     *
+     *
      * <pre>
      * The visible flag is used to store history information. It indicates that
      * the current object version has been created by a delete operation on the
@@ -7016,10 +6948,13 @@ public final class Osmformat {
      * </pre>
      *
      * <code>optional bool visible = 6;</code>
+     *
      * @return Whether the visible field is set.
      */
     boolean hasVisible();
     /**
+     *
+     *
      * <pre>
      * The visible flag is used to store history information. It indicates that
      * the current object version has been created by a delete operation on the
@@ -7032,50 +6967,52 @@ public final class Osmformat {
      * </pre>
      *
      * <code>optional bool visible = 6;</code>
+     *
      * @return The visible.
      */
     boolean getVisible();
   }
   /**
+   *
+   *
    * <pre>
    * Optional metadata that may be included into each primitive.
    * </pre>
    *
    * Protobuf type {@code Info}
    */
-  public static final class Info extends
-      com.google.protobuf.GeneratedMessage implements
+  public static final class Info extends com.google.protobuf.GeneratedMessage
+      implements
       // @@protoc_insertion_point(message_implements:Info)
       InfoOrBuilder {
-  private static final long serialVersionUID = 0L;
+    private static final long serialVersionUID = 0L;
+
     static {
       com.google.protobuf.RuntimeVersion.validateProtobufGencodeVersion(
-        com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
-        /* major= */ 4,
-        /* minor= */ 27,
-        /* patch= */ 0,
-        /* suffix= */ "",
-        Info.class.getName());
+          com.google.protobuf.RuntimeVersion.RuntimeDomain.PUBLIC,
+          /* major= */ 4,
+          /* minor= */ 27,
+          /* patch= */ 0,
+          /* suffix= */ "",
+          Info.class.getName());
     }
     // Use Info.newBuilder() to construct.
     private Info(com.google.protobuf.GeneratedMessage.Builder<?> builder) {
       super(builder);
     }
+
     private Info() {
       version_ = -1;
     }
 
-    public static final com.google.protobuf.Descriptors.Descriptor
-        getDescriptor() {
+    public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
       return Osmformat.internal_static_org_apache_sedona_osm_build_Info_descriptor;
     }
 
     @Override
-    protected FieldAccessorTable
-        internalGetFieldAccessorTable() {
+    protected FieldAccessorTable internalGetFieldAccessorTable() {
       return Osmformat.internal_static_org_apache_sedona_osm_build_Info_fieldAccessorTable
-          .ensureFieldAccessorsInitialized(
-              Osmformat.Info.class, Osmformat.Info.Builder.class);
+          .ensureFieldAccessorsInitialized(Osmformat.Info.class, Osmformat.Info.Builder.class);
     }
 
     private int bitField0_;
@@ -7083,6 +7020,7 @@ public final class Osmformat {
     private int version_ = -1;
     /**
      * <code>optional int32 version = 1 [default = -1];</code>
+     *
      * @return Whether the version field is set.
      */
     @Override
@@ -7091,6 +7029,7 @@ public final class Osmformat {
     }
     /**
      * <code>optional int32 version = 1 [default = -1];</code>
+     *
      * @return The version.
      */
     @Override
@@ -7102,6 +7041,7 @@ public final class Osmformat {
     private long timestamp_ = 0L;
     /**
      * <code>optional int64 timestamp = 2;</code>
+     *
      * @return Whether the timestamp field is set.
      */
     @Override
@@ -7110,6 +7050,7 @@ public final class Osmformat {
     }
     /**
      * <code>optional int64 timestamp = 2;</code>
+     *
      * @return The timestamp.
      */
     @Override
@@ -7121,6 +7062,7 @@ public final class Osmformat {
     private long changeset_ = 0L;
     /**
      * <code>optional int64 changeset = 3;</code>
+     *
      * @return Whether the changeset field is set.
      */
     @Override
@@ -7129,6 +7071,7 @@ public final class Osmformat {
     }
     /**
      * <code>optional int64 changeset = 3;</code>
+     *
      * @return The changeset.
      */
     @Override
@@ -7140,6 +7083,7 @@ public final class Osmformat {
     private int uid_ = 0;
     /**
      * <code>optional int32 uid = 4;</code>
+     *
      * @return Whether the uid field is set.
      */
     @Override
@@ -7148,6 +7092,7 @@ public final class Osmformat {
     }
     /**
      * <code>optional int32 uid = 4;</code>
+     *
      * @return The uid.
      */
     @Override
@@ -7158,11 +7103,14 @@ public final class Osmformat {
     public static final int USER_SID_FIELD_NUMBER = 5;
     private int userSid_ = 0;
     /**
+     *
+     *
      * <pre>
      * String IDs
      * </pre>
      *
      * <code>optional uint32 user_sid = 5;</code>
+     *
      * @return Whether the userSid field is set.
      */
     @Override
@@ -7170,11 +7118,14 @@ public final class Osmformat {
       return ((bitField0_ & 0x00000010) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * String IDs
      * </pre>
      *
      * <code>optional uint32 user_sid = 5;</code>
+     *
      * @return The userSid.
      */
     @Override
@@ -7185,6 +7136,8 @@ public final class Osmformat {
     public static final int VISIBLE_FIELD_NUMBER = 6;
     private boolean visible_ = false;
     /**
+     *
+     *
      * <pre>
      * The visible flag is used to store history information. It indicates that
      * the current object version has been created by a delete operation on the
@@ -7197,6 +7150,7 @@ public final class Osmformat {
      * </pre>
      *
      * <code>optional bool visible = 6;</code>
+     *
      * @return Whether the visible field is set.
      */
     @Override
@@ -7204,6 +7158,8 @@ public final class Osmformat {
       return ((bitField0_ & 0x00000020) != 0);
     }
     /**
+     *
+     *
      * <pre>
      * The visible flag is used to store history information. It indicates that
      * the current object version has been created by a delete operation on the
... 12256 lines suppressed ...