---
# System prepended metadata

title: GEOS-WASMのPR確認など
tags: [QGIS, OSGeo]

---

# GEOS-WASMのPR確認など

###### tags: `OSGeo` `JavaScript` `GEOS-WASM`

## リポジトリ

GEOS-WASM: https://github.com/chrispahm/geos-wasm

## 作業環境

* OS: macOS arm64 (M1 MacBook Pro)
* Homebrew
* VSCode

## 作業メモ

### NearestPointsの引数・戻り値型の修正

Issue: https://github.com/chrispahm/geos-wasm/issues/25
PR: https://github.com/chrispahm/geos-wasm/pull/28

Testが書けてなかったので、以下のGEOS側のCPPのテストコードをJavaScriptに移植。
https://github.com/libgeos/geos/blob/3.12.0/tests/unit/capi/GEOSNearestPointsTest.cpp

コミットメッセージ中の絵文字は以下などを参照
https://gist.github.com/parmentf/035de27d6ed1dce0b36a

### Polygonize亜型の引数・戻り地型の修正

Issue: https://github.com/chrispahm/geos-wasm/issues/24
PR: https://github.com/chrispahm/geos-wasm/pull/29

Testが書けてなかったので、以下のGEOS側のCPPのテストコードをJavaScriptに移植したいが、 @chrispahmさんが既に同名のファイルを作っているため、コードを追加する方向で検討
https://github.com/libgeos/geos/blob/3.12.0/tests/unit/capi/GEOSPolygonizeTest.cpp

最後の `Polygonize_full` を除いたところまでは完了。
`Polygonize_full` はダブルポインタに相当するかは確認が必要。(以下は書きかけ中のもの)
=> 終了時間を過ぎて18:30頃に対応完了

### GEOS3.11以降で不足しているAPIのチェック

Issue: https://github.com/chrispahm/geos-wasm/issues/23
PR: https://github.com/chrispahm/geos-wasm/pull/27

上記2件より、テストを書いているとそれなりに時間がかかりそうなので、後ほど、目視チェックのみで対応予定。
=> いくつか修正点があったので、以下のコメントで報告済み。
https://github.com/chrispahm/geos-wasm/pull/27#issuecomment-2118862420


### その他ローカルデバッグ設定

VSCodeのデバッグ定義にTapeテスト(2つ目)を追加

```json
{
  // Use IntelliSense to learn about possible attributes.
  // Hover to view descriptions of existing attributes.
  // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
  "version": "0.2.0",
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Launch Program",
      "skipFiles": [
        "<node_internals>/**"
      ],
      "program": "${workspaceFolder}/docs/generate-md-from-jsdoc.mjs",
      "cwd": "${workspaceFolder}/docs"
    },
    {
      "type": "node",
      "request": "launch",
      "name": "Tape test",
      "program": "${workspaceFolder}/node_modules/tape/bin/tape",
      "args": [
        "test/tests/GEOSNearestPoints.spec.mjs",
      ],
      "cwd": "${workspaceFolder}"
    }
  ]
}
```