Skip to content

POLAR@3: Add nominatim support#606

Open
oeninghe-dataport wants to merge 11 commits into
nextfrom
vue3/add-nominatim-support
Open

POLAR@3: Add nominatim support#606
oeninghe-dataport wants to merge 11 commits into
nextfrom
vue3/add-nominatim-support

Conversation

@oeninghe-dataport

Copy link
Copy Markdown
Collaborator

Summary

Add support for nominatim in addressSearch and reverseGeocoder

Instructions for local reproduction and review

Snowbox-integrated

@oeninghe-dataport oeninghe-dataport added this to the POLAR@3 milestone Mar 23, 2026
@oeninghe-dataport oeninghe-dataport self-assigned this Mar 23, 2026
@oeninghe-dataport oeninghe-dataport added the enhancement New feature or request label Mar 23, 2026
@oeninghe-dataport oeninghe-dataport force-pushed the vue3/add-nominatim-support branch from 52c8b35 to 4304863 Compare March 23, 2026 16:24
@oeninghe-dataport oeninghe-dataport changed the title Vue3/add nominatim support POLAR@3: Add nominatim support Mar 23, 2026
@github-actions

github-actions Bot commented Mar 23, 2026

Copy link
Copy Markdown
PR Preview Action v1.8.1

QR code for preview link

🚀 View preview at
https://Dataport.github.io/polar/pr-preview/pr-606/

Built to branch gh-pages at 2026-06-17 18:30 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@dopenguin dopenguin force-pushed the vue3/add-nominatim-support branch from 4304863 to 599e195 Compare March 30, 2026 10:54
@dopenguin dopenguin force-pushed the vue3/add-nominatim-support branch from 599e195 to 9757271 Compare April 7, 2026 09:29
@dopenguin

Copy link
Copy Markdown
Member

@oeninghe-dataport Please update the PR. Will review afterwards

dopenguin added a commit that referenced this pull request May 12, 2026
Some changes need to be evaluated after the merges of #447, #542 and #606 as they differ from those
PRs and are just added here for type and linting fixes.

# Conflicts:
#	.gitignore
#	examples/github-io/components/HeroPolarMap.vue
#	examples/snowbox/YetAnotherEmptyComponent.vue
#	examples/snowbox/index.js
#	src/core/components/PolarMap.ce.vue
#	src/core/types/plugin.ts
#	src/plugins/reverseGeocoder/store.ts
#	src/plugins/reverseGeocoder/utils/reverseGeocodeWps.ts
#	vue2/packages/plugins/Gfi/CHANGELOG.md
#	vue2/packages/plugins/Gfi/package.json
@oeninghe-dataport

Copy link
Copy Markdown
Collaborator Author

🏓 @dopenguin Updated

@oeninghe-dataport Please update the PR. Will review afterwards

@dopenguin dopenguin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we further specify the search so the results are relevant for the client? The default seems ... not helpful :D

Image

🏓 @oeninghe-dataport

Comment thread examples/snowbox/index.js Outdated
export async function reverseGeocodeWps(
url: string,
coordinate: [number, number],
_epsg: string,

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this is done because the code in src/plugins/reverseGeocoder/store.ts is shorter this way, but I strongly prefer not adding a redundant parameter here.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the information would actually be quite relevant here (though it's unused yet, which has to change).
IIRC, our WPS geocoding only works if the global EPSG and the WPS's EPSG match. We should transform the coordinates here from global EPSG to a configurable WPS-EPSG.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If it is important, that the maps projection matches the WPS's projection, then please add a separate PR that addresses this issue.

Comment thread src/lib/getFeatures/types.ts
Comment thread src/lib/getFeatures/types.ts Outdated
Comment thread src/lib/getFeatures/types.ts Outdated
Comment thread src/plugins/reverseGeocoder/utils/reverseGeocodeNominatim.ts
Comment thread src/lib/getFeatures/nominatim.ts Outdated
Comment thread src/lib/getFeatures/nominatim.ts Outdated
Comment thread src/lib/getFeatures/nominatim.ts Outdated
Comment thread src/lib/getFeatures/nominatim.ts Outdated
@oeninghe-dataport

Copy link
Copy Markdown
Collaborator Author

Can we further specify the search so the results are relevant for the client? The default seems ... not helpful :D

Image 🏓 @oeninghe-dataport

It should be noted that the POLAR nominatim service is currently (due to server constraints) limited to geocoding in Lower Saxony.

@oeninghe-dataport

Copy link
Copy Markdown
Collaborator Author

🏓 @dopenguin

@dopenguin dopenguin left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we further specify the search so the results are relevant for the client? The default seems ... not helpful :D
Image
🏓 @oeninghe-dataport

It should be noted that the POLAR nominatim service is currently (due to server constraints) limited to geocoding in Lower Saxony.

Is it possible to update the POLAR nominatim service to include Hamburg as the snowbox typically uses a lot of Hamburg specific services?

🏓 @oeninghe-dataport

Comment thread src/lib/transformGeometry.ts Outdated

import type { PolarGeoJsonFeature, PolarGeoJsonFeatureCollection } from '@/core'

import { transformGeometry } from '@/lib/transformGeometry'

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will this be the correct import, if #750 is merged or will there be a relative path? Especially as a relative path is used in src/lib/getFeatures/bkg.ts.

In this scenario, I prefer the way it is written in this file.

Comment on lines +61 to +65
geometry: transformGeometry(
feature.geometry,
'EPSG:4326',
queryParameters.epsg
),

@dopenguin dopenguin Jun 4, 2026

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

transformCoordinates includes the information

If there is no available transform between the two projection, the function will throw an error.

So a call with the same projection does not yield an error, correct?

@oeninghe-dataport oeninghe-dataport requested a review from a team June 17, 2026 18:28
@dopenguin dopenguin mentioned this pull request Jun 22, 2026
7 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants