From cc796ce005bab6f36ac5b861ef7b52c6cd52b9f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?dean=5B=EB=B0=B1=EB=B3=91=EB=82=A8=5D?= Date: Wed, 11 Mar 2026 08:02:54 +0900 Subject: [PATCH] =?UTF-8?q?shp=ED=8C=8C=EC=9D=BC=EB=93=B1=EB=A1=9D?= =?UTF-8?q?=EB=B0=A9=EB=B2=95=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- shp-exporter/.gitignore | 8 + .../.gradle/8.14.3/checksums/checksums.lock | Bin 17 -> 0 bytes .../8.14.3/checksums/md5-checksums.bin | Bin 35547 -> 0 bytes .../8.14.3/checksums/sha1-checksums.bin | Bin 71627 -> 0 bytes .../executionHistory/executionHistory.bin | Bin 941611 -> 0 bytes .../executionHistory/executionHistory.lock | Bin 17 -> 0 bytes .../.gradle/8.14.3/fileChanges/last-build.bin | Bin 1 -> 0 bytes .../.gradle/8.14.3/fileHashes/fileHashes.bin | Bin 37497 -> 0 bytes .../.gradle/8.14.3/fileHashes/fileHashes.lock | Bin 17 -> 0 bytes .../8.14.3/fileHashes/resourceHashesCache.bin | Bin 23257 -> 0 bytes shp-exporter/.gradle/8.14.3/gc.properties | 0 .../buildOutputCleanup.lock | Bin 17 -> 0 bytes .../buildOutputCleanup/cache.properties | 2 - .../buildOutputCleanup/outputFiles.bin | Bin 21449 -> 0 bytes shp-exporter/.gradle/file-system.probe | Bin 8 -> 0 bytes shp-exporter/.gradle/vcs-1/gc.properties | 0 shp-exporter/.idea/.gitignore | 8 - shp-exporter/.idea/compiler.xml | 9 - shp-exporter/.idea/gradle.xml | 19 - shp-exporter/.idea/jarRepositories.xml | 35 -- shp-exporter/.idea/makesample_geoserver.iml | 9 - shp-exporter/.idea/misc.xml | 10 - shp-exporter/.idea/vcs.xml | 6 - shp-exporter/CLAUDE.md | 500 ++++++++++++++---- shp-exporter/README.md | 2 +- .../tasklet/GeoServerRegistrationTasklet.java | 31 +- .../cli/ConverterCommandLineRunner.java | 78 ++- .../service/GeoServerRegistrationService.java | 155 +++++- 28 files changed, 657 insertions(+), 215 deletions(-) delete mode 100755 shp-exporter/.gradle/8.14.3/checksums/checksums.lock delete mode 100755 shp-exporter/.gradle/8.14.3/checksums/md5-checksums.bin delete mode 100755 shp-exporter/.gradle/8.14.3/checksums/sha1-checksums.bin delete mode 100755 shp-exporter/.gradle/8.14.3/executionHistory/executionHistory.bin delete mode 100755 shp-exporter/.gradle/8.14.3/executionHistory/executionHistory.lock delete mode 100755 shp-exporter/.gradle/8.14.3/fileChanges/last-build.bin delete mode 100755 shp-exporter/.gradle/8.14.3/fileHashes/fileHashes.bin delete mode 100755 shp-exporter/.gradle/8.14.3/fileHashes/fileHashes.lock delete mode 100755 shp-exporter/.gradle/8.14.3/fileHashes/resourceHashesCache.bin delete mode 100644 shp-exporter/.gradle/8.14.3/gc.properties delete mode 100755 shp-exporter/.gradle/buildOutputCleanup/buildOutputCleanup.lock delete mode 100755 shp-exporter/.gradle/buildOutputCleanup/cache.properties delete mode 100755 shp-exporter/.gradle/buildOutputCleanup/outputFiles.bin delete mode 100755 shp-exporter/.gradle/file-system.probe delete mode 100644 shp-exporter/.gradle/vcs-1/gc.properties delete mode 100755 shp-exporter/.idea/.gitignore delete mode 100755 shp-exporter/.idea/compiler.xml delete mode 100755 shp-exporter/.idea/gradle.xml delete mode 100755 shp-exporter/.idea/jarRepositories.xml delete mode 100755 shp-exporter/.idea/makesample_geoserver.iml delete mode 100755 shp-exporter/.idea/misc.xml delete mode 100644 shp-exporter/.idea/vcs.xml diff --git a/shp-exporter/.gitignore b/shp-exporter/.gitignore index e905136..cc75f05 100644 --- a/shp-exporter/.gitignore +++ b/shp-exporter/.gitignore @@ -76,3 +76,11 @@ docker-compose.override.yml *.jar *.class /build + +### Output directories ### +export/ +merge/ + +### Documentation (temporary) ### +claudedocs/ + diff --git a/shp-exporter/.gradle/8.14.3/checksums/checksums.lock b/shp-exporter/.gradle/8.14.3/checksums/checksums.lock deleted file mode 100755 index 79e108cb58ab397676988d7acd25211fc8fcce74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17 VcmZSHw8OsO{QCGU3}C=q4*)wB1uy^r diff --git a/shp-exporter/.gradle/8.14.3/checksums/md5-checksums.bin b/shp-exporter/.gradle/8.14.3/checksums/md5-checksums.bin deleted file mode 100755 index 2389ef52917500b49fc7230e321b6b1b35d9fee5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35547 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%0DO@k|*4M7EPk?&p8cbJ~S-bMo+f61=PgKKn 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 diff --git a/shp-exporter/.gradle/8.14.3/checksums/sha1-checksums.bin b/shp-exporter/.gradle/8.14.3/checksums/sha1-checksums.bin deleted file mode 100755 index 1eb2fafa682a0b323374c103de5e7105dedc0bfd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71627 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 w`f%LEAhJYO1D*$Ri8a87rGK@t0XTFLH_~ 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 diff --git a/shp-exporter/.gradle/8.14.3/executionHistory/executionHistory.lock b/shp-exporter/.gradle/8.14.3/executionHistory/executionHistory.lock deleted file mode 100755 index a339036274c7775796c52c63b439b678006675e4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17 VcmZQ(-OD_GR!)9C0~j#7001aQ1Csy% diff --git a/shp-exporter/.gradle/8.14.3/fileChanges/last-build.bin b/shp-exporter/.gradle/8.14.3/fileChanges/last-build.bin deleted file mode 100755 index f76dd238ade08917e6712764a16a22005a50573d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1 IcmZPo000310RR91 diff --git a/shp-exporter/.gradle/8.14.3/fileHashes/fileHashes.bin b/shp-exporter/.gradle/8.14.3/fileHashes/fileHashes.bin deleted file mode 100755 index 069f5fb7e350f84f6c9bcd5dcbe40ad4a1108e51..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 37497 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 diff --git a/shp-exporter/.gradle/8.14.3/fileHashes/fileHashes.lock b/shp-exporter/.gradle/8.14.3/fileHashes/fileHashes.lock deleted file mode 100755 index 2af1ae631d76f88821b6c5ef35c0d24499c0671a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17 VcmZSnd-9k!qkipY1~A}M0suNN1f~E0 diff --git a/shp-exporter/.gradle/8.14.3/fileHashes/resourceHashesCache.bin b/shp-exporter/.gradle/8.14.3/fileHashes/resourceHashesCache.bin deleted file mode 100755 index 8261caf38471458d564ab205e5661a70cd444c7d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 23257 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 diff --git a/shp-exporter/.gradle/8.14.3/gc.properties b/shp-exporter/.gradle/8.14.3/gc.properties deleted file mode 100644 index e69de29..0000000 diff --git a/shp-exporter/.gradle/buildOutputCleanup/buildOutputCleanup.lock b/shp-exporter/.gradle/buildOutputCleanup/buildOutputCleanup.lock deleted file mode 100755 index b1a64c968710017f1c132cdb515b4e74e2ac447b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17 VcmZSnZ@hSZW^BeB1~6cC0suDg1c?9u diff --git a/shp-exporter/.gradle/buildOutputCleanup/cache.properties b/shp-exporter/.gradle/buildOutputCleanup/cache.properties deleted file mode 100755 index 2ac9937..0000000 --- a/shp-exporter/.gradle/buildOutputCleanup/cache.properties +++ /dev/null @@ -1,2 +0,0 @@ -#Wed Jan 14 15:14:03 KST 2026 -gradle.version=8.14.3 diff --git a/shp-exporter/.gradle/buildOutputCleanup/outputFiles.bin b/shp-exporter/.gradle/buildOutputCleanup/outputFiles.bin deleted file mode 100755 index 50c5eefbfae09bc8aa6cbc4e28dd21e962d465a0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21449 zcmeI&c~s4L9|!PTN+C)j$&!h&MH>>DvW@P3yH~PQG}*HyVKha!mSikFDqB>l(Wa&c zi6SJ#Bv+EHNg+y2Dj_tS&-e44^PGF0bMCoE&mYhEb`IV1>izxP`+NUZN0T|6o(8St zi}TM{_kUipSF8cn0Be9Xz#3o;um)HItO3>lYk)Pt8ek2u23P~E0oDL(fHlAxU=94g zG~oJWLps97^t90Y`a*v#hhwGp<;C&fQGU7ogxoXmW1%omEqq5U9m$$RP*p`41i_D$g2bLevS_)Jc~;bL&XB?!zD-WyE^yf(>Mc8DPW-CN;KD-m5b3p?`TCLL!TGzX z*IEpfO!Zg=E?9`Z^LS`_!Tlb$z@@jSH{P6A;(n(Oxacu@s9s5;slUGoxR^^lVQO>u z0g)XzSC0Ox-Uq$1cxeEcQ%BugZn>{`BH1rId+JrSc8Uxif5=Pvqwl`gM_dyT0UgK)mT=N)QT2KAzt}B771{;Bkw9yYfR0PPkq0f`7U{ewC+32z5IlTJ(mQpf50X^Z`ftsV6SChk3=#QQ#pBQCl z<#n3ODMe3O!{%9SAPYm0ZUic??{fkA7yyI2)VApC#b@spy$a zQ%c8_Yo>s^TtLsAT;*7!__&eyeDuqTKVup{JuU?2g`ri`p)d~R@4WZs@8_exkrVGyFqu+e>wsf#$wk7d1 z=zlnL@Xk8SCHqBk6kWlIP78Z)=Ky&wJ&zRe6L(c-#6Bf+24Vj0dd_}#PUr-189n~* zRx~!fj_aI5oc2)MX}iXYuFm%0{FylC-evDiHV4Gy`Xe5Qe&5#QyM`&*b0N=rjb6Gj zBgJ>5COHm8SqcrbfNy;i0Q-Md-ei%si5v17V6os zV*|LejQU|qZot-K)4-)->J>}=J-PRx6=Y5kdRc2j8ux0pxzc zbwKAl>Gu64L2fqWW%NAKT&kC%lgb+n?o9W4J6AL7-tG&?eb$-o$MzcXWizz$eMo*S z&TnsEJZt(G|6jpfQm98h{2@nc?+0)my*}uUee__l&+laaN_JtsL)>^j`OfIoke3vr zchrA$<={u_6rS(K)Q?>C=oy)Q0rHZ|=*B&Dx)^TZ%fLmOspq9mSidRf9Jq4@x=Dvt#f#=X z(ct`-=)EFt6#C|P+yj@==cQiR+IiQcnPQS3g?TgIyyH(Tj(q~>b*H}1`pLTqZ*#$2 zn$QQ1Ych(+E!6^dzJNX`D#OiV*;af`*oJOl+c9fKvejTRrxW^cY20;3{S0#6@uSg4 z%wJceu}32m@`7jRRwq4sSGe2PgNyf4e-W|3x~~=4US1r!b>OF$SBBzqpdc6Brd_ap zY;Ef{m?N=8A336y7k*0nF!`K^sPEJ-b9!sa2bcPx+j(tzmylQL2F}$%x99T1=U()P z0+;d8$F}Qus=s#2IB=1W`r3WEmGPUt2bbtm&oI@^>Tk6MT>J@ryj;^k_R=Gf%<)Bc z91wq@ci`Q{WKKGD!CozqY(IHklF|L^C@eX8Yg9g-cP}vSG%6~vZ}o+qFo$1){$tJ! z6HVg@8^OhP=v>c`(J@&M$Z;ZUK!q<)<74`z3aWL z_tZ$pONXJ0jMKc#qqN9%Nk;dtM8|Sbr>Y<_pGTk5B$*>4rM&4#XphfOsNC#of?1{7|=i z+^Uu2xaE4GlYk)Pt8fc3KY`+Zs`U{+2f9dnV0Na-d&Z+s?1T&s5e=aRqAEbTcx~R-%8r<^Qbaey{%AhvMQ_8%lwyBe*??d BYBT@< diff --git a/shp-exporter/.gradle/file-system.probe b/shp-exporter/.gradle/file-system.probe deleted file mode 100755 index 839974397d46524841f21bcc0d35a3c38cef3f74..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8 PcmZQzV4QQdR`)aj2 - - - - - - - \ No newline at end of file diff --git a/shp-exporter/.idea/gradle.xml b/shp-exporter/.idea/gradle.xml deleted file mode 100755 index b06d5a2..0000000 --- a/shp-exporter/.idea/gradle.xml +++ /dev/null @@ -1,19 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/shp-exporter/.idea/jarRepositories.xml b/shp-exporter/.idea/jarRepositories.xml deleted file mode 100755 index ef0f9ab..0000000 --- a/shp-exporter/.idea/jarRepositories.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/shp-exporter/.idea/makesample_geoserver.iml b/shp-exporter/.idea/makesample_geoserver.iml deleted file mode 100755 index d6ebd48..0000000 --- a/shp-exporter/.idea/makesample_geoserver.iml +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/shp-exporter/.idea/misc.xml b/shp-exporter/.idea/misc.xml deleted file mode 100755 index fe0b0da..0000000 --- a/shp-exporter/.idea/misc.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - \ No newline at end of file diff --git a/shp-exporter/.idea/vcs.xml b/shp-exporter/.idea/vcs.xml deleted file mode 100644 index 6c0b863..0000000 --- a/shp-exporter/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/shp-exporter/CLAUDE.md b/shp-exporter/CLAUDE.md index bad6f2e..e445afd 100755 --- a/shp-exporter/CLAUDE.md +++ b/shp-exporter/CLAUDE.md @@ -4,27 +4,51 @@ This file provides guidance to Claude Code (claude.ai/code) when working with co ## Project Overview -Spring Boot CLI application that queries PostgreSQL PostGIS spatial data and converts it to ESRI shapefiles and GeoJSON. The application processes AI inference results from the KAMCO database and generates geographic data files for visualization in GIS applications. It also supports automatic registration of shapefiles to GeoServer via REST API. +Spring Boot 3.5.7 CLI application that converts PostgreSQL PostGIS spatial data to ESRI shapefiles and GeoJSON formats. The application uses **Spring Batch** for memory-efficient processing of large datasets (1M+ records) and supports automatic GeoServer layer registration via REST API. + +**Key Features**: +- Memory-optimized batch processing (90-95% reduction: 2-13GB → 150-200MB) +- Chunk-based streaming with cursor pagination (fetch-size: 1000) +- Automatic geometry validation and type conversion (MultiPolygon → Polygon) +- Coordinate system validation (EPSG:5186 Korean 2000 / Central Belt) +- Dual execution modes: Spring Batch (recommended) and Legacy mode ## Build and Run Commands ### Build ```bash -./gradlew build +./gradlew build # Full build with tests +./gradlew clean build -x test # Skip tests +./gradlew spotlessApply # Apply Google Java Format (2-space indentation) +./gradlew spotlessCheck # Verify formatting without applying ``` -The built JAR will be named `shp-exporter.jar` (configured in `bootJar` task). +Output: `build/libs/shp-exporter.jar` (fixed name, no version suffix) ### Run Application -#### Generate Shapefiles +#### Spring Batch Mode (Recommended) ```bash -./gradlew bootRun +# Generate shapefile + GeoJSON +./gradlew bootRun --args="--batch --converter.batch-ids[0]=252" + +# With GeoServer registration +export GEOSERVER_USERNAME=admin +export GEOSERVER_PASSWORD=geoserver +./gradlew bootRun --args="--batch --geoserver.enabled=true --converter.batch-ids[0]=252" + +# Using JAR (production) +java -jar build/libs/shp-exporter.jar \ + --batch \ + --converter.inference-id=D5E46F60FC40B1A8BE0CD1F3547AA6 \ + --converter.batch-ids[0]=252 \ + --converter.batch-ids[1]=253 ``` -Or using JAR: +#### Legacy Mode (Small Datasets Only) ```bash -java -jar build/libs/shp-exporter.jar +./gradlew bootRun # No --batch flag +# Warning: May OOM on large datasets ``` #### Upload Shapefile to GeoServer @@ -71,122 +95,410 @@ By default, the application runs with `spring.profiles.active=prod` (set in `app ## Architecture -### Processing Pipeline -The application follows a layered architecture with a linear data flow: +### Dual Execution Modes -1. **CLI Entry** (`ConverterCommandLineRunner`) → Parses command-line args and routes to either shapefile generation or GeoServer upload -2. **Service Orchestration** (`ShapefileConverterService`) → Coordinates the conversion workflow based on mode (MERGED, MAP_IDS, or RESOLVE) -3. **Data Access** (`InferenceResultRepository`) → Queries PostGIS database using `PreparedStatementCreator` for PostgreSQL array parameters -4. **Geometry Conversion** (`GeometryConverter`) → Converts PostGIS WKT format to JTS Geometry objects using `WKTReader` -5. **File Writing** (`ShapefileWriter`, `GeoJsonWriter`, `ResultZipWriter`) → Generates output files using GeoTools -6. **GeoServer Integration** (`GeoServerRegistrationService`) → Registers shapefiles to GeoServer via REST API (optional) +The application supports two execution modes with distinct processing pipelines: -### Key Design Points +#### Spring Batch Mode (Recommended) +**Trigger**: `--batch` flag +**Use Case**: Large datasets (100K+ records), production workloads +**Memory**: 150-200MB constant (chunk-based streaming) -**Conversion Modes**: The application supports three execution modes controlled by `converter.mode`: -- `MERGED`: Creates a single shapefile for all data matching `batch-ids` (ignores `map-ids`) -- `MAP_IDS`: Processes only the `map-ids` specified in configuration (requires `map-ids` to be set) -- `RESOLVE`: Queries the database for all distinct `map-ids` matching `batch-ids`, then processes each (avoids OS command-line length limits) -- If `mode` is unspecified: defaults to `MERGED` if `map-ids` is empty, otherwise `MAP_IDS` - -**Geometry Handling**: Two-step conversion process: -- PostGIS returns geometries as WKT (Well-Known Text) via `ST_AsText(geometry)` in SQL query -- `GeometryConverter` parses WKT to JTS `Geometry` objects using `WKTReader` -- `ShapefileWriter` uses JTS geometries with GeoTools to write shapefile artifacts (.shp, .shx, .dbf, .prj) - -**Shapefile Constraints**: -- Validates all geometries are homogeneous (same type) via `ShapefileConverterService.validateGeometries()` -- Shapefiles cannot contain mixed geometry types (e.g., cannot mix Polygon and Point) -- Geometry type determined from first valid geometry in result set - -**Output Structure**: -- For MAP_IDS/RESOLVE mode: `{output-base-dir}/{inference-id}/{map-id}/` -- For MERGED mode: `{output-base-dir}/{inference-id}/merge/` -- Each directory contains: `.shp`, `.shx`, `.dbf`, `.prj`, `.geojson`, and `.zip` files - -**PostgreSQL Array Parameters**: The repository uses `PreparedStatementCreator` to handle PostgreSQL array syntax: -```java -Array batchIdsArray = con.createArrayOf("bigint", batchIds.toArray()); -ps.setArray(1, batchIdsArray); +**Pipeline Flow**: +``` +ConverterCommandLineRunner + → JobLauncher.run(mergedModeJob) + → Step 1: GeometryTypeValidationTasklet (validates geometry homogeneity) + → Step 2: generateShapefileStep (chunk-oriented) + → JdbcCursorItemReader (fetch-size: 1000) + → FeatureConversionProcessor (InferenceResult → SimpleFeature) + → StreamingShapefileWriter (chunk-based append) + → Step 3: generateGeoJsonStep (chunk-oriented, same pattern) + → Step 4: CreateZipTasklet (creates .zip for GeoServer) + → Step 5: GeoServerRegistrationTasklet (conditional, if --geoserver.enabled=true) + → Step 6: generateMapIdFilesStep (partitioned, sequential map_id processing) ``` -This enables `WHERE batch_id = ANY(?)` queries. -**GeoServer Integration**: -- Workspace 'cd' must be pre-created in GeoServer before registration -- Uses environment variables `GEOSERVER_USERNAME` and `GEOSERVER_PASSWORD` for authentication -- Supports automatic deletion and re-registration when `overwrite-existing: true` -- Non-blocking: registration failures are logged but don't stop the application +**Key Components**: +- `JdbcCursorItemReader`: Cursor-based streaming (no full result set loading) +- `StreamingShapefileWriter`: Opens GeoTools transaction, writes chunks incrementally, commits at end +- `GeometryTypeValidationTasklet`: Pre-validates with SQL `DISTINCT ST_GeometryType()`, auto-converts MultiPolygon +- `CompositeItemWriter`: Simultaneously writes shapefile and GeoJSON in map_id worker step + +#### Legacy Mode +**Trigger**: No `--batch` flag (deprecated) +**Use Case**: Small datasets (<10K records) +**Memory**: 1.4-9GB (loads entire result set) + +**Pipeline Flow**: +``` +ConverterCommandLineRunner + → ShapefileConverterService.convertAll() + → InferenceResultRepository.findByBatchIds() (full List) + → validateGeometries() (in-memory validation) + → ShapefileWriter.write() (DefaultFeatureCollection accumulation) + → GeoJsonWriter.write() +``` + +### Key Design Patterns + +**Geometry Type Validation & Auto-Conversion**: +- Pre-validation step runs SQL `SELECT DISTINCT ST_GeometryType(geometry)` to detect mixed types +- Supports automatic conversion: `ST_MultiPolygon` → `ST_Polygon` (extracts first polygon only) +- Fails fast on unsupported mixed types (e.g., Polygon + LineString) +- Validates EPSG:5186 coordinate bounds (X: 125-530km, Y: -600-988km) and ST_IsValid() +- See `GeometryTypeValidationTasklet` (batch/tasklet/GeometryTypeValidationTasklet.java:1-290) + +**WKT to JTS Conversion Pipeline**: +1. PostGIS query returns `ST_AsText(geometry)` as WKT string +2. `GeometryConvertingRowMapper` converts ResultSet row to `InferenceResult` with WKT string (batch/reader/GeometryConvertingRowMapper.java:1-74) +3. `FeatureConversionProcessor` uses `GeometryConverter.parseGeometry()` to convert WKT → JTS Geometry (service/GeometryConverter.java:1-92) +4. `StreamingShapefileWriter` wraps JTS geometry in GeoTools `SimpleFeature` and writes to shapefile + +**Chunk-Based Transaction Management** (Spring Batch only): +```java +// StreamingShapefileWriter +@BeforeStep +public void open() { + transaction = new DefaultTransaction("create"); + featureStore.setTransaction(transaction); // Long-running transaction +} + +@Override +public void write(Chunk chunk) { + ListFeatureCollection collection = new ListFeatureCollection(featureType, chunk.getItems()); + featureStore.addFeatures(collection); // Append chunk to shapefile + // chunk goes out of scope → GC eligible +} + +@AfterStep +public void afterStep() { + transaction.commit(); // Commit all chunks at once + transaction.close(); +} +``` + +**PostgreSQL Array Parameter Handling**: +```java +// InferenceResultItemReaderConfig uses PreparedStatementSetter +ps -> { + Array batchIdsArray = ps.getConnection().createArrayOf("bigint", batchIds.toArray()); + ps.setArray(1, batchIdsArray); // WHERE batch_id = ANY(?) + ps.setString(2, mapId); +} +``` + +**Output Directory Strategy**: +- Batch mode (MERGED): `{output-base-dir}/{inference-id}/merge/` → Single merged shapefile + GeoJSON +- Batch mode (map_id partitioning): `{output-base-dir}/{inference-id}/{map-id}/` → Per-map_id files +- Legacy mode: `{output-base-dir}/{inference-id}/{map-id}/` (no merge folder) + +**GeoServer Registration**: +- Only shapefile ZIP is uploaded (GeoJSON not registered) +- Requires pre-created workspace 'cd' and environment variables for auth +- Conditional execution via JobParameter `geoserver.enabled` +- Non-blocking: failures logged but don't stop batch job ## Configuration -Configuration files are located in `src/main/resources/`: -- `application.yml`: Base configuration (sets active profile) -- `application-prod.yml`: Production database and converter settings -- `application-dev.yml`: Development settings -- `application-local.yml`: Local development settings +### Profile System +- Default profile: `prod` (set in application.yml) +- Configuration hierarchy: `application.yml` → `application-{profile}.yml` +- Override via: `--spring.profiles.active=dev` -### Converter Configuration +### Key Configuration Properties + +**Converter Settings** (`ConverterProperties.java`): ```yaml converter: - inference-id: 'D5E46F60FC40B1A8BE0CD1F3547AA6' - map-ids: [] # Optional: list of map_ids, or empty for merged mode - batch-ids: [252, 253, 257] # Required: batch ID filter - mode: 'MERGED' # Optional: MERGED, MAP_IDS, or RESOLVE + inference-id: 'D5E46F60FC40B1A8BE0CD1F3547AA6' # Output folder name + batch-ids: [252, 253, 257] # PostgreSQL batch_id filter (required) + map-ids: [] # Legacy mode only (ignored in batch mode) + mode: 'MERGED' # Legacy mode only: MERGED, MAP_IDS, or RESOLVE output-base-dir: '/data/model_output/export/' - crs: 'EPSG:5186' # Korean 2000 / Central Belt CRS + crs: 'EPSG:5186' # Korean 2000 / Central Belt + + batch: + chunk-size: 1000 # Records per chunk (affects memory usage) + fetch-size: 1000 # JDBC cursor fetch size + skip-limit: 100 # Max skippable records per chunk + enable-partitioning: false # Future: parallel map_id processing ``` -### GeoServer Configuration +**GeoServer Settings** (`GeoServerProperties.java`): ```yaml geoserver: base-url: 'https://kamco.geo-dev.gs.dabeeo.com/geoserver' - workspace: 'cd' - overwrite-existing: true - connection-timeout: 30000 - read-timeout: 60000 - username: 'admin' # Optional: prefer environment variables - password: 'geoserver' # Optional: prefer environment variables + workspace: 'cd' # Must be pre-created in GeoServer + overwrite-existing: true # Delete existing layer before registration + connection-timeout: 30000 # 30 seconds + read-timeout: 60000 # 60 seconds + # Credentials from environment variables (preferred): + # GEOSERVER_USERNAME, GEOSERVER_PASSWORD +``` + +**Spring Batch Metadata**: +```yaml +spring: + batch: + job: + enabled: false # Prevent auto-run on startup + jdbc: + initialize-schema: always # Auto-create BATCH_* tables ``` ## Database Integration -### Query Pattern -All queries filter by `batch_id = ANY(?)` and include `after_c IS NOT NULL AND after_p IS NOT NULL` to ensure data quality. +### Query Strategies -Primary queries: -- `findByMapId(batchIds, mapId)`: Retrieve records for a specific map_id -- `findByBatchIds(batchIds)`: Retrieve all records for batch_ids (merged mode) -- `findMapIdByBatchIds(batchIds)`: Query distinct map_ids for RESOLVE mode +**Spring Batch Mode** (streaming): +```sql +-- InferenceResultItemReaderConfig.java +SELECT uid, map_id, probability, before_year, after_year, + before_c, before_p, after_c, after_p, + ST_AsText(geometry) as geometry_wkt +FROM inference_results_testing +WHERE batch_id = ANY(?) + AND ST_GeometryType(geometry) IN ('ST_Polygon', 'ST_MultiPolygon') + AND ST_SRID(geometry) = 5186 + AND ST_X(ST_Centroid(geometry)) BETWEEN 125000 AND 530000 + AND ST_Y(ST_Centroid(geometry)) BETWEEN -600000 AND 988000 + AND ST_IsValid(geometry) = true +ORDER BY map_id, uid +-- Uses server-side cursor with fetch-size=1000 +``` + +**Legacy Mode** (full load): +```sql +-- InferenceResultRepository.java +SELECT uid, map_id, probability, before_year, after_year, + before_c, before_p, after_c, after_p, + ST_AsText(geometry) as geometry_wkt +FROM inference_results_testing +WHERE batch_id = ANY(?) AND map_id = ? +-- Returns full List in memory +``` + +**Geometry Type Validation**: +```sql +-- GeometryTypeValidationTasklet.java +SELECT DISTINCT ST_GeometryType(geometry) +FROM inference_results_testing +WHERE batch_id = ANY(?) AND geometry IS NOT NULL +-- Pre-validates homogeneous geometry requirement +``` ### Field Mapping -Database columns map to shapefile fields (note: shapefile field names limited to 10 characters): +Database columns map to shapefile fields (10-character limit): -| Database Column | DB Type | Shapefile Field | Shapefile Type | -|-----------------|---------|-----------------|----------------| -| uid | uuid | uid | String | -| map_id | text | map_id | String | -| probability | float8 | chn_dtct_p | String | -| before_year | bigint | cprs_yr | Long | -| after_year | bigint | crtr_yr | Long | -| before_c | text | bf_cls_cd | String | -| before_p | float8 | bf_cls_pro | String | -| after_c | text | af_cls_cd | String | -| after_p | float8 | af_cls_pro | String | -| geometry | geom | the_geom | Polygon | +| Database Column | DB Type | Shapefile Field | Shapefile Type | Notes | +|-----------------|---------|-----------------|----------------|-------| +| uid | uuid | chnDtctId | String | Change detection ID | +| map_id | text | mpqd_no | String | Map quadrant number | +| probability | float8 | chn_dtct_p | Double | Change detection probability | +| before_year | bigint | cprs_yr | Long | Comparison year | +| after_year | bigint | crtr_yr | Long | Criteria year | +| before_c | text | bf_cls_cd | String | Before classification code | +| before_p | float8 | bf_cls_pro | Double | Before classification probability | +| after_c | text | af_cls_cd | String | After classification code | +| after_p | float8 | af_cls_pro | Double | After classification probability | +| geometry | geom | the_geom | Polygon | Geometry in EPSG:5186 | -**Note**: Probability and classification probability fields are stored as Strings in shapefiles (converted via `String.valueOf()`) to preserve precision. +**Field name source**: See `FeatureTypeFactory.java` (batch/util/FeatureTypeFactory.java:1-104) ### Coordinate Reference System -All geometries use **EPSG:5186** (Korean 2000 / Central Belt). The PostGIS geometry column is `geometry(Polygon, 5186)`, and this CRS is encoded in the output shapefile's `.prj` file via GeoTools. +- **CRS**: EPSG:5186 (Korean 2000 / Central Belt) +- **Valid Coordinate Bounds**: X ∈ [125km, 530km], Y ∈ [-600km, 988km] +- **Encoding**: WKT in SQL → JTS Geometry → GeoTools SimpleFeature → `.prj` file +- **Validation**: Automatic in batch mode via `ST_X(ST_Centroid())` range check ## Dependencies -Key libraries: -- **Spring Boot 3.5.7**: Framework (DI, JDBC, web for RestTemplate) -- **GeoTools 30.0**: Shapefile and GeoJSON generation (`gt-shapefile`, `gt-referencing`, `gt-epsg-hsql`, `gt-geojson`) -- **JTS 1.19.0**: Java Topology Suite for geometry representation -- **PostGIS JDBC 2.5.1**: PostgreSQL spatial extension support -- **PostgreSQL JDBC Driver**: Database connectivity -- **HikariCP**: Connection pooling +**Core Framework**: +- Spring Boot 3.5.7 + - `spring-boot-starter`: DI container, logging + - `spring-boot-starter-jdbc`: JDBC template, HikariCP + - `spring-boot-starter-batch`: Spring Batch framework, job repository + - `spring-boot-starter-web`: RestTemplate for GeoServer API calls + - `spring-boot-starter-validation`: @NotBlank annotations -**Important**: `javax.media:jai_core` is globally excluded in `build.gradle` to avoid conflicts with GeoTools. +**Spatial Libraries**: +- GeoTools 30.0 (via OSGeo repository) + - `gt-shapefile`: Shapefile I/O (DataStore, FeatureStore, Transaction) + - `gt-geojson`: GeoJSON encoding/decoding + - `gt-referencing`: CRS transformations + - `gt-epsg-hsql`: EPSG database for CRS lookups +- JTS 1.19.0: Geometry primitives (Polygon, MultiPolygon, GeometryFactory) +- PostGIS JDBC 2.5.1: PostGIS geometry type support + +**Database**: +- PostgreSQL JDBC Driver (latest) +- HikariCP (bundled with Spring Boot) + +**Build Configuration**: +```gradle +// build.gradle +configurations.all { + exclude group: 'javax.media', module: 'jai_core' // Conflicts with GeoTools +} + +bootJar { + archiveFileName = "shp-exporter.jar" // Fixed JAR name +} + +spotless { + java { + googleJavaFormat('1.19.2') // 2-space indentation + } +} +``` + +## Development Patterns + +### Adding a New Step to Spring Batch Job + +When adding steps to `mergedModeJob`, follow this pattern: + +1. **Create Tasklet or ItemWriter** in `batch/tasklet/` or `batch/writer/` +2. **Define Step Bean** in `MergedModeJobConfig.java`: +```java +@Bean +public Step myNewStep(JobRepository jobRepository, + PlatformTransactionManager transactionManager, + MyTasklet tasklet, + BatchExecutionHistoryListener historyListener) { + return new StepBuilder("myNewStep", jobRepository) + .tasklet(tasklet, transactionManager) + .listener(historyListener) // REQUIRED for history tracking + .build(); +} +``` +3. **Add to Job Flow** in `mergedModeJob()`: +```java +.next(myNewStep) +``` +4. **Always include `BatchExecutionHistoryListener`** to track execution metrics + +### Modifying ItemReader Configuration + +ItemReaders are **not thread-safe**. Each step requires its own instance: + +```java +// WRONG: Sharing reader between steps +@Bean +public JdbcCursorItemReader reader() { ... } + +// RIGHT: Separate readers with @StepScope +@Bean +@StepScope // Creates new instance per step +public JdbcCursorItemReader shapefileReader() { ... } + +@Bean +@StepScope +public JdbcCursorItemReader geoJsonReader() { ... } +``` + +See `InferenceResultItemReaderConfig.java` for working examples. + +### Streaming Writers Pattern + +When writing custom streaming writers, follow `StreamingShapefileWriter` pattern: + +```java +@Component +@StepScope +public class MyStreamingWriter implements ItemStreamWriter { + private Transaction transaction; + + @BeforeStep + public void open(ExecutionContext context) { + // Open resources, start transaction + transaction = new DefaultTransaction("create"); + } + + @Override + public void write(Chunk chunk) { + // Write chunk incrementally + // Do NOT accumulate in memory + } + + @AfterStep + public ExitStatus afterStep(StepExecution stepExecution) { + transaction.commit(); // Commit all chunks + transaction.close(); + return ExitStatus.COMPLETED; + } +} +``` + +### JobParameters and StepExecutionContext + +**Pass data between steps** using `StepExecutionContext`: + +```java +// Step 1: Store data +stepExecution.getExecutionContext().putString("geometryType", "ST_Polygon"); + +// Step 2: Retrieve data +@BeforeStep +public void beforeStep(StepExecution stepExecution) { + String geomType = stepExecution.getJobExecution() + .getExecutionContext() + .getString("geometryType"); +} +``` + +**Job-level parameters** from command line: +```java +// ConverterCommandLineRunner.buildJobParameters() +JobParametersBuilder builder = new JobParametersBuilder(); +builder.addString("inferenceId", converterProperties.getInferenceId()); +builder.addLong("timestamp", System.currentTimeMillis()); // Ensures uniqueness +``` + +### Partitioning Pattern (Map ID Processing) + +The `generateMapIdFilesStep` uses partitioning but runs **sequentially** to avoid DB connection pool exhaustion: + +```java +@Bean +public Step generateMapIdFilesStep(...) { + return new StepBuilder("generateMapIdFilesStep", jobRepository) + .partitioner("mapIdWorker", partitioner) + .step(mapIdWorkerStep) + .taskExecutor(new SyncTaskExecutor()) // SEQUENTIAL execution + .build(); +} +``` + +For parallel execution in future (requires connection pool tuning): +```java +.taskExecutor(new SimpleAsyncTaskExecutor()) +.gridSize(4) // 4 concurrent workers +``` + +### GeoServer REST API Integration + +GeoServer operations use `RestTemplate` with custom error handling: + +```java +// GeoServerRegistrationService.java +try { + restTemplate.exchange(url, HttpMethod.PUT, entity, String.class); +} catch (HttpClientErrorException e) { + if (e.getStatusCode() == HttpStatus.NOT_FOUND) { + // Handle workspace not found + } +} +``` + +Always check workspace existence before layer registration. + +### Testing Considerations + +- **Unit tests**: Mock `JdbcTemplate`, `DataSource` for repository tests +- **Integration tests**: Use `@SpringBatchTest` with embedded H2 database +- **GeoTools**: Use `MemoryDataStore` for shapefile writer tests +- **Current state**: Limited test coverage (focus on critical path validation) + +Refer to `claudedocs/SPRING_BATCH_MIGRATION.md` for detailed batch architecture documentation. diff --git a/shp-exporter/README.md b/shp-exporter/README.md index d34cea6..e83ddf3 100755 --- a/shp-exporter/README.md +++ b/shp-exporter/README.md @@ -111,7 +111,7 @@ java -jar build/libs/shp-exporter.jar \ java -jar build/libs/shp-exporter.jar \ --batch \ - --converter.inference-id=test22 \ + --converter.inference-id=test009 \ --converter.batch-ids[0]=111 \ --converter.batch-ids[1]=114 \ --converter.batch-ids[2]=162 \ diff --git a/shp-exporter/src/main/java/com/kamco/makesample/batch/tasklet/GeoServerRegistrationTasklet.java b/shp-exporter/src/main/java/com/kamco/makesample/batch/tasklet/GeoServerRegistrationTasklet.java index 7d14ccf..9b1cdeb 100644 --- a/shp-exporter/src/main/java/com/kamco/makesample/batch/tasklet/GeoServerRegistrationTasklet.java +++ b/shp-exporter/src/main/java/com/kamco/makesample/batch/tasklet/GeoServerRegistrationTasklet.java @@ -1,6 +1,7 @@ package com.kamco.makesample.batch.tasklet; import com.kamco.makesample.service.GeoServerRegistrationService; +import java.io.File; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.batch.core.StepContribution; @@ -16,6 +17,9 @@ import org.springframework.stereotype.Component; * *

