<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="http://blog.rerum.io/feed.xml" rel="self" type="application/atom+xml" /><link href="http://blog.rerum.io/" rel="alternate" type="text/html" /><updated>2026-07-13T16:59:40+00:00</updated><id>http://blog.rerum.io/feed.xml</id><title type="html">Research Computing Group</title><subtitle>Digital scholarship, tools, and environments to accelerate humans toward the most interesting moments.</subtitle><entry><title type="html">Using the RERUM Adapter for Mirador</title><link href="http://blog.rerum.io/mirador-rerum-adapter/" rel="alternate" type="text/html" title="Using the RERUM Adapter for Mirador" /><published>2024-10-01T00:00:00+00:00</published><updated>2024-10-01T00:00:00+00:00</updated><id>http://blog.rerum.io/mirador-rerum-adapter</id><content type="html" xml:base="http://blog.rerum.io/mirador-rerum-adapter/"><![CDATA[<p>The Digital Scholarship development team for the Research Computing Group at Saint Louis University is pleased 
to offer a new tool for integrating the RERUM annotation service with the Mirador viewer. The 
<a href="##Adapter PR">RERUM Adapter for Mirador</a> is a small plugin that allows users of the Mirador Annotation tool 
to save their annotations to the RERUM annotation service. This allows for the annotations to be shared across 
other tools and platforms that use the RERUM service or understand standard Linked Open Data.</p>

<p><img src="/assets/images/mirador-annotations.png" alt="Looks the same to me" /></p>

<p>The <a href="https://github.com/ProjectMirador/mirador-annotations">Mirador Annotations</a> plugin allows users to create 
and edit annotations on images and other media. The <a href="https://github.com/ProjectMirador/mirador-annotations/blob/master/src/RerumAdapter.js">RERUM Adapter</a> for Mirador extends this functionality by providing a way to save these annotations to 
the RERUM annotation service. Depending on your project, the Adapter can be adjusted to specific needs.</p>

<h2 id="sandbox">Sandbox</h2>

<p>By default, loading the Adapter as configured connects to the RERUM sandbox service. This is a public service 
that does not promise data integrity or persistence but is reliable over short periods for experimentation. 
This is very useful for testing and development and available without any setup or additional resources.</p>

<h2 id="tinythings">TinyThings</h2>

<p>The Adapter uses the tinydev.rerum.io sandbox, but there is also available a tiny.rerum.io service that instead 
connects to the production server. This small change to the <code class="language-plaintext highlighter-rouge">endpointUrl</code> in the code will allow you to save 
annotations in a more permanent location. This can be done directly in the constructor:</p>

<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">constructor</span><span class="p">(</span><span class="nx">canvasId</span><span class="p">,</span> <span class="dl">'</span><span class="s1">https://tiny.rerum.io</span><span class="dl">'</span><span class="p">,</span> <span class="dl">'</span><span class="s1">https://store.rerum.io/v1/id/agent</span><span class="dl">'</span><span class="p">)</span>
</code></pre></div></div>

<p>As you can see, the change can also be made by simply using the TinyThings URL in the annotation configuration. 
<a href="https://github.com/ProjectMirador/mirador-annotations/blob/d6f9fca867a1e9795a6b5ffa5468e286d18ab15d/demo/src/index.js#L8-L22">This short code block</a> shows how to set up the Adapter with the TinyThings service:</p>

<div class="language-javascript highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">const</span> <span class="nx">config</span> <span class="o">=</span> <span class="p">{</span>
  <span class="na">annotation</span><span class="p">:</span> <span class="p">{</span>
    <span class="na">adapter</span><span class="p">:</span> <span class="p">(</span><span class="nx">canvasId</span><span class="p">)</span> <span class="o">=&gt;</span> <span class="k">new</span> <span class="nx">RerumAdapter</span><span class="p">(</span><span class="nx">canvasId</span><span class="p">,</span><span class="dl">'</span><span class="s1">https://tiny.rerum.io</span><span class="dl">'</span><span class="p">,</span> <span class="dl">'</span><span class="s1">https://store.rerum.io/v1/id/agent</span><span class="dl">'</span><span class="p">),</span>
    <span class="na">exportLocalStorageAnnotations</span><span class="p">:</span> <span class="kc">false</span><span class="p">,</span> <span class="c1">// display annotation JSON export button</span>
  <span class="p">},</span>
  <span class="na">id</span><span class="p">:</span> <span class="dl">'</span><span class="s1">demo</span><span class="dl">'</span><span class="p">,</span>
  <span class="na">window</span><span class="p">:</span> <span class="p">{</span>
    <span class="na">defaultSideBarPanel</span><span class="p">:</span> <span class="dl">'</span><span class="s1">annotations</span><span class="dl">'</span><span class="p">,</span>
    <span class="na">sideBarOpenByDefault</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span>
  <span class="p">},</span>
  <span class="na">windows</span><span class="p">:</span> <span class="p">[{</span>
    <span class="na">loadedManifest</span><span class="p">:</span> <span class="dl">'</span><span class="s1">https://iiif.harvardartmuseums.org/manifests/object/299843</span><span class="dl">'</span><span class="p">,</span>
  <span class="p">}],</span>
<span class="p">};</span>
</code></pre></div></div>

<p>Similar to the sandbox, the TinyThings service is available without any setup or additional resources. However, 
there are a few caveats to be aware of.</p>

<ol>
  <li>TinyThings is production data and Linked Open Data. Polluting it with test data or bad data is poor web citizenship.</li>
  <li>The metadata for the annotations is controlled by the TinyThings service, so your project will not have any reserved control or explicit authentication.</li>
  <li>The result of this solution is expected to be transitional and is probably not suitable for long-term projects.</li>
</ol>

<h2 id="mythings">MyThings</h2>

<p>TinyThings is designed to be forked. The <a href="https://github.com/CenterForDigitalHumanities/TinyNode">GitHub repository</a> can be 
cloned and run with your own API key (<a href="https://store.rerum.io/">register here</a>) so that your project owns the data. 
To implement your solution, simply replace the <code class="language-plaintext highlighter-rouge">endpointUrl</code> in the Adapter constructor with your own URL as in the 
TinyThings example above. In fact, it is possible to spin up your own instance of the RERUM service as well and still 
use the Adapter with the same configuration without exposing any of your data in an uncontrolled space.</p>

<blockquote>
  <h2 id="notes-on-the-adapter">Notes on the Adapter</h2>

  <p>There is an <a href="https://github.com/CenterForDigitalHumanities/TinyNode/issues/90">outstanding issue</a> that will add a lot of 
flexibility to the Adapter. The Bearer token passthrough will allow for the use of the API key with TinyThings. The 
provided Authorization header will replace the default header that identifies the TinyThings service and so connects 
the production data to your project. This introduces a lot of concerns about security of tokens, but simplifies the 
resources needed, if solvable.</p>

  <p>The <code class="language-plaintext highlighter-rouge">creator</code> field is added to all annotations as a common field within RERUM and other Web Annotations, but has a 
default value set. For any of the above solutions, you can set the <code class="language-plaintext highlighter-rouge">creator</code> field to a value that identifies your 
project or user. Because this is set on initialization, it cannot support multiple users or projects in the same 
instance.</p>
</blockquote>]]></content><author><name>Patrick Cuba</name></author><category term="development" /><category term="rerum" /><category term="mirador" /><summary type="html"><![CDATA[A new plugin that integrates RERUM annotation service with Mirador viewer, enabling users to save and share annotations as standard Linked Open Data across multiple platforms.]]></summary></entry><entry><title type="html">Major Upgrade for TPEN</title><link href="http://blog.rerum.io/tpen-3-announcement/" rel="alternate" type="text/html" title="Major Upgrade for TPEN" /><published>2024-01-09T00:00:00+00:00</published><updated>2024-01-09T00:00:00+00:00</updated><id>http://blog.rerum.io/tpen-3-announcement</id><content type="html" xml:base="http://blog.rerum.io/tpen-3-announcement/"><![CDATA[<p>We are humbled to announce that our TPEN project has been awarded a Digital Humanities Advancement Grant 
through the National Endowment for the Humanities (<a href="https://www.slu.edu/news/2024/january/neh-grant-tpen.php">press release</a>). Work has already begun and you can expect a more active thread of posts about it over the next couple years.</p>

<p><img src="https://github.com/CenterForDigitalHumanities/blog/assets/1119165/174f0db0-a677-4fad-aa48-f3584f583f4a" alt="Free of artificial flavors" /></p>

