{"id":13553205,"url":"https://github.com/jericks/geometrycommands","last_synced_at":"2025-12-17T04:56:57.245Z","repository":{"id":2161540,"uuid":"3107312","full_name":"jericks/geometrycommands","owner":"jericks","description":"Commandline application for manipulating geometry.","archived":false,"fork":false,"pushed_at":"2023-11-18T19:12:43.000Z","size":10495,"stargazers_count":24,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-03T04:34:21.690Z","etag":null,"topics":["cli","geometry","java","jts"],"latest_commit_sha":null,"homepage":"http://jericks.github.io/geometrycommands/index.html","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jericks.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2012-01-05T02:43:22.000Z","updated_at":"2022-04-04T07:19:44.000Z","dependencies_parsed_at":"2024-01-14T15:23:52.011Z","dependency_job_id":"27a570bd-8fa0-4585-997a-028e153a0cd7","html_url":"https://github.com/jericks/geometrycommands","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/jericks/geometrycommands","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jericks%2Fgeometrycommands","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jericks%2Fgeometrycommands/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jericks%2Fgeometrycommands/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jericks%2Fgeometrycommands/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jericks","download_url":"https://codeload.github.com/jericks/geometrycommands/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jericks%2Fgeometrycommands/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":27777438,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-12-17T02:00:08.291Z","response_time":55,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cli","geometry","java","jts"],"created_at":"2024-08-01T12:02:19.621Z","updated_at":"2025-12-17T04:56:57.240Z","avatar_url":"https://github.com/jericks.png","language":"Java","funding_links":[],"categories":["Java","cli"],"sub_categories":[],"readme":".. image:: https://github.com/jericks/geometrycommands/workflows/Maven%20Build/badge.svg\n    :target: https://github.com/jericks/geometrycommands/actions\n\nGeometry command line library.\n==============================\nGeometry commands is a command line library for processing geometry that follows the unix philosophy. Each command does one thing well (buffer, centroid, envelope) by reading in a geometry, processing the geometry, and writing the geometry out as WKT.  Individual commands can be connected with unix pipes.  For more information please visit the `web site \u003chttp://jericks.github.com/geometrycommands/index.html\u003e`_.\n\nLibraries\n---------\nJTS: \n    https://locationtech.github.io/jts/\nProj4j: \n    http://trac.osgeo.org/proj4j/\nArgs4J: \n    http://args4j.kohsuke.org/\n\nExamples:\n---------\nGeometry input with -g argument::\n\n    \u003e\u003e\u003e geom buffer -g \"POINT (10 10)\" -d 2\n\nGeometry input using standard input stream::\n\n    \u003e\u003e\u003e echo \"POINT (10 10)\" | geom buffer -d 20\n\nPiping results of one geometry command to another::\n\n    \u003e\u003e\u003e geom buffer -g \"POINT (10 10)\" -d 2 | geom envelope\n\nDetermine if one geometry contains another::\n\n    \u003e\u003e\u003e echo \"POINT (0 0)\" | geom buffer -d 10 | geom contains -o \"POINT (5 5)\"\n    true\n    \u003e\u003e\u003e echo \"POINT (0 0)\" | geom buffer -d 10 | geom contains -o \"POINT (25 25)\"\n    false\n\nBuffer a point, get coordinates, draw coordinates to image, and open the image::\n\n    \u003e\u003e\u003e echo \"POINT (10 10)\" | geom buffer -d 5 | geom coordinates | geom draw \u0026\u0026 open image.png\n\nList available geometry commands::\n\n    \u003e\u003e\u003e geom list\n    list\n    buffer\n    centroid\n    contains\n    convexHull\n    draw\n    difference\n    envelope\n    intersection\n\nGetting Help\n------------\nEach command contains a --help option::\n\n    \u003e\u003e\u003e geom buffer --help\n    geom buffer: Buffer a geometry by a distance.\n    --help                    : Print help message\n    -c (--endCapStyle) VAL    : The end cap style (round, flat/butt, square)\n    -d (--distance) N         : The buffer distance\n    -g (--geometry) VAL       : The input geometry\n    -q (--quadrantSegments) N : The number of quadrant segments\n    -s (--singleSided)        : The flag for whether the buffer should be single sided\n\nThere is a man page for each subcommand::\n\n    \u003e\u003e\u003e man geom-buffer\n    geom-buffer(1)                                                  geom-buffer(1)\n\n    NAME\n           geom buffer\n\n    DESCRIPTION\n           Buffer a geometry by a distance.\n\n    USAGE\n           geom buffer -g \"POINT (1 1)\" -d 10\n\nFinally, there is a bash completion script which makes using geom with bash much easier.\n\nInstall it in your .bash_profile::\n\n    source /Users/you/geom/shell/geom_bash_comp\n\nBuild\n-----\nGeometry Commands depends on the Java Topology Suite (JTS) and Proj4j and uses Maven as a build tool.::\n    \n    git checkout https://github.com/jericks/geometrycommands.git\n    cd /geometrycommands\n    mvn clean install\n\nBuild Native App\n----------------\nYou can build a native app using Graalvm for MacOS or Linux.  Download `Graalvm \u003chttp://www.graalvm.org/downloads/\u003e`_ and export a GRAALVM_HOME variable::\n\n     export GRAALVM_HOME=/Users/you/Applications/graalvm-ce-21.3.0/Contents/Home\n\nThen you can run::\n\n    ./mvnw clean install -DskipTests -Pnative\n\nThis will create a native geom executable.\n\nPresentations\n-------------\n\n`geometry commands \u003chttp://www.slideshare.net/JaredErickson/geometry-commands\u003e`_\n\nLicense\n-------\nGeometry Commands is open source and licensed under the MIT License.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjericks%2Fgeometrycommands","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjericks%2Fgeometrycommands","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjericks%2Fgeometrycommands/lists"}