기존 GeoServerRegistrationService를 재사용하여 shapefile을 GeoServer에 등록 * + *

자동 선택 로직: - 파일 크기 < 100MB: REST API 업로드 (uploadShapefileZip) - 파일 크기 >= 100MB: 파일 경로 참조 + * (registerShapefileByPath) + * *

Conditional execution: geoserver.enabled=false 이면 skip */ @Component @@ -24,6 +28,8 @@ public class GeoServerRegistrationTasklet implements Tasklet { private static final Logger log = LoggerFactory.getLogger(GeoServerRegistrationTasklet.class); + private static final long FILE_SIZE_THRESHOLD = 100 * 1024 * 1024; // 100MB + private final GeoServerRegistrationService geoServerService; @Value("#{jobParameters['geoserver.enabled'] ?: false}") @@ -62,8 +68,29 @@ public class GeoServerRegistrationTasklet implements Tasklet { throw new IllegalStateException("ZIP file path not available for GeoServer registration"); } - // 기존 GeoServerRegistrationService 재사용 - geoServerService.uploadShapefileZip(zipPath, layerName); + // Check file size to determine registration method + File zipFile = new File(zipPath); + long fileSize = zipFile.length(); + long fileSizeMB = fileSize / 1024 / 1024; + + log.info("ZIP file size: {} bytes ({} MB)", fileSize, fileSizeMB); +// +// if (fileSize < FILE_SIZE_THRESHOLD) { +// // Small file: Use REST API upload +// log.info("Using REST API upload method (file size < 100MB)"); +// geoServerService.uploadShapefileZip(zipPath, layerName); +// } else { +// // Large file: Use file path reference +// log.info( +// "Using file path reference method (file size >= 100MB, {} MB recommended for large" +// + " files)", +// fileSizeMB); +// log.info( +// "GeoServer will read the file from: {} (ensure GeoServer has file system access)", +// zipPath); +// geoServerService.registerShapefileByPath(zipPath, layerName); +// } + geoServerService.registerShapefileByPath(zipPath, layerName); log.info("GeoServer registration completed successfully for layer: {}", layerName); diff --git a/shp-exporter/src/main/java/com/kamco/makesample/cli/ConverterCommandLineRunner.java b/shp-exporter/src/main/java/com/kamco/makesample/cli/ConverterCommandLineRunner.java index 8cfa7b4..4542d78 100755 --- a/shp-exporter/src/main/java/com/kamco/makesample/cli/ConverterCommandLineRunner.java +++ b/shp-exporter/src/main/java/com/kamco/makesample/cli/ConverterCommandLineRunner.java @@ -190,35 +190,56 @@ public class ConverterCommandLineRunner implements CommandLineRunner { return; } - String filePath = firstOption(appArgs, "upload-shp"); - String layerName = firstOption(appArgs, "layer"); + // Check for file path reference method (recommended for large files) + String filePathReference = firstOption(appArgs, "register-by-path"); + boolean usePathReference = filePathReference != null && !filePathReference.isBlank(); - if (filePath == null || filePath.isBlank()) { - log.info("No upload requested. Use --upload-shp option to upload a shapefile."); + // Check for upload method (traditional, file size limited) + String uploadFilePath = firstOption(appArgs, "upload-shp"); + boolean useUpload = uploadFilePath != null && !uploadFilePath.isBlank(); + + if (!usePathReference && !useUpload) { + log.info("No upload or registration requested."); printUsage(); return; } + if (usePathReference && useUpload) { + log.error("Cannot use both --upload-shp and --register-by-path at the same time."); + log.error("Choose one method:"); + log.error(" --upload-shp: Upload file content via REST API (< 100MB)"); + log.error(" --register-by-path: Reference file path (500MB+)"); + System.exit(1); + } + + String filePath = usePathReference ? filePathReference : uploadFilePath; + String layerName = firstOption(appArgs, "layer"); + if (layerName == null || layerName.isBlank()) { String fileName = Paths.get(filePath).getFileName().toString(); layerName = fileName.replaceAll("(?i)\\.(zip|shp)$", ""); // 대소문자도 처리 } log.info("========================================"); - log.info("Shapefile Upload to GeoServer"); + log.info("Shapefile {} to GeoServer", usePathReference ? "Registration" : "Upload"); log.info("========================================"); + log.info("Method: {}", usePathReference ? "File Path Reference" : "REST API Upload"); log.info("Input File: {}", filePath); log.info("Layer Name: {}", layerName); log.info("========================================"); try { - geoServerService.uploadShapefileZip(filePath, layerName); + if (usePathReference) { + geoServerService.registerShapefileByPath(filePath, layerName); + } else { + geoServerService.uploadShapefileZip(filePath, layerName); + } log.info("========================================"); - log.info("Upload completed successfully!"); + log.info("{} completed successfully!", usePathReference ? "Registration" : "Upload"); log.info("========================================"); } catch (Exception e) { log.error("========================================"); - log.error("Upload failed: {}", e.getMessage(), e); + log.error("{} failed: {}", usePathReference ? "Registration" : "Upload", e.getMessage(), e); log.error("========================================"); throw e; } @@ -263,21 +284,44 @@ public class ConverterCommandLineRunner implements CommandLineRunner { System.out.println(); System.out.println("Options:"); System.out.println( - " --upload-shp Upload shapefile to GeoServer (.shp or .zip)"); + " --upload-shp Upload shapefile via REST API (< 100MB)"); System.out.println( - " --layer Specify layer name (optional, defaults to filename)"); - System.out.println(" --help, -h Show this help message"); + " --register-by-path Register shapefile using file path (500MB+)"); + System.out.println( + " --layer Specify layer name (optional, defaults to filename)"); + System.out.println(" --help, -h Show this help message"); + System.out.println(); + System.out.println("GeoServer Registration Methods:"); + System.out.println(); + System.out.println(" 1. REST API Upload (--upload-shp):"); + System.out.println(" - Uploads file content to GeoServer via HTTP"); + System.out.println(" - File size limit: < 100MB (HTTP payload limit)"); + System.out.println(" - Use for small to medium files"); + System.out.println(); + System.out.println(" 2. File Path Reference (--register-by-path):"); + System.out.println(" - GeoServer reads file from its local file system"); + System.out.println(" - No file size limit (supports 500MB ~ 2GB+)"); + System.out.println(" - Requirements:"); + System.out.println(" * GeoServer must have file system access to the path"); + System.out.println(" * Path must be absolute (e.g., /data/model_output/...)"); + System.out.println(" * File must be readable by GeoServer user"); System.out.println(); System.out.println("Examples:"); - System.out.println(" # Upload ZIP file directly"); - System.out.println(" java -jar shp-exporter.jar --upload-shp /path/to/shapefile.zip"); System.out.println(); - System.out.println(" # Upload .shp file (will auto-create ZIP with related files)"); - System.out.println(" java -jar shp-exporter.jar --upload-shp /path/to/shapefile.shp"); + System.out.println(" # Small file (< 100MB): Upload via REST API"); + System.out.println(" java -jar shp-exporter.jar --upload-shp /path/to/small_file.zip"); System.out.println(); - System.out.println(" # Specify custom layer name"); + System.out.println(" # Large file (500MB+): Register by file path"); System.out.println( - " java -jar shp-exporter.jar --upload-shp /path/to/shapefile.shp --layer my_layer"); + " java -jar shp-exporter.jar --register-by-path" + + " /data/model_output/export/inference_id/merge/large_file.zip"); + System.out.println(); + System.out.println(" # With custom layer name"); + System.out.println( + " java -jar shp-exporter.jar --register-by-path /path/to/file.zip --layer my_layer"); + System.out.println(); + System.out.println(" # Auto-create ZIP from .shp file (upload method)"); + System.out.println(" java -jar shp-exporter.jar --upload-shp /path/to/shapefile.shp"); System.out.println(); } } diff --git a/shp-exporter/src/main/java/com/kamco/makesample/service/GeoServerRegistrationService.java b/shp-exporter/src/main/java/com/kamco/makesample/service/GeoServerRegistrationService.java index c39100d..af6b208 100644 --- a/shp-exporter/src/main/java/com/kamco/makesample/service/GeoServerRegistrationService.java +++ b/shp-exporter/src/main/java/com/kamco/makesample/service/GeoServerRegistrationService.java @@ -38,12 +38,21 @@ public class GeoServerRegistrationService { this.properties = properties; } + /** + * Register shapefile to GeoServer by uploading file content (REST API) + * + *

LIMITATION: File size limited by HTTP request size (typically < 100MB) Use + * registerShapefileByPath() for larger files (500MB+) + * + * @param filePath Path to shapefile (.shp or .zip) + * @param layerName GeoServer layer name + */ public void uploadShapefileZip(String filePath, String layerName) { String zipFilePath = filePath; boolean tempZipCreated = false; try { - log.info("Starting shapefile upload to GeoServer"); + log.info("Starting shapefile upload to GeoServer (REST API upload)"); log.info("Input file: {}", filePath); log.info("Layer name: {}", layerName); log.info("Workspace: {}", properties.getWorkspace()); @@ -59,6 +68,18 @@ public class GeoServerRegistrationService { log.info("Temporary ZIP created: {}", zipFilePath); } + // Check file size and warn if too large + Path path = Paths.get(zipFilePath); + long fileSize = Files.size(path); + log.info("ZIP file size: {} bytes ({} MB)", fileSize, fileSize / 1024 / 1024); + + if (fileSize > 100 * 1024 * 1024) { // 100MB + log.warn( + "WARNING: File size ({} MB) may exceed HTTP upload limits. Consider using" + + " registerShapefileByPath() for files > 100MB", + fileSize / 1024 / 1024); + } + // Check if layer exists and handle overwrite if (properties.isOverwriteExisting() && layerExists(layerName)) { log.info("Layer '{}' already exists. Deleting...", layerName); @@ -66,9 +87,7 @@ public class GeoServerRegistrationService { } // Read ZIP file - Path path = Paths.get(zipFilePath); byte[] zipData = Files.readAllBytes(path); - log.info("ZIP file size: {} bytes", zipData.length); // Upload to GeoServer String url = @@ -102,6 +121,24 @@ public class GeoServerRegistrationService { "GeoServer upload failed. Status: {}, Response: {}", e.getStatusCode(), e.getResponseBodyAsString()); + + // Provide helpful message for 413 Payload Too Large + if (e.getStatusCode() == HttpStatus.PAYLOAD_TOO_LARGE) { + log.error(""); + log.error("========================================"); + log.error("ERROR: File size exceeds GeoServer upload limit (HTTP 413)"); + log.error(""); + log.error("Solution: Use file path reference method instead:"); + log.error(" 1. Copy shapefile to GeoServer data directory"); + log.error(" 2. Use registerShapefileByPath() method"); + log.error(""); + log.error("Or increase GeoServer upload limits:"); + log.error(" - Tomcat: maxPostSize in server.xml"); + log.error(" - Nginx: client_max_body_size"); + log.error("========================================"); + log.error(""); + } + throw new RuntimeException("GeoServer upload failed", e); } catch (Exception e) { log.error("Unexpected error during shapefile upload", e); @@ -119,6 +156,118 @@ public class GeoServerRegistrationService { } } + /** + * Register shapefile to GeoServer using file:// URL (for large files 500MB+) + * + *

This method does NOT upload file content. Instead, it tells GeoServer to read the file from + * its local file system. + * + *

Requirements: - GeoServer must have file system access to the shapefile path - The path must + * be absolute and accessible from GeoServer server + * + * @param absoluteFilePath Absolute file path to shapefile (.shp or .zip) on GeoServer server + * @param layerName GeoServer layer name + */ + public void registerShapefileByPath(String absoluteFilePath, String layerName) { + try { + log.info("Starting shapefile registration to GeoServer (file path reference)"); + log.info("Input file path: {}", absoluteFilePath); + log.info("Layer name: {}", layerName); + log.info("Workspace: {}", properties.getWorkspace()); + + // Validate inputs + if (absoluteFilePath == null || absoluteFilePath.trim().isEmpty()) { + throw new IllegalArgumentException("File path cannot be empty"); + } + + if (layerName == null || layerName.trim().isEmpty()) { + throw new IllegalArgumentException("Layer name cannot be empty"); + } + + // Verify file exists + File file = new File(absoluteFilePath); + if (!file.exists()) { + throw new IllegalArgumentException("File does not exist: " + absoluteFilePath); + } + + if (!file.isAbsolute()) { + throw new IllegalArgumentException("File path must be absolute: " + absoluteFilePath); + } + + String lowerPath = absoluteFilePath.toLowerCase(); + if (!lowerPath.endsWith(".zip") && !lowerPath.endsWith(".shp")) { + throw new IllegalArgumentException("File must be a .zip or .shp file: " + absoluteFilePath); + } + + log.info("File size: {} MB", file.length() / 1024 / 1024); + + // Check if layer exists and handle overwrite + if (properties.isOverwriteExisting() && layerExists(layerName)) { + log.info("Layer '{}' already exists. Deleting...", layerName); + deleteLayer(layerName); + } + + // Construct file:// URL + String fileUrl = "file://" + absoluteFilePath; + log.info("Using file URL: {}", fileUrl); + + // GeoServer REST API endpoint + String url = + String.format( + "%s/rest/workspaces/%s/datastores/%s/file.shp?configure=all", + properties.getBaseUrl(), properties.getWorkspace(), layerName); + + HttpHeaders headers = createHeaders(); + headers.setContentType(MediaType.TEXT_PLAIN); + + // Send file:// URL as request body + HttpEntity request = new HttpEntity<>(fileUrl, headers); + + log.info("Registering shapefile to GeoServer: {}", url); + ResponseEntity response = + restTemplate.exchange(url, HttpMethod.PUT, request, String.class); + + if (response.getStatusCode() == HttpStatus.CREATED + || response.getStatusCode() == HttpStatus.OK) { + log.info("Shapefile registered successfully to GeoServer"); + log.info( + "Layer '{}' is now available in workspace '{}'", layerName, properties.getWorkspace()); + log.info("GeoServer will read data from: {}", absoluteFilePath); + } else { + log.warn("Unexpected response status: {}", response.getStatusCode()); + } + + } catch (HttpClientErrorException e) { + log.error( + "GeoServer registration failed. Status: {}, Response: {}", + e.getStatusCode(), + e.getResponseBodyAsString()); + + if (e.getStatusCode() == HttpStatus.INTERNAL_SERVER_ERROR) { + log.error(""); + log.error("========================================"); + log.error("ERROR: GeoServer cannot access the file path"); + log.error(""); + log.error("Possible causes:"); + log.error(" 1. File path is not accessible from GeoServer server"); + log.error(" 2. GeoServer user lacks read permissions"); + log.error(" 3. File path format is incorrect (must be absolute path)"); + log.error(""); + log.error("Solutions:"); + log.error(" 1. Verify GeoServer has file system access to: {}", absoluteFilePath); + log.error(" 2. Check file permissions (chmod 644 or similar)"); + log.error(" 3. Ensure path is absolute and correctly formatted"); + log.error("========================================"); + log.error(""); + } + + throw new RuntimeException("GeoServer registration failed", e); + } catch (Exception e) { + log.error("Unexpected error during shapefile registration", e); + throw new RuntimeException("Shapefile registration failed", e); + } + } + private void validateInputs(String filePath, String layerName) { if (filePath == null || filePath.trim().isEmpty()) { throw new IllegalArgumentException("File path cannot be empty");