<p>The original <a href="https://t-pen.org">t-pen.org</a> platform will persist, but upon launch the thousands 
of projects currently hosted will be given an upgrade path. The new platform will use the public RERUM service (<a href="https://rerum.io">rerum.io</a>) to store all public transcription data as truly Linked Open Usable Data and provide many more interfaces for coordinating teams, building projects, and annotating pages.</p>

<p>There will be much more information to come. For now, I want to express my sincere gratitude to the TPEN alumni who contributed so much to the code, case testing, and marketing. I reassure the many partners that have integrated TPEN into their own projects and workflows that nothing is breaking and this move forward is designed to lift all ships. I hope to plant an eagerness in the thousands of users who have captured human knowledge and culture on the platform over the last decade as we integrate all their feedback and imaginings. Finally, I acknowledge that this funding award, from the taxpayers of the United States, has accelerated our move to 3.0 significantly. While Saint Louis University would never let such an impactful and beloved platform expire early as so many digital projects tend to do, shifting out of maintenance mode and spying new horizons is exhilarating.</p>]]></content><author><name>Patrick Cuba</name></author><category term="development" /><category term="transcription" /><category term="rerum" /><category term="tpen-3-0" /><category term="transcription" /><category term="rerum" /><summary type="html"><![CDATA[TPEN receives NEH Digital Humanities Advancement Grant for major platform upgrade, moving to RERUM-powered infrastructure while preserving thousands of existing transcription projects.]]></summary></entry><entry><title type="html">Dynamic Collections Through Annotation</title><link href="http://blog.rerum.io/dynamic-collections-through-annotation/" rel="alternate" type="text/html" title="Dynamic Collections Through Annotation" /><published>2021-06-24T00:00:00+00:00</published><updated>2021-06-24T00:00:00+00:00</updated><id>http://blog.rerum.io/dynamic-collections-through-annotation</id><content type="html" xml:base="http://blog.rerum.io/dynamic-collections-through-annotation/"><![CDATA[<p>Combining remote resources into useful, curated Collections can be difficult. IIIF describes the look of these collections, but they are usually hosted by the same repository as the included items. Ong CDH has implemented two different methods for creating changeable collections that can be used by researchers and programmers alike. Demonstrations will include real resources and public services available to everyone.</p>

<p><a href="https://ongcdh.org/wp-content/uploads/2021/06/Dynamic-Collections.pdf">Dynamic-Collections</a><a href="https://ongcdh.org/wp-content/uploads/2021/06/Dynamic-Collections.pdf">Download</a></p>

<ul>
  <li><a href="http://rerum.io">Rerum</a></li>
  <li>Glossing Matthew</li>
  <li><a href="http://religioninplace.org">Lived Religion in a Digital Age</a></li>
  <li>Fiantinator</li>
  <li><a href="https://www.jesuits.org/our-work/shmr/">Slavery, History, Memory and Reconciliation</a></li>
  <li><a href="http://geo.rerum.io/geolocate/">Geolocator</a></li>
</ul>

<p>presented at the IIIF 2021 conference</p>]]></content><author><name>Patrick Cuba</name></author><category term="posts" /><category term="iiif" /><category term="web-annotation" /><category term="rerum" /><summary type="html"><![CDATA[Learn how to create changeable IIIF collections that combine remote resources using annotation-based methods, with demonstrations of real public services for researchers and developers.]]></summary></entry><entry><title type="html">Building a IIIF-Aware Ecosystem</title><link href="http://blog.rerum.io/building-a-iiif-aware-ecosystem/" rel="alternate" type="text/html" title="Building a IIIF-Aware Ecosystem" /><published>2021-06-23T00:00:00+00:00</published><updated>2021-06-23T00:00:00+00:00</updated><id>http://blog.rerum.io/building-a-iiif-aware-ecosystem</id><content type="html" xml:base="http://blog.rerum.io/building-a-iiif-aware-ecosystem/"><![CDATA[<p>OngCDH would not be able to operate as lean as it does without a convenient foundation of tools to work access, manipulate, and create IIIF and Web Annotation compliant Objects. The existence of the standard has allowed for useful tools for application logic, such as Manifest in the IIIF-Commons, but we have extended this usefulness to create interfaces, utilities, public data APIs, and templating frameworks for rapid deployment of prototypes, classroom projects, and specialized web portals. This session will not only offer a tour of the principles and parts of our ecosystem, but showcase the pieces of it that are already available to the public and the projects that have benefited from it including: Lived Religion in a Digital Age, a data collection and visualization project around sacred spaces; Glossing Matthew, a paleography project combining transcription, lemmatization, and annotation to visualize biblical glosses; Newberry Library Renaissance Paleography, a self-directed educational module; and the Dunbar Archive, a digital repository combining a dispersed and varied collection of manuscripts, artifacts, locations, and people related to the poet laureate. Completed, active, and forthcoming projects will be demonstrated. Content is designed for developers, but is accessible enough for anyone with an interest in building a bespoke digital humanities project.</p>

<h2 id="resources">Resources</h2>

<p><a href="https://ongcdh.org/wp-content/uploads/2021/06/IIIF-Aware-Ecosystem.pdf">IIIF-Aware-Ecosystem</a><a href="https://ongcdh.org/wp-content/uploads/2021/06/IIIF-Aware-Ecosystem.pdf">Download</a></p>

<ul>
  <li>Context Files
    <ul>
      <li><a href="https://iiif.io/api/presentation/3/context.json">IIF Presentation 3</a></li>
      <li><a href="https://github.com/CenterForDigitalHumanities/deer-LR/blob/c2ea23e4f6642c6117632b73c3bc61ec4c2dc7f9/web/vocab/context.json">Lived Religion Custom example</a></li>
    </ul>
  </li>
  <li><a href="http://rerum.io">Rerum</a>
    <ul>
      <li><a href="http://tiny.rerum.io">Tiny Things</a></li>
      <li><a href="http://store.rerum.io">RERUM store</a></li>
      <li><a href="https://store.rerum.io/v1/API.html">RERUM API</a></li>
    </ul>
  </li>
  <li><a href="http://deer.rerum.io">Data Entry and Exhibition for Rerum</a></li>
  <li><a href="http://t-pen.org">TPEN</a>
    <ul>
      <li><a href="http://t-pen.org/TPEN/transcription.html">Sandbox TPEN</a></li>
      <li><a href="http://t-pen.org/TPEN/transcription.html?projectID=7006">Ong Route Book</a></li>
      <li><a href="http://t-pen.org/TPEN/transcription.html?projectID=6609">Jeff Goldblum Manuscript</a></li>
      <li><a href="http://t-pen.org/TPEN/project/4080">Presentation Sample</a></li>
    </ul>
  </li>
  <li><a href="https://www.newberry.org/paleography">Newberry Paleography</a>
    <ul>
      <li><a href="https://paleography.library.utoronto.ca/">French</a></li>
      <li><a href="https://italian-paleography.library.utoronto.ca/">Italian</a></li>
      <li><a href="http://paleo.rerum.io/TPEN-NL/italianTranscription.html?projectID=5862&amp;p=3132">Scroll Sample</a></li>
    </ul>
  </li>
  <li>Glossing Matthew</li>
  <li><a href="http://read.rerum.io/">Rerum Manifest Reader</a>
    <ul>
      <li><a href="http://read.rerum.io/#/read?url=http:%2F%2Ft-pen.org%2FTPEN%2Fmanifest%2F4080"></a><a href="http://read.rerum.io/#/read?url=http:%2F%2Ft-pen.org%2FTPEN%2Fmanifest%2F4080">Presentation Sample</a></li>
      <li><a href="http://read.rerum.io/#/read?url=http:%2F%2Ft-pen.org%2FTPEN%2Fmanifest%2F7006">Ong Route Book</a></li>
    </ul>
  </li>
  <li><a href="http://aybee.rerum.io">Rerum Aybee Tool</a>
    <ul>
      <li><a href="http://aybee.rerum.io/#/aybee?url=http:%2F%2Ft-pen.org%2FTPEN%2Fmanifest%2F4080">Presentation Sample</a></li>
      <li><a href="http://aybee.rerum.io/#/aybee?url=http:%2F%2Ft-pen.org%2FTPEN%2Fmanifest%2F7006">Ong Route Book</a></li>
    </ul>
  </li>
  <li>Concordance Tool
    <ul>
      <li><a href="https://concordance.rerum.io/?manifest=https:%2F%2Fiiif.wellcomecollection.org%2Fpresentation%2Fv2%2Fb2943306x">Wellcome Printed Book</a></li>
      <li><a href="http://concordance.rerum.io/?manifest=http://t-pen.org/TPEN/manifest/6609">Jeff Goldblum TPEN Manifest</a></li>
    </ul>
  </li>
  <li><a href="http://geo.rerum.io">Geolocator</a></li>
  <li>Dunbar Library &amp; Archive
    <ul>
      <li><a href="https://ecommons.udayton.edu/dunbar/">Music Archive</a></li>
      <li><a href="https://ecommons.udayton.edu/dunbar_glossary/">Dialect Glossary</a></li>
      <li>Dunbar Letters Transcription Portal</li>
    </ul>
  </li>
  <li><a href="http://religioninplace.org/">Lived Religion in a Digital Age</a>
    <ul>
      <li><a href="http://lrda.rerum.io/experiences.html">Public Experiences</a></li>
      <li>Data Entry Portal</li>
      <li>Mapping Interface</li>
    </ul>
  </li>
</ul>]]></content><author><name>Patrick Cuba</name></author><category term="posts" /><category term="iiif" /><category term="services" /><category term="rerum" /><summary type="html"><![CDATA[Tour the principles and components of OngCDH's IIIF-aware ecosystem, showcasing tools, APIs, and web components that accelerate digital humanities application development.]]></summary></entry><entry><title type="html">Geolocating with IIIF Presentation API 2.1 Annotation</title><link href="http://blog.rerum.io/geolocating-with-iiif-presentation-api-2-1-annotation/" rel="alternate" type="text/html" title="Geolocating with IIIF Presentation API 2.1 Annotation" /><published>2020-09-14T00:00:00+00:00</published><updated>2020-09-14T00:00:00+00:00</updated><id>http://blog.rerum.io/geolocating-with-iiif-presentation-api-2-1-annotation</id><content type="html" xml:base="http://blog.rerum.io/geolocating-with-iiif-presentation-api-2-1-annotation/"><![CDATA[<p>The experience with Annotation during the initial phases of implementing this syntax was positive. We found it prudent to investigate Annotation again using <a href="https://iiif.io/api/presentation/3.0/">IIIF Presentation API 3.0</a>.</p>

<h5 id="implementation-description">Implementation Description</h5>

<p>Below you will see an empty Manifest geolocated via a geographic polygon. There is an Annotation Page containing a single Annotation with coordinates to central Paris, France contained in the Manifest. The body of that Annotation is <a href="https://geojson.org/geojson-ld/">GeoJSON-LD</a>.</p>

<h5 id="example-json">Example JSON</h5>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
   </span><span class="nl">"@context"</span><span class="p">:[</span><span class="w">
      </span><span class="s2">"http://geojson.org/geojson-ld/geojson-context.jsonld"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"http://iiif.io/api/presentation/3/context.json"</span><span class="w">
   </span><span class="p">],</span><span class="w">
   </span><span class="nl">"id"</span><span class="p">:</span><span class="s2">"http://www.example.org/manifest/3"</span><span class="p">,</span><span class="w">
   </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"Manifest"</span><span class="p">,</span><span class="w">
   </span><span class="nl">"label"</span><span class="p">:{</span><span class="w">
      </span><span class="nl">"en"</span><span class="p">:[</span><span class="w">
         </span><span class="s2">"Manifest - Example III"</span><span class="w">
      </span><span class="p">]</span><span class="w">
   </span><span class="p">},</span><span class="w">
   </span><span class="nl">"summary"</span><span class="p">:{</span><span class="w">
      </span><span class="nl">"en"</span><span class="p">:[</span><span class="w">
         </span><span class="s2">"Example Manifest geolocated to Göttingen, Germany via Annotation."</span><span class="w">
      </span><span class="p">]</span><span class="w">
   </span><span class="p">},</span><span class="w">
   </span><span class="nl">"items"</span><span class="p">:[</span><span class="w">
      
   </span><span class="p">],</span><span class="w">
   </span><span class="nl">"annotations"</span><span class="p">:[</span><span class="w">
      </span><span class="p">{</span><span class="w">
         </span><span class="nl">"id"</span><span class="p">:</span><span class="s2">"http://www.example.org/annotation_page/1"</span><span class="p">,</span><span class="w">
         </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"AnnotationPage"</span><span class="p">,</span><span class="w">
         </span><span class="nl">"items"</span><span class="p">:[</span><span class="w">
            </span><span class="p">{</span><span class="w">
               </span><span class="nl">"id"</span><span class="p">:</span><span class="s2">"http://www.example.org/annotation/1"</span><span class="p">,</span><span class="w">
               </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"Annotation"</span><span class="p">,</span><span class="w">
               </span><span class="nl">"motivation"</span><span class="p">:</span><span class="s2">"supplementing"</span><span class="p">,</span><span class="w">
               </span><span class="nl">"label"</span><span class="p">:{</span><span class="w">
                  </span><span class="nl">"en"</span><span class="p">:[</span><span class="w">
                     </span><span class="s2">"The coordinates for the main building of the event (Alte Mensa Conference Center)."</span><span class="w">
                  </span><span class="p">]</span><span class="w">
               </span><span class="p">},</span><span class="w">
               </span><span class="nl">"body"</span><span class="p">:{</span><span class="w">
                  </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"Feature"</span><span class="p">,</span><span class="w">
                  </span><span class="nl">"properties"</span><span class="p">:{</span><span class="w">
                     </span><span class="nl">"label"</span><span class="p">:</span><span class="s2">"Göttingen, Germany"</span><span class="w">
                  </span><span class="p">},</span><span class="w">
                  </span><span class="nl">"geometry"</span><span class="p">:{</span><span class="w">
                     </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"Polygon"</span><span class="p">,</span><span class="w">
                     </span><span class="nl">"coordinates"</span><span class="p">:[</span><span class="w">
                        </span><span class="p">[</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">9.80943</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.570156</span><span class="w">
                           </span><span class="p">],</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">9.850628</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.579117</span><span class="w">
                           </span><span class="p">],</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">10.030529</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.590637</span><span class="w">
                           </span><span class="p">],</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">10.056962</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.532347</span><span class="w">
                           </span><span class="p">],</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">9.948829</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.481692</span><span class="w">
                           </span><span class="p">],</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">9.905576</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.513933</span><span class="w">
                           </span><span class="p">],</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">9.804273</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.524557</span><span class="w">
                           </span><span class="p">]</span><span class="w">
                        </span><span class="p">]</span><span class="w">
                     </span><span class="p">]</span><span class="w">
                  </span><span class="p">}</span><span class="w">
               </span><span class="p">},</span><span class="w">
               </span><span class="nl">"target"</span><span class="p">:</span><span class="s2">"http://www.example.org/manifest/3"</span><span class="w">
            </span><span class="p">}</span><span class="w">
         </span><span class="p">]</span><span class="w">
      </span><span class="p">}</span><span class="w">
   </span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<h5 id="important-implementation-notes">Important Implementation Notes</h5>

<ul>
  <li>To support interoperability through Linked Data, the <a href="http://iiif.io/api/presentation/3/context.json">IIIF Presentation API 3.0</a> and <a href="http://geojson.org/geojson-ld/geojson-context.jsonld">GeoJSON-LD 1.0</a> context are included at the top of the document.</li>
  <li>An unintended yet beneficial consequence of this paring is that these contexts are processed as <a href="https://www.w3.org/TR/json-ld11/">JSON-LD 1.1</a>. This is because the IIIF Presentation API 3 context contains the <a href="https://www.w3.org/TR/json-ld11/#dfn-processing-mode">@version tag</a> set to 1.1 which tells JSON-LD processors what version to use for processing the JSON.</li>
  <li>IIIF Presentation API 3.0 dictates that resource types be annotated by Annotation Pages as opposed to single Annotations, even in cases where this is only one Annotation.</li>
  <li>A single <a href="https://tools.ietf.org/html/rfc7946#section-3.2">GeoJSON Feature</a> was used to assert the coordinates. Since an Annotation Page can have an array of items, multiple Features can be supported all at once. GeoJSON also has <a href="https://tools.ietf.org/html/rfc7946#section-3.3">Feature Collection</a>, which can contain an array of Features. In this way, it is possible to represent multiple Features under a single Feature Collection object. Our experience with user interfaces that consume GeoJSON is that they will draw a single Feature Collection of points the same way as an array of multiple Feature objects. Since user interfaces support either, without preference, we chose to represent the single Feature as simply as possible without wrapping it inside a Feature Collection object.</li>
  <li>You can see more description about using this syntax in the <a href="https://preview.iiif.io/cookbook/0195-geolocate-manifest-to-polygon/recipe/0195-geolocate-manifest-to-polygon/">recipe from the IIIF Cookbook</a>, including a link to a working example using the recipe.</li>
</ul>

<h5 id="restrictive-outcomes">Restrictive Outcomes</h5>

<p>After creating this example and studying how processors interpret it, and furthering this example through slight variations, we noticed critical points of incompatibility.</p>

<ol>
  <li>The properties field of GeoJSON-LD is not well described and has been left to act as a wild card. It can <a href="https://tools.ietf.org/html/rfc7946#section-3.2">contain nearly anything</a> and is therefore subject to repeat described terms from other contexts, such as label.</li>
  <li>During this phase of research, we learned that the GeoJSON-LD specification and context are receiving limited attention. It is difficult to make suggestions or implement improvements (like making the context JSON-LD 1.1 on its own).</li>
</ol>

<h5 id="conclusion">Conclusion</h5>

<p>The IIIF Cookbook Community Group, in coordination with the IIIF Maps Community Group, considers GeoJSON-LD compatible with IIIF Presentation API 3.0. Linked Data processors are able to expand and compact the GeoJSON-LD data syntax in these Annotations. It is troubling that the GeoJSON-LD specification and context are abandoned. However, IIIF supports extensions within its scope, and the IIIF Maps Community Group is working with the GeoJSON Web Group to bring the specification into an environment where it will be improved upon and maintained.</p>

<h5 id="next-step">Next Step</h5>

<p>The main goal is to ensure we can make all the basic kinds of assertions through IIIF resource types. We know we can geolocate an entire resource to a Polygonal coordinate area. The other basic assertion is to geolocate some fragment of a resource contained within a Manifest.</p>]]></content><author><name>Bryan Haberberger</name></author><category term="experiments" /><category term="iiif" /><category term="technology" /><category term="geojson" /><category term="geojson-ld" /><category term="geolocation" /><summary type="html"><![CDATA[Revisiting IIIF Presentation API 2.1 annotation approach for geolocation using GeoJSON-LD bodies within annotation structures for geographic polygons.]]></summary></entry><entry><title type="html">Geolocating with IIIF Presentation API 2.1 Services</title><link href="http://blog.rerum.io/geolocating-with-iiif-presentation-api-2-1-services/" rel="alternate" type="text/html" title="Geolocating with IIIF Presentation API 2.1 Services" /><published>2020-08-10T00:00:00+00:00</published><updated>2020-08-10T00:00:00+00:00</updated><id>http://blog.rerum.io/geolocating-with-iiif-presentation-api-2-1-services</id><content type="html" xml:base="http://blog.rerum.io/geolocating-with-iiif-presentation-api-2-1-services/"><![CDATA[<p>The shortcomings of the Annotation syntax meant looking for another option. The other option of intertwining syntax is <a href="https://iiif.io/api/annex/services/">IIIF Presentation API 2.1 services</a>. Initial investigation led to a supported <a href="https://iiif.io/api/annex/services/#geojson">GeoJSON extension</a>, which meant there was already a foundation set for working with GeoJSON under the scope of the API.</p>

<h5 id="implementation-description">Implementation Description</h5>

<p>Below you will see an empty Manifest. There is a GeoJSON service attached to the Manifest with the coordinates to central Paris, France. The service contains a GeoJSON-LD object within the <a href="https://iiif.io/api/annex/services/#requirements">service object structure</a>.</p>

<h5 id="example-json">Example JSON</h5>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
   </span><span class="nl">"@context"</span><span class="p">:[</span><span class="w">
      </span><span class="s2">"http://iiif.io/api/presentation/2/context.json"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"http://geojson.org/geojson-ld/geojson-context.jsonld"</span><span class="w">
   </span><span class="p">],</span><span class="w">
   </span><span class="nl">"@id"</span><span class="p">:</span><span class="s2">"http://www.example.org/example2/manifest"</span><span class="p">,</span><span class="w">
   </span><span class="nl">"@type"</span><span class="p">:</span><span class="s2">"sc:Manifest"</span><span class="p">,</span><span class="w">
   </span><span class="nl">"label"</span><span class="p">:</span><span class="s2">"Manifest - Example II"</span><span class="p">,</span><span class="w"> 
   </span><span class="nl">"description"</span><span class="p">:</span><span class="s2">"An Empty Manifest that is geolocated to Paris, France via an IIIF Presentation API 2.1 service."</span><span class="p">,</span><span class="w">
   </span><span class="nl">"sequences"</span><span class="p">:[],</span><span class="w">
   </span><span class="nl">"service"</span><span class="p">:{</span><span class="w">
      </span><span class="nl">"@id"</span><span class="p">:</span><span class="s2">"https://www.example.org/geo/service/point-coordinates(2.34,48.86)&amp;format=geojson"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"profile"</span><span class="p">:</span><span class="s2">"http://geojson.org/geojson-spec.html"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"FeatureCollection"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"features"</span><span class="p">:[</span><span class="w">
         </span><span class="p">{</span><span class="w">
            </span><span class="nl">"@type"</span><span class="p">:</span><span class="s2">"Feature"</span><span class="p">,</span><span class="w">
            </span><span class="nl">"properties"</span><span class="p">:{</span><span class="w">
               </span><span class="nl">"label"</span><span class="p">:</span><span class="s2">"Paris, France"</span><span class="w">
            </span><span class="p">},</span><span class="w">
            </span><span class="nl">"geometry"</span><span class="p">:{</span><span class="w">
               </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"Point"</span><span class="p">,</span><span class="w">
               </span><span class="nl">"coordinates"</span><span class="p">:[</span><span class="w">
                  </span><span class="mf">2.34</span><span class="p">,</span><span class="w">
                  </span><span class="mf">48.86</span><span class="w">
               </span><span class="p">]</span><span class="w">
            </span><span class="p">}</span><span class="w">
         </span><span class="p">}</span><span class="w">
      </span><span class="p">]</span><span class="w">
   </span><span class="p">}</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<h5 id="important-implementation-notes">Important Implementation Notes</h5>

<ul>
  <li>To support interoperability through Linked Data, the <a href="http://iiif.io/api/presentation/2/context.json">IIIF Presentation API 2.1</a> and <a href="http://geojson.org/geojson-ld/geojson-context.jsonld">GeoJSON-LD 1.0</a> context are included at the top of the document.</li>
  <li>The IIIF Presentation API 2.1 and GeoJSON-LD 1.0 context are <a href="https://www.w3.org/TR/2014/REC-json-ld-20140116/">JSON-LD 1.0</a>.</li>
  <li>The assertion is directly on the Manifest.</li>
  <li>A GeoJSON Feature Collection was used to represent the single Feature object.  Since service must be an object, it is best to control expectations and always return a Feature Collection, since it would require a Feature Collection to represent an array of Feature objects.</li>
</ul>

<h5 id="restrictive-outcomes">Restrictive Outcomes</h5>

<p>After creating this example and studying how processors interpret it, and furthering this example through slight variations, we noticed critical points of incompatibility.</p>

<ol>
  <li>The context of GeoJSON-LD is not compatible with with JSON-LD 1.0. JSON-LD 1.0 processing cannot realize arrays of arrays, meaning geometry for Polygons cannot be supported.</li>
  <li>The properties field of GeoJSON-LD is not well described and has been left to act as a wild card. It can <a href="https://tools.ietf.org/html/rfc7946#section-3.2">contain nearly anything</a> and is therefore subject to repeat described terms from other contexts, such as label. Linked Data separates the meanings of duplicate keys to their direct definitions.</li>
  <li>service is a JSON object.  This means it is not possible to represent multiple Features as a simple Array.  To do this, a single Feature Collection JSON object containing the array of Features must be used.</li>
  <li>Manifests and Services do not have <a href="https://www.w3.org/TR/annotation-vocab/#motivation">motivation</a>. Motivation is important for determining the functionality and outcome expected of the syntax used.</li>
</ol>

<h5 id="conclusion">Conclusion</h5>

<p>The IIIF Cookbook Community Group, in coordination with the IIIF Maps Community Group, deemed that GeoJSON-LD was not compatible with IIIF Presentation API 2.1 services. Linked Data processors will not be able to understand or realize the GeoJSON-LD data syntax used are likely to ignore that which they cannot process.   It is not realistic to expect that existing services will change to only return Feature Collections, and we do not want to restrict what GeoJSON resource types can be used in future development.</p>

<h5 id="next-step">Next Step</h5>

<p>With the release of <a href="https://iiif.io/api/presentation/3.0/">IIIF Presentation API 3.0</a> looming, we would like to investigate if the improved API could support geographic assertions.</p>]]></content><author><name>Bryan Haberberger</name></author><category term="experiments" /><category term="iiif" /><category term="technology" /><category term="geojson" /><category term="geojson-ld" /><category term="geolocation" /><summary type="html"><![CDATA[Using IIIF Presentation API 2.1 services to attach GeoJSON-LD objects to Manifests for geographic functionality when Annotation syntax falls short.]]></summary></entry><entry><title type="html">Geolocating with IIIF Presentation API 3.0: Part 1</title><link href="http://blog.rerum.io/geolocating-with-iiif-presentation-api-3-0-part-1/" rel="alternate" type="text/html" title="Geolocating with IIIF Presentation API 3.0: Part 1" /><published>2020-08-10T00:00:00+00:00</published><updated>2020-08-10T00:00:00+00:00</updated><id>http://blog.rerum.io/geolocating-with-iiif-presentation-api-3-0-part-1</id><content type="html" xml:base="http://blog.rerum.io/geolocating-with-iiif-presentation-api-3-0-part-1/"><![CDATA[<p>The experience with Annotation during the initial phases of implementing this syntax was positive. We found it prudent to investigate Annotation again using <a href="https://iiif.io/api/presentation/3.0/">IIIF Presentation API 3.0</a>.</p>

<h5 id="implementation-description">Implementation Description</h5>

<p>Below you will see an empty Manifest geolocated via a geographic polygon. There is an Annotation Page containing a single Annotation with coordinates to central Paris, France contained in the Manifest. The body of that Annotation is <a href="https://geojson.org/geojson-ld/">GeoJSON-LD</a>.</p>

<h5 id="example-json">Example JSON</h5>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
   </span><span class="nl">"@context"</span><span class="p">:[</span><span class="w">
      </span><span class="s2">"http://geojson.org/geojson-ld/geojson-context.jsonld"</span><span class="p">,</span><span class="w">
      </span><span class="s2">"http://iiif.io/api/presentation/3/context.json"</span><span class="w">
   </span><span class="p">],</span><span class="w">
   </span><span class="nl">"id"</span><span class="p">:</span><span class="s2">"http://www.example.org/manifest/3"</span><span class="p">,</span><span class="w">
   </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"Manifest"</span><span class="p">,</span><span class="w">
   </span><span class="nl">"label"</span><span class="p">:{</span><span class="w">
      </span><span class="nl">"en"</span><span class="p">:[</span><span class="w">
         </span><span class="s2">"Manifest - Example III"</span><span class="w">
      </span><span class="p">]</span><span class="w">
   </span><span class="p">},</span><span class="w">
   </span><span class="nl">"summary"</span><span class="p">:{</span><span class="w">
      </span><span class="nl">"en"</span><span class="p">:[</span><span class="w">
         </span><span class="s2">"Example Manifest geolocated to Göttingen, Germany via Annotation."</span><span class="w">
      </span><span class="p">]</span><span class="w">
   </span><span class="p">},</span><span class="w">
   </span><span class="nl">"items"</span><span class="p">:[</span><span class="w">
      
   </span><span class="p">],</span><span class="w">
   </span><span class="nl">"annotations"</span><span class="p">:[</span><span class="w">
      </span><span class="p">{</span><span class="w">
         </span><span class="nl">"id"</span><span class="p">:</span><span class="s2">"http://www.example.org/annotation_page/1"</span><span class="p">,</span><span class="w">
         </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"AnnotationPage"</span><span class="p">,</span><span class="w">
         </span><span class="nl">"items"</span><span class="p">:[</span><span class="w">
            </span><span class="p">{</span><span class="w">
               </span><span class="nl">"id"</span><span class="p">:</span><span class="s2">"http://www.example.org/annotation/1"</span><span class="p">,</span><span class="w">
               </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"Annotation"</span><span class="p">,</span><span class="w">
               </span><span class="nl">"motivation"</span><span class="p">:</span><span class="s2">"supplementing"</span><span class="p">,</span><span class="w">
               </span><span class="nl">"label"</span><span class="p">:{</span><span class="w">
                  </span><span class="nl">"en"</span><span class="p">:[</span><span class="w">
                     </span><span class="s2">"The coordinates for the main building of the event (Alte Mensa Conference Center)."</span><span class="w">
                  </span><span class="p">]</span><span class="w">
               </span><span class="p">},</span><span class="w">
               </span><span class="nl">"body"</span><span class="p">:{</span><span class="w">
                  </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"Feature"</span><span class="p">,</span><span class="w">
                  </span><span class="nl">"properties"</span><span class="p">:{</span><span class="w">
                     </span><span class="nl">"label"</span><span class="p">:</span><span class="s2">"Göttingen, Germany"</span><span class="w">
                  </span><span class="p">},</span><span class="w">
                  </span><span class="nl">"geometry"</span><span class="p">:{</span><span class="w">
                     </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"Polygon"</span><span class="p">,</span><span class="w">
                     </span><span class="nl">"coordinates"</span><span class="p">:[</span><span class="w">
                        </span><span class="p">[</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">9.80943</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.570156</span><span class="w">
                           </span><span class="p">],</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">9.850628</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.579117</span><span class="w">
                           </span><span class="p">],</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">10.030529</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.590637</span><span class="w">
                           </span><span class="p">],</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">10.056962</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.532347</span><span class="w">
                           </span><span class="p">],</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">9.948829</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.481692</span><span class="w">
                           </span><span class="p">],</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">9.905576</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.513933</span><span class="w">
                           </span><span class="p">],</span><span class="w">
                           </span><span class="p">[</span><span class="w">
                              </span><span class="mf">9.804273</span><span class="p">,</span><span class="w">
                              </span><span class="mf">51.524557</span><span class="w">
                           </span><span class="p">]</span><span class="w">
                        </span><span class="p">]</span><span class="w">
                     </span><span class="p">]</span><span class="w">
                  </span><span class="p">}</span><span class="w">
               </span><span class="p">},</span><span class="w">
               </span><span class="nl">"target"</span><span class="p">:</span><span class="s2">"http://www.example.org/manifest/3"</span><span class="w">
            </span><span class="p">}</span><span class="w">
         </span><span class="p">]</span><span class="w">
      </span><span class="p">}</span><span class="w">
   </span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<h5 id="important-implementation-notes">Important Implementation Notes</h5>

<ul>
  <li>To support interoperability through Linked Data, the <a href="http://iiif.io/api/presentation/3/context.json">IIIF Presentation API 3.0</a> and <a href="http://geojson.org/geojson-ld/geojson-context.jsonld">GeoJSON-LD 1.0</a> context are included at the top of the document.</li>
  <li>An unintended yet beneficial consequence of this paring is that these contexts are processed as <a href="https://www.w3.org/TR/json-ld11/">JSON-LD 1.1</a>. This is because the IIIF Presentation API 3 context contains the <a href="https://www.w3.org/TR/json-ld11/#dfn-processing-mode">@version tag</a> set to 1.1 which tells JSON-LD processors what version to use for processing the JSON.</li>
  <li>IIIF Presentation API 3.0 dictates that resource types be annotated by Annotation Pages as opposed to single Annotations, even in cases where this is only one Annotation.</li>
  <li>A single <a href="https://tools.ietf.org/html/rfc7946#section-3.2">GeoJSON Feature</a> was used to assert the coordinates. Since an Annotation Page can have an array of items, multiple Features can be supported all at once. GeoJSON also has <a href="https://tools.ietf.org/html/rfc7946#section-3.3">Feature Collection</a>, which can contain an array of Features. In this way, it is possible to represent multiple Features under a single Feature Collection object. Our experience with user interfaces that consume GeoJSON is that they will draw a single Feature Collection of points the same way as an array of multiple Feature objects. Since user interfaces support either, without preference, we chose to represent the single Feature as simply as possible without wrapping it inside a Feature Collection object.</li>
  <li>You can see more description about using this syntax in the <a href="https://preview.iiif.io/cookbook/0195-geolocate-manifest-to-polygon/recipe/0195-geolocate-manifest-to-polygon/">recipe from the IIIF Cookbook</a>, including a link to a working example using the recipe.</li>
</ul>

<h5 id="restrictive-outcomes">Restrictive Outcomes</h5>

