https://github.com/lsteinmann/csvgeom
Convert Lists of Coordinates to GeoJSON-geometry-Format
https://github.com/lsteinmann/csvgeom
archaeology idai-field
Last synced: 6 months ago
JSON representation
Convert Lists of Coordinates to GeoJSON-geometry-Format
- Host: GitHub
- URL: https://github.com/lsteinmann/csvgeom
- Owner: lsteinmann
- License: mit
- Created: 2022-10-24T07:43:16.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-06-08T12:36:27.000Z (over 2 years ago)
- Last Synced: 2025-04-12T19:58:17.817Z (6 months ago)
- Topics: archaeology, idai-field
- Language: Python
- Homepage:
- Size: 9.37 MB
- Stars: 0
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# csvGeom
Convert Lists of Coordinates to GeoJSON-geometry-Format for iDAI.field / Field DesktopPython script that converts csv-Lists (currently only of the format stated below) to (currently only) Polygons used in [GeoJSON](https://en.wikipedia.org/wiki/GeoJSON)-files. The chosen file will be saved as "*filename*_polygon.txt" in the same place as the original file. The contents of the resulting txt-file can be copied into the "Geometry"-Field of a Resource in [iDAI.field 2 / Field Desktop client](https://github.com/dainst/idai-field) with the type of geometry being "Polygon". This way, exports from total stations can be relatively easy transferred to the database.
## Use this without installing Python
Many colleagues who could maybe use a script like this one do not have python readily installed on their computers. In this case, you can use this script without installing python itself. The *.exe attached to [each release](https://github.com/lsteinmann/csvGeom/releases) works perfectly fine (without installing anything).
## Format of the csv-File
Currently, the format of the csv-File **has** to be exactly: "PtID,East,North,Height" in the first row, and corresponding coordinates in the rows below (see examples). The decimal separator is "**.**". Currently, the height value has to exists or there will be redundand commata and the geometry will not work. Set to 0 if neccessary. For example, the csv-File may look like this:|PtID|East|North|Height|
|----|---:|---:|---:|
|TE33_01|10.000765844571617|53.564714308986836|0|
|TE33_02|10.003275866953757|53.566722326892553|0|
|TE33_03|10.003777871430186|53.571575036831355|0|
| etc. | etc. | ... | ... |
|TE33_16|9.998925161491382|53.562204286604697|0|
|TE33_17|10.000765844571617|53.564714308986836|0|And the resulting txt-file will contain this:
```
[
[
[
10.000765844571617,
53.564714308986836,
0
],
[
10.003275866953757,
53.566722326892553,
0
],
... etc.
]
]
```And the resulting polygon is this:
```geojson
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"id": 1,
"properties": {
"ID": 0
},
"geometry": {
"type": "Polygon",
"coordinates": [
[
[
10.000765844571617,
53.564714308986836,
0
],
[
10.003275866953757,
53.566722326892553,
0
],
[
10.003777871430186,
53.571575036831355,
0
],
[
10.003108532128282,
53.575256402991826,
0
],
[
10.000765844571617,
53.57877043432682,
0
],
[
10.002439192826378,
53.578435764675866,
0
],
[
10.004949215208518,
53.575256402991826,
0
],
[
10.006957233114228,
53.572077041307779,
0
],
[
10.008965251019941,
53.569567018925639,
0
],
[
10.011977277878508,
53.568228340321831,
0
],
[
10.01398529578422,
53.566220322416122,
0
],
[
10.013315956482316,
53.563040960732081,
0
],
[
10.008630581368989,
53.560028933873511,
0
],
[
10.000933179397094,
53.558188250793272,
0
],
[
9.998255822189478,
53.559024924920656,
0
],
[
9.998925161491382,
53.562204286604697,
0
],
[
10.000765844571617,
53.564714308986836,
0
]
]
]
}
}
]
}
```## Context
This script was produced during my work for the [Miletus Excavation](https://www.miletgrabung.uni-hamburg.de/) in the course of the DFG/ANR-funded project ["Life Forms in the Megapolis: Miletus in the Longue Durée"](https://www.kulturwissenschaften.uni-hamburg.de/ka/forschung/lebensformen-megapolis.html).