## Mapshaper

### Dokumentácia

- https://github.com/mbloch/mapshaper/wiki/Command-Reference#-filter-fields
- Popis funkcií, príklady, vysvetlivky. Príklad:

  ### -info

  Print information about a dataset. Useful for seeing the fields in a layer's attribute data table. Also useful for summarizing the result of a series of commands, or for debugging unexpected output.

  `mapshaper budovy.geojson -info`

  ```
  [info]
  ======================================
  Layer:    budovy
  --------------------------------------
  Type:     polygon
  Records:  1,159
  Bounds:   -599158.550000001,-1161309.33,-597580.77,-1160146.72
  CRS:      [unknown]
  Source:   budovy.geojson

  Attribute data
  ---------------+----------------------
  Field         | First value
  ---------------+----------------------
  bydlení       |     8.9893
  doprava       |     0
  FID_          | 17197
  HPP           |     9
  jiné          |     0
  komerční      |     0
  lehká_vý      |     0
  neznámé_      |     0
  OBJECTID      |  2175
  OBJECTID_1    |  2175
  rekreace      |     0
  Shape__Area   |     8.98931884765625
  Shape__Length |    11.9928645470303
  Shape_Leng    |    11.992864547
  sport         |     0
  technická     |     0
  veřejná       |     0
  víceúče       |     0
  výroba_a      |     0
  výstavnic     |     0
  zahrádky      |     0
  ---------------+----------------------
  ```

# GEOJSON

### Transformovať budovy_32633.shp na geojson, výsledok umiestniť do zložky output

- `mapshaper budovy_32633.shp -o output/budovy_converted.geojson format=geojson`

---

- mapshaper ale hlási chybu:
  - RFC 7946 warning: non-WGS84 GeoJSON output. Tip: use "-proj wgs84" to convert.

---

### Transformovať budovy_32633.shp na geojson v súradnicovom systéme wgs-84, výsledok umiestniť do zložky output

- `mapshaper budovy_32633.shp -proj wgs84 -o output/budovy_converted.geojson format=geojson`

# SVG

### Vypíše všetky dostupné parametre pre príkaz

- mapshaper -h <príkaz> ako napríklad `mapshaper -h o"

### Transformovať budovy.geojson na SVG výsledok umiestniť do zložky output

- `mapshaper budovy.geojson -o output/budovy.svg format=svg`

### + označenie každej trasy id

- Zistenie názvov atribútov `mapshaper budovy.geojson -info`

- `mapshaper budovy.geojson -o output/budovy.svg format=svg id-field=FID_`

### + výber data-\* atribútov, ktoré chceme použiť

- `mapshaper budovy.geojson -each 'STATE_NAME=NAME, delete NAME' -o output/budovy.svg format=svg id-field=FID_ svg-data=Shape__Area`
- Nevyzerá to ale príliš dobre/nepraktický názov data atribútu `data-shape__area=`

### + premenovanie atribútu Shape\_\_Area na area

- `mapshaper budovy.geojson -each 'area = Shape__Area' -o output/budovy.svg format=svg id-field=FID_ svg-data=area`

### Obmedzenia paramateru `svg-data`:

    -Názov atribútu musí dodržovat určitý [formát](https://www.w3.org/TR/REC-xml/#NT-Name):
    - musí začínat malým písmenem
    - zbylé znaky názvu mohou být malá písmena, číslice, podtržítko, spojovník (a některé další znaky)
    - nesmí začínat písmeny `xml`
    - regex pro název: `/^[a-z_][a-z0-9_-]*$/`
    - jako vždy tedy není přípustná diakritika

- `Nevhodný názov je možné upraviť premenovaním viď. príklad vyššie`

### + premenovanie nevhodného názvu atribútu

- `mapshaper budovy.geojson -each "area = Shape__Area, bydleni = bydlení" -o output/budovy.svg format=svg svg-data="bydleni,area"`
- _NOTE_ : svg-data atribúty musia byť ohraničené úvodozovkami "attrs"

### + odfiltrovanie budov s rozlohou menšou ako 1000

- `mapshaper budovy.geojson -each "area = Shape__Area, bydleni = bydlení" -filter "area > 5" -o output/budovy.svg format=svg svg-data="bydleni,area"`

### Štýly?

- parameter `-style`
- mapshaper -h style

## Webové rozhranie

- https://mapshaper.org/