<p>After creating this example and studying how processors interpret it, and furthering this example through slight variations, we noticed critical points of incompatibility.</p>

<ol>
  <li>The properties field of GeoJSON-LD is not well described and has been left to act as a wild card. It can <a href="https://tools.ietf.org/html/rfc7946#section-3.2">contain nearly anything</a> and is therefore subject to repeat described terms from other contexts, such as label.</li>
  <li>During this phase of research, we learned that the GeoJSON-LD specification and context are receiving limited attention. It is difficult to make suggestions or implement improvements (like making the context JSON-LD 1.1 on its own).</li>
</ol>

<h5 id="conclusion">Conclusion</h5>

<p>The IIIF Cookbook Community Group, in coordination with the IIIF Maps Community Group, considers GeoJSON-LD compatible with IIIF Presentation API 3.0. Linked Data processors are able to expand and compact the GeoJSON-LD data syntax in these Annotations. It is troubling that the GeoJSON-LD specification and context are abandoned. However, IIIF supports extensions within its scope, and the IIIF Maps Community Group is working with the GeoJSON Web Group to bring the specification into an environment where it will be improved upon and maintained.</p>

<h5 id="next-step">Next Step</h5>

<p>The main goal is to ensure we can make all the basic kinds of assertions through IIIF resource types. We know we can geolocate an entire resource to a Polygonal coordinate area. The other basic assertion is to geolocate some fragment of a resource contained within a Manifest.</p>]]></content><author><name>Bryan Haberberger</name></author><category term="experiments" /><category term="iiif" /><category term="technology" /><category term="geojson" /><summary type="html"><![CDATA[Explore how to implement geographic annotations in IIIF Presentation API 3.0 using GeoJSON-LD to geolocate Manifests with coordinate data and geographic polygons.]]></summary></entry><entry><title type="html">Geolocating with IIIF Presentation API 3.0: Part 2</title><link href="http://blog.rerum.io/geolocating-with-iiif-presentation-api-3-0-part-2/" rel="alternate" type="text/html" title="Geolocating with IIIF Presentation API 3.0: Part 2" /><published>2020-08-10T00:00:00+00:00</published><updated>2020-08-10T00:00:00+00:00</updated><id>http://blog.rerum.io/geolocating-with-iiif-presentation-api-3-0-part-2</id><content type="html" xml:base="http://blog.rerum.io/geolocating-with-iiif-presentation-api-3-0-part-2/"><![CDATA[<p>Annotation was successful during the first phase of using IIIF Presentation API 3.0 for geolocating an entire Web entity.  Another piece is to ensure that we could provide geolocated assertion upon an entity fragment, since situations like inset maps are common and need specific geospatial information that does not apply to the entire entity.</p>

<h5 id="implementation-description">Implementation Description</h5>

<p>Below you will see an IIIF Presentation 3.0 Manifest that contains a single Canvas with an <a href="https://iiif.io/api/image/3.0/">IIIF Image API 3</a> compliant image painted onto it.  The word “Paris” appears on the image and the region containing the word is targeted by two Annotations. One Annotation supplements the fragment with the text “Paris”. The other Annotation supplies coordinates to a central point in Paris, France.</p>

<h5 id="example-json">Example JSON</h5>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
  </span><span class="nl">"@context"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="s2">"http://geojson.org/geojson-ld/geojson-context.jsonld"</span><span class="p">,</span><span class="w">
    </span><span class="s2">"http://iiif.io/api/presentation/3/context.json"</span><span class="w">
  </span><span class="p">],</span><span class="w">
  </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://www.example.org/manifest/4"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Manifest"</span><span class="p">,</span><span class="w">
  </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"en"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"Manifest - Example IV"</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"summary"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
    </span><span class="nl">"en"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
      </span><span class="s2">"A Manifest containing GeoJSON-LD Web Annotations to target the word </span><span class="se">\\</span><span class="s2">"</span><span class="err">Paris\\</span><span class="s2">" on the provided resource in order to transcribe it and geolocate it to Paris, France."</span><span class="w">
    </span><span class="p">]</span><span class="w">
  </span><span class="p">},</span><span class="w">
  </span><span class="nl">"items"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
    </span><span class="p">{</span><span class="w">
      </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://www.example.org/canvas/1"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Canvas"</span><span class="p">,</span><span class="w">
      </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
        </span><span class="nl">"fr"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
          </span><span class="s2">"Page de Couverture du Le Scarabée D'or"</span><span class="w">
        </span><span class="p">]</span><span class="w">
      </span><span class="p">},</span><span class="w">
      </span><span class="nl">"width"</span><span class="p">:</span><span class="w"> </span><span class="mi">3204</span><span class="p">,</span><span class="w">
      </span><span class="nl">"height"</span><span class="p">:</span><span class="w"> </span><span class="mi">4613</span><span class="p">,</span><span class="w">
      </span><span class="nl">"items"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
        </span><span class="p">{</span><span class="w">
          </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://www.example.org/content_page/1"</span><span class="p">,</span><span class="w">
          </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"AnnotationPage"</span><span class="p">,</span><span class="w">
          </span><span class="nl">"items"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
            </span><span class="p">{</span><span class="w">
              </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://preview.iiif.io/cookbook/0139-geo-annotation/recipe/0139-geolocate-canvas-fragment/content.json"</span><span class="p">,</span><span class="w">
              </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Annotation"</span><span class="p">,</span><span class="w">
              </span><span class="nl">"motivation"</span><span class="p">:</span><span class="w"> </span><span class="s2">"painting"</span><span class="p">,</span><span class="w">
              </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
                </span><span class="nl">"en"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
                  </span><span class="s2">"The cover page."</span><span class="w">
                </span><span class="p">]</span><span class="w">
              </span><span class="p">},</span><span class="w">
              </span><span class="nl">"body"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
                </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/full/max/0/default.jpg"</span><span class="p">,</span><span class="w">
                </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Image"</span><span class="p">,</span><span class="w">
                </span><span class="nl">"format"</span><span class="p">:</span><span class="w"> </span><span class="s2">"image/jpeg"</span><span class="p">,</span><span class="w">
                </span><span class="nl">"service"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
                  </span><span class="p">{</span><span class="w">
                    </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20"</span><span class="p">,</span><span class="w">
                    </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"ImageService3"</span><span class="p">,</span><span class="w">
                    </span><span class="nl">"profile"</span><span class="p">:</span><span class="w"> </span><span class="s2">"level1"</span><span class="w">
                  </span><span class="p">}</span><span class="w">
                </span><span class="p">],</span><span class="w">
                </span><span class="nl">"width"</span><span class="p">:</span><span class="w"> </span><span class="mi">3204</span><span class="p">,</span><span class="w">
                </span><span class="nl">"height"</span><span class="p">:</span><span class="w"> </span><span class="mi">4613</span><span class="w">
              </span><span class="p">},</span><span class="w">
              </span><span class="nl">"target"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://www.example.org/canvas/1"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">]</span><span class="w">
        </span><span class="p">}</span><span class="w">
      </span><span class="p">],</span><span class="w">
      </span><span class="nl">"annotations"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
        </span><span class="p">{</span><span class="w">
          </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://www.example.org/annotation_page/1"</span><span class="p">,</span><span class="w">
          </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"AnnotationPage"</span><span class="p">,</span><span class="w">
          </span><span class="nl">"items"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
            </span><span class="p">{</span><span class="w">
              </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://www.example.org/annotation/1"</span><span class="p">,</span><span class="w">
              </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Annotation"</span><span class="p">,</span><span class="w">
              </span><span class="nl">"motivation"</span><span class="p">:</span><span class="w"> </span><span class="s2">"supplementing"</span><span class="p">,</span><span class="w">
              </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
                </span><span class="nl">"en"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
                  </span><span class="s2">"Transcription Text"</span><span class="w">
                </span><span class="p">]</span><span class="w">
              </span><span class="p">},</span><span class="w">
              </span><span class="nl">"body"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
                </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"TextualBody"</span><span class="p">,</span><span class="w">
                </span><span class="nl">"value"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Paris"</span><span class="p">,</span><span class="w">
                </span><span class="nl">"format"</span><span class="p">:</span><span class="w"> </span><span class="s2">"text/plain"</span><span class="p">,</span><span class="w">
                </span><span class="nl">"language"</span><span class="p">:</span><span class="w"> </span><span class="s2">"en"</span><span class="w">
              </span><span class="p">},</span><span class="w">
              </span><span class="nl">"target"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://www.example.org/canvas/1#xywh=1300,3370,250,100"</span><span class="w">
            </span><span class="p">},</span><span class="w">
            </span><span class="p">{</span><span class="w">
              </span><span class="nl">"id"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://www.example.org/annotation/2"</span><span class="p">,</span><span class="w">
              </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Annotation"</span><span class="p">,</span><span class="w">
              </span><span class="nl">"motivation"</span><span class="p">:</span><span class="w"> </span><span class="s2">"supplementing"</span><span class="p">,</span><span class="w">
              </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
                </span><span class="nl">"en"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
                  </span><span class="s2">"Coordinate Data"</span><span class="w">
                </span><span class="p">]</span><span class="w">
              </span><span class="p">},</span><span class="w">
              </span><span class="nl">"body"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
                </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Feature"</span><span class="p">,</span><span class="w">
                </span><span class="nl">"properties"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
                  </span><span class="nl">"label"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
                    </span><span class="nl">"en"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="w">
                      </span><span class="s2">"Paris, France"</span><span class="w">
                    </span><span class="p">]</span><span class="w">
                  </span><span class="p">}</span><span class="w">
                </span><span class="p">},</span><span class="w">
                </span><span class="nl">"geometry"</span><span class="p">:</span><span class="w"> </span><span class="p">{</span><span class="w">
                  </span><span class="nl">"type"</span><span class="p">:</span><span class="w"> </span><span class="s2">"Point"</span><span class="p">,</span><span class="w">
                  </span><span class="nl">"coordinates"</span><span class="p">:</span><span class="w"> </span><span class="p">[</span><span class="mf">2.34</span><span class="p">,</span><span class="w"> </span><span class="mf">48.86</span><span class="p">]</span><span class="w">
                </span><span class="p">}</span><span class="w">
              </span><span class="p">},</span><span class="w">
              </span><span class="nl">"target"</span><span class="p">:</span><span class="w"> </span><span class="s2">"http://www.example.org/canvas/1#xywh=1300,3370,250,100"</span><span class="w">
            </span><span class="p">}</span><span class="w">
          </span><span class="p">]</span><span class="w">
        </span><span class="p">}</span><span class="w">
      </span><span class="p">]</span><span class="w">
    </span><span class="p">}</span><span class="w">
  </span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>

