Skip to main content
Glama

simplify-geometry

Simplify complex geometries using the Douglas-Peucker algorithm, reducing vertices while preserving shape. Specify WKT geometry and tolerance for spatial data optimization.

Instructions

Geometriyi basitleştir (Douglas-Peucker algoritması)

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
geometry_wktYesWKT formatında geometri
preserve_collapsedNoÇöken geometrileri koru
toleranceYesBasitleştirme toleransı

Implementation Reference

  • Handler for the 'simplify-geometry' tool. Parses input using SimplifyGeometrySchema, determines simplify function (ST_Simplify or ST_SimplifyPreserveTopology), executes PostGIS query to simplify geometry, computes metrics like point count and area before/after, and returns detailed JSON response including reduction ratio.
    case "simplify-geometry": { const { geometry_wkt, tolerance, preserve_collapsed } = SimplifyGeometrySchema.parse(args); const simplifyFunc = preserve_collapsed ? "ST_SimplifyPreserveTopology" : "ST_Simplify"; const result = await client.query( ` SELECT ST_AsText(${simplifyFunc}(ST_GeomFromText($1), $2)) as simplified_wkt, ST_AsGeoJSON(${simplifyFunc}(ST_GeomFromText($1), $2)) as simplified_geojson, ST_NumPoints(ST_GeomFromText($1)) as original_points, ST_NumPoints(${simplifyFunc}(ST_GeomFromText($1), $2)) as simplified_points, ST_Area(ST_GeomFromText($1)::geography) as original_area, ST_Area(${simplifyFunc}(ST_GeomFromText($1), $2)::geography) as simplified_area `, [geometry_wkt, tolerance] ); return { content: [ { type: "text", text: JSON.stringify( { input_geometry: geometry_wkt, tolerance: tolerance, preserve_collapsed: preserve_collapsed, simplified_wkt: result.rows[0].simplified_wkt, simplified_geojson: JSON.parse( result.rows[0].simplified_geojson ), original_points: result.rows[0].original_points, simplified_points: result.rows[0].simplified_points, original_area_sqmeters: parseFloat(result.rows[0].original_area) || 0, simplified_area_sqmeters: parseFloat(result.rows[0].simplified_area) || 0, reduction_ratio: result.rows[0].original_points > 0 ? 1 - result.rows[0].simplified_points / result.rows[0].original_points : 0, }, null, 2 ), }, ], }; }
  • Zod input schema for 'simplify-geometry' tool validating geometry_wkt (string), tolerance (number), and optional preserve_collapsed (boolean). Used for parsing arguments in the handler.
    const SimplifyGeometrySchema = z.object({ geometry_wkt: z.string(), tolerance: z.number(), preserve_collapsed: z.boolean().optional().default(false), });
  • server.ts:752-772 (registration)
    Tool registration in ListToolsRequestHandler, defining name, description, and JSON inputSchema matching the Zod schema for client tool listing.
    name: "simplify-geometry", description: "Geometriyi basitleştir (Douglas-Peucker algoritması)", inputSchema: { type: "object", properties: { geometry_wkt: { type: "string", description: "WKT formatında geometri", }, tolerance: { type: "number", description: "Basitleştirme toleransı", }, preserve_collapsed: { type: "boolean", description: "Çöken geometrileri koru", }, }, required: ["geometry_wkt", "tolerance"], }, },

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/receptopalak/postgis-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server