4 <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
5 <title>OpenStreetMap Nominatim</title>
6 <meta name="viewport" content="width=device-width, initial-scale=1">
8 <link rel="icon" type="image/png" href="/assets/images/favicon-194x194.png" sizes="194x194" />
9 <link rel="icon" type="image/png" href="/assets/images/favicon-16x16.png" sizes="16x16" />
11 <link href="assets/css/leaflet.css" rel="stylesheet" />
12 <link href="assets/css/Control.MiniMap.min.css" rel="stylesheet" />
13 <link href="assets/css/bootstrap.min.css" rel="stylesheet" />
14 <link href="assets/css/common.css" rel="stylesheet" />
15 <link href="assets/css/search.css" rel="stylesheet" type="text/css" />
16 <link href="assets/css/details.css" rel="stylesheet" type="text/css" />
20 <div id="error-overlay"></div>
22 <header class="container-fluid">
26 <a href="search.html">
27 <img alt="logo" src="assets/images/osm_logo.120px.png" width="30" height="30"/>
32 <div id="last-updated" class="col-4 text-center">
33 <div id="loading">loading...</div>
34 <div id="api-request">
35 Data from <a href="">API request</a>
36 <span id="api-request-debug">(<a href="">debug output</a>)</span>
38 Data last updated: <span id="data-date"></span>
40 <div class="col-4 text-right">
41 <div class="dropdown">
42 <button class="dropdown-toggle btn btn-sm btn-outline-secondary" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">
45 <div class="dropdown-menu dropdown-menu-right">
46 <a class="dropdown-item" href="https://nominatim.org/release-docs/develop/api/Overview/" target="_blank">API Reference</a>
47 <a class="dropdown-item" href="https://nominatim.org/release-docs/develop/api/Faq/" target="_blank">FAQ</a>
48 <a class="dropdown-item" href="https://help.openstreetmap.org/tags/nominatim/">OpenStreetMap Help</a>
49 <a class="dropdown-item" href="https://github.com/osm-search/Nominatim">Nominatim on Github</a>
50 <a class="dropdown-item" href="https://github.com/osm-search/nominatim-ui">This frontend on Github</a>
51 <div class="dropdown-divider"></div>
52 <a class="dropdown-item" href="#" data-toggle="modal" data-target="#report-modal">Report problem with results</a>
59 <div class="modal fade" id="report-modal">
60 <div class="modal-dialog">
61 <div class="modal-content">
62 <div class="modal-header">
63 <h4 class="modal-title">Report a problem</h4>
64 <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button>
66 <div class="modal-body">
68 Before reporting problems please read the <a target="_blank" href="https://nominatim.org/release-docs/develop/api/Overview/">user documentation</a>
70 <a target="_blank" href="https://nominatim.org/release-docs/develop/api/Faq/">FAQ</a>.
72 If your problem relates to the address of a particular search result please use the 'details' link
73 to check how the address was generated before reporting a problem.
76 Use <a target="_blank" href="https://github.com/osm-search/Nominatim/issues">Nominatim issues on github</a>
80 Please ensure that you include a full description of the problem, including the search
81 query that you used, the problem with the result and, if the problem relates to missing data,
82 the osm type (node, way, relation) and id of the item that is missing.
85 Problems that contain enough detail are likely to get looked at before ones that require
89 <div class="modal-footer">
90 <button type="button" class="btn btn-outline-secondary" data-dismiss="modal">OK</button>
100 <p class="disclaimer">
101 Addresses and postcodes are approximate
103 <p class="copyright">
104 © <a href="https://osm.org/copyright">OpenStreetMap</a> contributors
108 <script src="assets/js/jquery.min.js"></script>
109 <script src="assets/js/bootstrap.bundle.min.js"></script>
110 <script src="assets/js/leaflet.js"></script>
111 <script src="assets/js/Control.MiniMap.min.js"></script>
112 <script src="assets/js/handlebars.min.js"></script>
113 <script src="assets/js/url-search-params.js"></script>
115 <script src="config.js"></script>
116 <script src="handlebar_helpers.js"></script>
118 <script src="assets/js/nominatim-ui.js"></script>
119 <script id="searchpage-template" type="text/x-handlebars-template">
120 {{#*inline "partial_one_result"}}
121 <div class="result" data-position="{{iResNum}}">
122 {{formatMapIcon aResult}}
124 <span class="name">{{aResult.display_name}}</span>
125 <span class="type">({{formatLabel aResult}})</span>
126 <p class="coords">{{aResult.lat}},{{aResult.lon}}</p>
128 <a class="details btn btn-outline-secondary btn-sm"
129 href="details.html?osmtype={{shortOSMType aResult.osm_type}}&osmid={{aResult.osm_id}}">details</a>
133 <div class="top-bar">
134 <ul class="nav nav-tabs">
135 <li class="nav-item">
136 <a class="nav-link {{#unless hStructured}}active{{/unless}}" data-toggle="tab" href="#simple">simple</a>
138 <li class="nav-item">
139 <a class="nav-link {{#if hStructured}}active{{/if}}" data-toggle="tab" href="#structured">structured</a>
141 <div class="search-type-link">
142 <a id="switch-to-reverse" href="/reverse.html">reverse search</a>
145 <div class="tab-content p-2">
146 <div class="tab-pane {{#unless hStructured}}active{{/unless}}" id="simple" role="tabpanel">
147 <form class="form-inline" role="search" accept-charset="UTF-8" action="">
151 class="form-control form-control-sm"
153 value="{{sQuery}}" />
155 <div class="form-group search-button-group">
156 <button type="submit" class="btn btn-primary btn-sm mx-1">Search</button>
157 <input type="hidden" name="viewbox" value="{{sViewBox}}" />
158 <div class="form-check form-check-inline">
159 <input type="checkbox" class="form-check-input"
160 id="use_viewbox" {{#if sViewBox}}checked="checked"{{/if}}>
161 <label class="form-check-label" for="use_viewbox">apply viewbox</label>
166 <div class="tab-pane {{#if hStructured}}active{{/if}}" id="structured" role="tabpanel">
167 <form class="form-inline" role="search" accept-charset="UTF-8" action="">
168 <input name="street" type="text" class="form-control form-control-sm mr-1"
169 placeholder="House number/Street"
170 value="{{hStructured.street}}" />
171 <input name="city" type="text" class="form-control form-control-sm mr-1"
173 value="{{hStructured.city}}" />
174 <input id="county" name="county" type="text" class="form-control form-control-sm mr-1"
176 value="{{hStructured.county}}" />
177 <input name="state" type="text" class="form-control form-control-sm mr-1"
179 value="{{hStructured.state}}" />
180 <input name="country" type="text" class="form-control form-control-sm mr-1"
181 placeholder="Country"
182 value="{{hStructured.country}}" />
183 <input name="postalcode" type="text" class="form-control form-control-sm mr-1"
184 placeholder="Postal Code"
185 value="{{hStructured.postalcode}}" />
187 <div class="form-group search-button-group">
188 <button type="submit" class="btn btn-primary btn-sm mx-1">Search</button>
189 <input type="hidden" name="viewbox" value="{{sViewBox}}" />
190 <div class="form-check form-check-inline">
191 <input type="checkbox" class="form-check-input"
192 id="use_viewbox" {{#if sViewBox}}checked="checked"{{/if}}>
193 <label class="form-check-label" for="use_viewbox">apply viewbox</label>
198 </div> <!-- /tab-content -->
199 </div> <!-- /top-bar -->
204 <div id="searchresults" class="sidebar">
205 {{#each aSearchResults as |aResult|}}
206 {{>partial_one_result iResNum=@index aResult=aResult env=env}}
209 {{#if aSearchResults}}
212 <a class="btn btn-primary" href="{{sMoreURL}}">
213 Search for more results
218 <div class="noresults">No search results found</div>
224 <div id="intro" class="sidebar">
225 <h2>Welcome to Nominatim</h2>
228 Nominatim is a search engine for
229 <a href="https://www.openstreetmap.org">OpenStreetMap</a> data. This
230 is the debugging interface. You may search for a name or address
231 (forward search) or look up data by its geographic coordinate (reverse
232 search). Each result comes with a link to a details page where you
233 can inspect what data about the object is saved in the database and
234 investigate how the address of the object has been computed.
237 For more information visit the
238 <a href="https://nominatim.org">Nominatim home page</a>.
243 <div id="map-wrapper">
244 <div id="map-position">
245 <div id="map-position-inner"></div>
246 <div id="map-position-close"><a href="#">hide</a></div>
252 <script id="reversepage-template" type="text/x-handlebars-template">
254 {{#*inline "partial_one_result"}}
255 <div class="result" data-position="{{iResNum}}">
256 {{formatMapIcon aResult}}
258 <span class="name">{{aResult.display_name}}</span>
259 <span class="type">{{formatLabel aResult}}</span>
260 <p class="coords">{{aResult.lat}},{{aResult.lon}}</p>
262 <a class="details btn btn-outline-secondary btn-sm"
263 href="details.html?osmtype={{shortOSMType aResult.osm_type}}&osmid={{aResult.osm_id}}">details</a>
267 <div class="top-bar">
268 <form class="form-inline" role="search" accept-charset="UTF-8" action="">
269 <div class="form-group">
270 <input name="format" type="hidden" value="html">
274 class="form-control form-control-sm"
275 placeholder="latitude"
277 <a id="switch-coords" class="btn btn-outline-secondary btn-sm" title="switch lat and lon"><></a>
281 class="form-control form-control-sm"
282 placeholder="longitude"
284 <label>max zoom</label>
285 <select name="zoom" class="form-control form-control-sm" value="{{iZoom}}">
288 <button type="submit" class="btn btn-primary btn-sm mx-1">
292 <div class="search-type-link">
293 <a href="search.html">forward search</a>
300 <div id="searchresults" class="sidebar">
301 {{>partial_one_result iResNum=0 aResult=aPlace env=env}}
304 <div id="intro" class="sidebar">
305 Search for coordinates or click anywhere on the map.
309 <div id="map-wrapper">
310 <div id="map-position">
311 <div id="map-position-inner"></div>
312 <div id="map-position-close"><a href="#">hide</a></div>
318 <script id="detailspage-template" type="text/x-handlebars-template">
320 {{#*inline "partial_details_one_row"}}
321 <tr class="{{#unless this.isaddress}}notused{{/unless}}">
323 {{#if this.localname}}
326 <span class="noname">No Name</span>
329 <td>{{formatPlaceType this}}</td>
330 <td>{{osmLink this}}</td>
331 <td>{{this.rank_address}}</td>
332 <td>{{formatAdminLevel this.admin_level}}</td>
333 <td>{{formatDistance this.distance bDistanceInMeters}}</td>
334 <td>{{detailsPermaLink this 'details >'}}</td>
338 {{#*inline "partial_details_keyword_one_row"}}
340 <td>{{formatKeywordToken this.token}}</td>
342 <td>word id: {{this.id}}</td>
348 {{#*inline "partial_h2"}}
349 <tr class="all-columns"><td colspan="6"><h2>{{this}}</h2></td></tr>
352 {{#*inline "partial_h3"}}
353 <tr class="all-columns"><td colspan="6"><h3>{{this}}</h3></td></tr>
356 <div class="container">
358 <div class="col-sm-10">
361 <small>{{detailsPermaLink aPlace 'link to this page'}}</small>
364 <div class="col-sm-2 text-right">
365 {{formatMapIcon aPlace}}
369 <div class="col-md-6">
370 <table id="locationdetails" class="table table-striped">
374 {{#each aPlace.names}}
376 <span class="name">{{this}}</span> ({{@key}})
383 <td>{{aPlace.category}}:{{aPlace.type}}</td>
386 <td>Last Updated</td>
387 <td>{{aPlace.indexed_date}}</td>
391 <td>{{aPlace.admin_level}}</td>
395 <td>{{formatSearchRank aPlace.rank_search}}</td>
397 {{#if aPlace.calculated_importance}}
401 {{aPlace.calculated_importance}}
402 {{#unless aPlace.importance}} (estimated){{/unless}}
408 <td>{{coverageType aPlace}}</td>
411 <td>Centre Point (lat,lon)</td>
413 {{aPlace.centroid.coordinates.[1]}},{{aPlace.centroid.coordinates.[0]}}
418 <td>{{osmLink aPlace}}
423 (<a href="https://nominatim.org/release-docs/develop/api/Output/#place_id-is-not-a-persistent-id">on this server</a>)
425 <td>{{aPlace.place_id}}</td>
427 {{#if aPlace.calculated_wikipedia}}
429 <td>Wikipedia Calculated</td>
430 <td>{{wikipediaLink aPlace}}</td>
434 <td>Computed Postcode</td>
435 <td>{{aPlace.calculated_postcode}}</td>
438 <td>Address Tags</td>
440 {{#each aPlace.addresstags}}
442 <span class="name">{{this}}</span> ({{@key}})
450 {{#each aPlace.extratags}}
452 <span class="name">{{this}}</span> ({{@key}})
459 <div class="col-md-6">
464 <div class="col-md-12">
466 <table id="address" class="table table-striped table-small">
472 <th>Address rank</th>
479 {{#if aPlace.address}}
480 {{#each aPlace.address}}
481 {{> partial_details_one_row bDistanceInMeters=false}}
485 {{#if aPlace.linked_places}}
486 {{> partial_h2 'Linked Places'}}
487 {{#each aPlace.linked_places}}
488 {{> partial_details_one_row bDistanceInMeters=true}}
492 {{#if aPlace.keywords}}
493 {{> partial_h2 'Name Keywords'}}
494 {{#each aPlace.keywords.name}}
495 {{> partial_details_keyword_one_row}}
498 {{> partial_h2 'Address Keywords'}}
499 {{#each aPlace.keywords.address}}
500 {{> partial_details_keyword_one_row}}
504 {{> partial_h2 'Parent Of'}}
505 {{#if aPlace.hierarchy}}
507 {{#each aPlace.hierarchy as |lines type|}}
508 {{> partial_h3 type}}
510 {{> partial_details_one_row bDistanceInMeters=true}}
516 <a class="btn btn-outline-secondary btn-sm"
517 href="{{base_url}}&hierarchy=1">display child places</a>
521 {{tooManyHierarchyLinesWarning aPlace}}
529 <script id="detailspage-index-template" type="text/x-handlebars-template">
530 <div class="container" id="details-index-page">
532 <div class="col-md-12">
534 <h1>Show details for place</h1>
536 <div class="search-form">
537 <h4>Search by place id</h4>
539 <form class="form-inline" action="details.html">
541 class="form-control input-sm"
544 placeholder="12345" />
546 class="btn btn-primary btn-sm"
551 <div class="search-form">
552 <h4>Search by OSM type and OSM id</h4>
554 <form id="form-by-type-and-id"
556 action="details.html">
558 class="form-control input-sm"
559 pattern="^[NWR][0-9]+$"
560 placeholder="N123 or W123 or R123" />
561 <input type="hidden" name="osmtype" />
562 <input type="hidden" name="osmid" />
563 <input type="submit" class="btn btn-primary btn-sm" value="Show" />
567 <div class="search-form">
568 <h4>Search by openstreetmap.org URL</h4>
570 <form id="form-by-osm-url"
572 action="details.html">
574 class="form-control input-sm"
575 pattern=".*openstreetmap.*"
576 placeholder="https://www.openstreetmap.org/relation/123" />
577 <input type="hidden" name="osmtype" />
578 <input type="hidden" name="osmid" />
579 <input type="submit" class="btn btn-primary btn-sm" value="Show" />
586 <script id="deletable-template" type="text/x-handlebars-template">
587 <div class="container">
589 <div class="col-sm-12">
593 {{aPolygons.length}} objects have been deleted in OSM but are still in the Nominatim database.
596 <table class="table table-striped table-hover">
599 <th>Country Code</th>
609 <td>{{detailsLink this place_id}}</td>
610 <td>{{country_code}}</td>
612 <td>{{osmLink this}}</td>
613 <td>{{osm_type}}</td>
627 <script id="polygons-template" type="text/x-handlebars-template">
628 <div class="container">
630 <div class="col-sm-12">
631 <h1>Broken polygons</h1>
634 Total number of broken polygons: {{aPolygons.length}}.
637 <table class="table table-striped table-hover">
644 <th>Country Code</th>
645 <th>Error message</th>
652 <td>{{osm_type}}</td>
653 <td>{{osmLink this}}</td>
657 <td>{{country_code}}</td>
658 <td>{{errormessage}}</td>
661 <a href="http://localhost:8111/import?url=https://www.openstreetmap.org/api/0.6/{{formatOSMType osm_type}}/{{osm_id}}/full" target="josm">josm</a>