<h5 id="important-implementation-notes">Important Implementation Notes</h5>

<ul>
  <li>To support interoperability through Linked Data, the <a href="http://iiif.io/api/presentation/3/context.json">IIIF Presentation API 3.0</a> and <a href="http://geojson.org/geojson-ld/geojson-context.jsonld">GeoJSON-LD 1.0</a> context are included at the top of the document.</li>
  <li>An unintended yet beneficial consequence of this paring is that these contexts are processed as <a href="https://www.w3.org/TR/json-ld11/">JSON-LD 1.1</a>. This is because the IIIF Presentation API 3 context contains the <a href="https://www.w3.org/TR/json-ld11/#dfn-processing-mode">@version tag</a> set to 1.1 which tells JSON-LD processors what version to use for processing the JSON.</li>
  <li>IIIF Presentation API 3.0 dictates that resource types be annotated by Annotation Pages as opposed to single Annotations, even in cases where this is only one Annotation.</li>
  <li>A single <a href="https://tools.ietf.org/html/rfc7946#section-3.2">GeoJSON Feature</a> was used to assert the coordinates. Since an Annotation Page can have an array of items, multiple Features can be supported all at once. GeoJSON also has <a href="https://tools.ietf.org/html/rfc7946#section-3.3">Feature Collection</a>, which can contain an array of Features. In this way, it is possible to represent multiple Features under a single Feature Collection object. Our experience with user interfaces that consume GeoJSON is that they will draw a single Feature Collection of points the same way as an array of multiple Feature objects. Since user interfaces support either, without preference, we chose to represent the single Feature as simply as possible without wrapping it inside a Feature Collection object.</li>
  <li>See the <a href="https://iiif.io/api/image/3.0/example/reference/59d09e6773341f28ea166e9f3c1e674f-gallica_ark_12148_bpt6k1526005v_f20/1300,3370,250,100/max/0/default.jpg">fragment of the image</a> targeted by the Annotations! This is thanks to the magic of <a href="https://iiif.io/api/image/3.0/">IIIF Image API 3</a>!</li>
  <li>You can see more description about using this syntax in the <a href="https://preview.iiif.io/cookbook/0139-geo-annotation/recipe/0139-geolocate-canvas-fragment/">recipe from the IIIF Cookbook</a>, including a link to a working example using the recipe.</li>
</ul>

<h5 id="restrictive-outcomes">Restrictive Outcomes</h5>

<p>After creating this example and studying how processors interpret it, and furthering this example through slight variations, we noticed critical points of incompatibility.</p>

<ol>
  <li>The properties field of GeoJSON-LD is not well described and has been left to act as a wild card. It can <a href="https://tools.ietf.org/html/rfc7946#section-3.2">contain nearly anything</a> and is therefore subject to repeat described terms from other contexts, such as label.</li>
  <li>During this phase of research, we learned that the GeoJSON-LD specification and context are receiving limited attention. It is difficult to make suggestions or implement improvements (like making the context JSON-LD 1.1 on its own).</li>
</ol>

<h5 id="conclusion">Conclusion</h5>

<p>The IIIF Cookbook Community Group, in coordination with the IIIF Maps Community Group, considers GeoJSON-LD compatible with IIIF Presentation API 3.0. Linked Data processors are able to expand and compact the GeoJSON-LD data syntax in these Annotations.</p>

<h5 id="next-step">Next Step</h5>

<p>IIIF Presentation API 3.0 also has services. We need to investigate whether or not these services can support GeoJSON-LD.</p>]]></content><author><name>Bryan Haberberger</name></author><category term="experiments" /><category term="iiif" /><category term="technology" /><category term="geojson" /><summary type="html"><![CDATA[Extending geolocation capabilities to target specific entity fragments like inset maps using IIIF Presentation API 3.0 annotations with coordinate data.]]></summary></entry><entry><title type="html">Geolocating with IIIF Presentation API 3.0: Part 3</title><link href="http://blog.rerum.io/geolocating-with-iiif-presentation-api-3-0-part-3/" rel="alternate" type="text/html" title="Geolocating with IIIF Presentation API 3.0: Part 3" /><published>2020-08-10T00:00:00+00:00</published><updated>2020-08-10T00:00:00+00:00</updated><id>http://blog.rerum.io/geolocating-with-iiif-presentation-api-3-0-part-3</id><content type="html" xml:base="http://blog.rerum.io/geolocating-with-iiif-presentation-api-3-0-part-3/"><![CDATA[<p>Having found success with <a href="https://iiif.io/api/presentation/3.0/">IIIF Presentation API 3</a> Annotation, we look to see if services can support <a href="https://geojson.org/geojson-ld/">GeoJSON-LD</a>.</p>

<h5 id="implementation-description">Implementation Description</h5>

<p>Below you will see an empty Manifest geolocated via a GeoJSON service. The body of that service is a GeoJSON-LD Point.</p>

<h5 id="example-json">Example JSON</h5>

<div class="language-json highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="p">{</span><span class="w">
    </span><span class="nl">"@context"</span><span class="p">:[</span><span class="w">
       </span><span class="s2">"http://geojson.org/geojson-ld/geojson-context.jsonld"</span><span class="p">,</span><span class="w">
       </span><span class="s2">"http://iiif.io/api/presentation/3/context.json"</span><span class="w">
    </span><span class="p">],</span><span class="w">
    </span><span class="nl">"id"</span><span class="p">:</span><span class="s2">"http://www.example.org/manifest/3"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"Manifest"</span><span class="p">,</span><span class="w">
    </span><span class="nl">"label"</span><span class="p">:{</span><span class="w">
       </span><span class="nl">"en"</span><span class="p">:[</span><span class="w">
          </span><span class="s2">"Example IIIF Presentation API 3.0 Manifest III"</span><span class="w">
       </span><span class="p">]</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nl">"summary"</span><span class="p">:{</span><span class="w">
       </span><span class="nl">"en"</span><span class="p">:[</span><span class="w">
          </span><span class="s2">"Example Manifest geolocated to Paris, France via a IIIF Presentation API 3 Service."</span><span class="w">
       </span><span class="p">]</span><span class="w">
    </span><span class="p">},</span><span class="w">
    </span><span class="nl">"items"</span><span class="p">:[],</span><span class="w">
    </span><span class="nl">"service"</span><span class="p">:[</span><span class="w">
        </span><span class="p">{</span><span class="w">
            </span><span class="nl">"@id"</span><span class="p">:</span><span class="s2">"https://example.org/geo/service/point-coordinates(48.86,2.34)&amp;format=geojson"</span><span class="p">,</span><span class="w">
            </span><span class="nl">"profile"</span><span class="p">:</span><span class="s2">"http://geojson.org/geojson-spec.html"</span><span class="p">,</span><span class="w">
            </span><span class="nl">"type"</span><span class="p">:[</span><span class="s2">"Feature"</span><span class="p">,</span><span class="w"> </span><span class="s2">"GeoJSON_Service"</span><span class="p">],</span><span class="w">
            </span><span class="nl">"properties"</span><span class="p">:{</span><span class="w">
                </span><span class="nl">"label"</span><span class="p">:</span><span class="s2">"Paris, France"</span><span class="w">
            </span><span class="p">},</span><span class="w">
            </span><span class="nl">"geometry"</span><span class="p">:{</span><span class="w">
                </span><span class="nl">"type"</span><span class="p">:</span><span class="s2">"Point"</span><span class="p">,</span><span class="w">
                </span><span class="nl">"coordinates"</span><span class="p">:[</span><span class="w">
                    </span><span class="mf">2.34</span><span class="p">,</span><span class="w">
                    </span><span class="mf">48.86</span><span class="w">
                </span><span class="p">]</span><span class="w">
            </span><span class="p">}</span><span class="w">
        </span><span class="p">}</span><span class="w">
    </span><span class="p">]</span><span class="w">
</span><span class="p">}</span><span class="w">
</span></code></pre></div></div>
<h5 id="important-implementation-notes">Important Implementation Notes</h5>

<ul>
  <li>To support interoperability through Linked Data, the <a href="http://iiif.io/api/presentation/3/context.json">IIIF Presentation API 3.0</a> and <a href="http://geojson.org/geojson-ld/geojson-context.jsonld">GeoJSON-LD 1.0</a> context are included at the top of the document.</li>
  <li>An unintended yet beneficial consequence of this paring is that these contexts are <a href="https://www.w3.org/TR/json-ld11/">JSON-LD 1.1</a>. This is because the IIIF Presentation API 3 context contains the <a href="https://www.w3.org/TR/json-ld11/#dfn-processing-mode">@version tag</a> set to 1.1 which tells JSON-LD processors what version to use for processing the JSON.</li>
  <li>A single <a href="https://tools.ietf.org/html/rfc7946#section-3.2">GeoJSON Feature</a> was used to assert the coordinates. Since service can be an array of service objects, multiple Features can be supported all at once. GeoJSON also has <a href="https://tools.ietf.org/html/rfc7946#section-3.3">Feature Collection</a>, which can contain an array of Features. In this way, it is possible to represent multiple Features under a single Feature Collection object. Our experience with user interfaces that consume GeoJSON is that they will draw a single Feature Collection of points the same way as an array of multiple Feature objects. Since user interfaces support either, without preference, we chose to represent the single Feature as simply as possible without wrapping it inside a Feature Collection object.</li>
  <li>IIIF Presentation API 3.0 dictates that <a href="https://iiif.io/api/presentation/3.0/#service">services must have a type</a>.</li>
</ul>

<h5 id="restrictive-outcomes">Restrictive Outcomes</h5>

<p>After creating this example and studying how processors interpret it, and furthering this example through slight variations, we noticed critical points of incompatibility.</p>

<ol>
  <li>It is difficult to represent the “type” clash of GeoJSON-LD and IIIF Presentation API 3.0. Each type comes from a different context, and most processors expect that type is a string, not an array. It is likely that processors would not be able to process type, which would cause them to ignore this service JSON.</li>
  <li>Manifests and Services do not have <a href="https://www.w3.org/TR/annotation-vocab/#motivation">motivation</a>. Motivation is important for determining the functionality and outcome expected of the syntax used.</li>
</ol>

<h5 id="conclusion">Conclusion</h5>

<p>The IIIF Cookbook Community Group, in coordination with the IIIF Maps Community Group, considers GeoJSON-LD incompatible with IIIF Presentation API 3.0 services. Linked Data processors will have trouble process service types in cases where they clash with other Linked Data type requirements, and are likely to ignore that which they cannot process.</p>

<h5 id="next-step">Next Step</h5>

<p>Continue to push for standards in the geospatial communities by improving the specifications they rely on.  There are other methods being used to transmit and render coordinate data over the Web and other systems.  Though some may be specialized enough to require their own syntax, interoperability can only be improved through standardization of these geospatial data practices.</p>]]></content><author><name>Bryan Haberberger</name></author><category term="experiments" /><category term="iiif" /><category term="technology" /><category term="geojson" /><summary type="html"><![CDATA[Testing IIIF Presentation API 3.0 services for GeoJSON-LD support, implementing geographic data through service objects attached to Manifests.]]></summary></entry><entry><title type="html">Maps and Humanities</title><link href="http://blog.rerum.io/maps-and-humanities/" rel="alternate" type="text/html" title="Maps and Humanities" /><published>2020-06-22T00:00:00+00:00</published><updated>2020-06-22T00:00:00+00:00</updated><id>http://blog.rerum.io/maps-and-humanities</id><content type="html" xml:base="http://blog.rerum.io/maps-and-humanities/"><![CDATA[<p>It should not be a surprise that data describing humanity depends heavily on the dimensions of time and space.  How else can data representing human interaction, error, rectification, discovery, or adventure exist without these dimensions?  The human construct of reality stands on concepts that give bounds to infinity.  Time and space afford humans the concepts of change that describe their existence in this construct.  The human ability to communicate is born of these concepts.  Humanity, and perhaps all biologic life, without time and space or without the concepts of change and difference is not well described.  It is significant that humans live on planet Earth in the Milky Way galaxy, a distinction one might take for granted, and one that may change with time.</p>

<p>The evolution of technology and the maturing of data in the <a href="https://en.wikipedia.org/wiki/Internet_of_things">Internet of Things</a> exacerbated this natural need for spatiotemporal description to properly chronicle the story of humanity.  Analytics on spatiotemporal data can produce new understanding from old knowledge and give predictions of what will happen tomorrow.  It gives insight to the how and why of a history of interaction and behavior, and the change those wrought, for better or worse.</p>

<p>Data scientists in the humanities and beyond realize the common need for spatiotemporal dimensions.  Global consortia are forming to develop standardized, uniform ways of making responsible and interoperable spatiotemporal assertions and connections.  As much as it is for the data and for science, it is for the human.  User interfaces are crafted to take in this standardized format so that data can move between pointed, analytical, and human-readable visualizations connecting humans, time, and space.  Here are one thousand examples of such ventures: <a href="https://gisgeography.com/gis-applications-uses/">https://gisgeography.com/gis-applications-uses/</a>.</p>

<p>What started the Walter J. Ong, S.J., Center for Digital Humanities at Saint Louis University’s (OCDH) specific involvement in standardized geospatial assertions is <a href="https://religioninplace.org/blog/">Lived Religion in the Digital Age</a>.  This project attempts to describe the amorphous effects religion has on a region, and vice-versa.  One data capture method is accepting a testimonial from a human describing religion, or lack of religion, during an experience or event.  “I was at a place at this time, witnessed interactions with people and/or objects and have this conclusion about how religion shaped or was shaped by what was witnessed.”  A data challenge to describe People, Places, Things, Events and their abundant, abstract, loose connections.  Once the work began and data structures were in place, a question still loomed: how do I reliably assert known Earth coordinates onto Person, Place, Thing or Event data?</p>

<p>If you are a human interested in better understanding humans as it pertains to time and space, then you may be interested in the role OCDH is playing.  We plan to release a series of blogs that will demonstrate our entanglement in geospatial data science.  It will expose our experience with the geospatial data standards we have encountered and are attempting to enhance.  There are avenues that intersect geospatial assertions and interoperable <a href="https://linked.art/loud/">linked open usable data</a>.  We would like to give you the coordinates.</p>]]></content><author><name>Bryan Haberberger</name></author><category term="development" /><category term="experiments" /><category term="technology" /><category term="geolocation" /><category term="geojson" /><category term="thinking-aloud" /><summary type="html"><![CDATA[How spatiotemporal data shapes digital humanities research, from Lived Religion projects to standardized geospatial assertions connecting humans, time, and space.]]></summary></entry></feed>