Skip to content

Commit

Permalink
2.9.0 merge
Browse files Browse the repository at this point in the history
  • Loading branch information
tariqksoliman committed Sep 6, 2023
2 parents 5a0e51f + dc4d7ff commit d7dfce4
Show file tree
Hide file tree
Showing 8 changed files with 227 additions and 0 deletions.
59 changes: 59 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
name: Bug Report Form
description: Report a bug to help us improve
title: "[Bug]: "
labels: "bug"
body:
- type: markdown
attributes:
value: |
> _Thanks for filing a bug ticket. We appreciate your time and effort. Please answer a few questions._
- type: dropdown
id: checked-for-duplicates
attributes:
label: Checked for duplicates
description: Have you checked for duplicate issue tickets?
multiple: false
options:
- "Yes - I've already checked"
- "No - I haven't checked"
validations:
required: yes
- type: textarea
id: description
attributes:
label: Describe the bug
description: A clear and concise description of what the bug is. Plain-text snippets preferred but screenshots welcome.
placeholder: Tell us what you saw
value: "When I did [...] action, I noticed [...]"
validations:
required: true
- type: textarea
id: expected-behavior
attributes:
label: What did you expect?
description: A clear and concise description of what you expect to happen
placeholder: Tell us what you expected
value: "I expected [...]"
validations:
required: true
- type: textarea
id: reproduction
attributes:
label: Reproducible steps
description: "How would we reproduce this bug? Please walk us through it step by step. Plain-text snippets preferred but screenshots welcome."
value: |
1.
2.
3.
...
render: bash
- type: textarea
id: environment
attributes:
label: Environment
description: "What is your environment? Include any computer hardware, operating system, framework, browser, time-of-day or other contextual information related to your issue"
value: |
- Version of this software [e.g. vX.Y.Z]
- Operating System: [e.g. MacOSX with Docker Desktop vX.Y]
...
render: bash
48 changes: 48 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
name: New Feature Form
description: Suggest a new feature for us to implement
title: "[New Feature]: "
labels: "enhancement"
body:
- type: markdown
attributes:
value: |
> _Thanks for filing a new feature request. We appreciate your time and effort. Please answer a few questions._
- type: dropdown
id: checked-for-duplicates
attributes:
label: Checked for duplicates
description: Have you checked for duplicate issue tickets?
multiple: false
options:
- "Yes - I've already checked"
- "No - I haven't checked"
validations:
required: yes
- type: dropdown
id: checked-alternatives
attributes:
label: Alternatives considered
description: Have you considered alternative solutions to your feature request?
options:
- "Yes - and alternatives don't suffice"
- "No - I haven't considered"
validations:
required: yes
- type: textarea
id: related-problems
attributes:
label: Related problems
description: Is your feature request related to any problems? Please help us understand if so, including linking to any other issue tickets.
placeholder: Tell us the problems
value: "I'm frustrated when [...] happens as documented in issue-XYZ"
validations:
required: false
- type: textarea
id: description
attributes:
label: Describe the feature request
description: A clear and concise description of your request.
placeholder: Tell us what you want
value: "I need or want [...]"
validations:
required: true
13 changes: 13 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
## Purpose
- Clear, easy-to-understand sentences outlining the purpose of the PR
## Proposed Changes
- [ADD] ...
- [CHANGE] ...
- [FIX] ...
## Issues
- Links to relevant issues
- Example: issue-XYZ
## Testing
- Provide some proof you've tested your changes
- Example: test results available at ...
- Example: tested on operating system ...
8 changes: 8 additions & 0 deletions API/Backend/Draw/routes/files.js
Original file line number Diff line number Diff line change
Expand Up @@ -252,6 +252,10 @@ router.post("/make", function (req, res, next) {
id: created.id,
res,
});
triggerWebhooks("drawFileAdd", {
id: created.id,
res,
});
return null;
})
.catch((err) => {
Expand Down Expand Up @@ -300,6 +304,10 @@ router.post("/make", function (req, res, next) {
id: created.id,
res,
});
triggerWebhooks("drawFileAdd", {
id: created.id,
res,
});
}

return null;
Expand Down
11 changes: 11 additions & 0 deletions config/css/config.css
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,17 @@ body {
#manage_webhooks:hover {
color: #08aeea;
}
#manage_webhooks {
height: 30px;
width: calc(100% - 16px);
line-height: 30px;
margin: 4px 8px;
font-size: 12px;
color: #ddd;
}
#manage_webhooks:hover {
color: #5ea1ed;
}

textarea {
resize: vertical;
Expand Down
79 changes: 79 additions & 0 deletions docs/pages/markdowns/Remote_Virtual_Layer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
# Remote Virtual Layers

A remote virtual layer can be supported via various GDAL drivers. The most common is the [GDAL WMS Driver](https://gdal.org/drivers/raster/wms.html). This allows MMGIS to treat remote datasets as if they were local.

## GDAL XML Desciption File Template

Here is a template of a GDAL XML Description file that may be used to access a remote DEM for the [Measure Tool](?page=Measure).

```xml
<GDAL_WMS>
<Service name="WMS">
<!-- recommend Version 1.1.1; Version 1.3 uses different bounding box definition -->
<Version>1.1.1</Version>
<!-- root URL of WMS service -->
<ServerUrl>http://localhost/map/?</ServerUrl>
<!-- projection of the source dataset -->
<SRS>IAU2000%3A30166%2C31.1492746341015%2C-85.391176037601</SRS>
<ImageFormat>image/tiff</ImageFormat>
<!-- name of one or more WMS layers-->
<Layers>some_dem_layer</Layers>
</Service>
<DataWindow>
<!-- the values below should match the full bounds of the dataset -->
<UpperLeftX>-2091.701</UpperLeftX>
<UpperLeftY>3505.141</UpperLeftY>
<LowerRightX>6119.299</LowerRightX>
<LowerRightY>-3638.859</LowerRightY>
<!-- recommend native sizes of the dataset, but may be reduced if full resolution is not needed (results in faster queries, but lower data precision) -->
<SizeX>8211</SizeX>
<SizeY>7144</SizeY>
</DataWindow>
<!-- the desired output project, which should match the MMGIS map -->
<Projection>+proj=stere +lat_0=-85.391176037601 +lon_0=31.1492746341015 +k=1 +x_0=0 +y_0=0 +a=1737400 +b=1737400 +units=m +no_defs</Projection>
<BandsCount>1</BandsCount>
<!-- *Important* to ensure that DataType matches the source data -->
<DataType>Float32</DataType>
<!-- GDAL creates a local cache for faster access; highly recommend to include -->
<Cache>
<!-- set an expiration value to prevent the cached data from filling up local storage -->
<Expires>604800</Expires>
<!-- a directory with write permissions to store cached data; defaults to ./gdalwmscache if not provided -->
<Path>./gdalwmscache</Path>
</Cache>
</GDAL_WMS>
```

## GDAL Local Caching

If the `<Cache>` tag is included in the XML description file, GDAL will by default create a directory named `gdalwmscache` at the root location of MMGIS (directory must have write permissions for this to work). It is highly recommended to include this capability to significantly improve performance. Initial queries to a remote dataset may take several seconds, but subsequent queries that hit the cache are just as fast as accessing a local file.

## Remote XML Description File

Typically, an XML description file is generated locally for any dataset that is to be accessed remotely. This file can be place in the mission's Data/ directly for easy access by MMGIS.

However, it is also possible to access a remote XML description file on another server. This can enable more control for dynamic access. This is accomplished via GDAL's `/vsicurl/` prefix to access network locations. For example, instead of specifying a local XML description file for a DEM like so:

```javascript
{
"dem": "data/description.xml"
}
```

A remote XML description file can be specified like this:

```javascript
{
"dem": "/vsicurl/http://localhost/description.xml"
}
```

Other `vsi*` options exist for commercial cloud storage such as S3: `/vsis3/`

Note: for directly accessing cloud-optimized GeoTIFFs, the XML description file is unnecessary and can be bypassed altogether by using the `/vsis3/` prefix and referencing the remote file path.

See GDAL documentation for more information about virtual file systems: https://gdal.org/user/virtual_file_systems.html#network-based-file-systems

## More Information

For more details about the XML description file, see the official GDAL documentation here: https://gdal.org/drivers/raster/wms.html#xml-description-file
2 changes: 2 additions & 0 deletions src/essence/Basics/Layers_/Layers_.js
Original file line number Diff line number Diff line change
Expand Up @@ -2582,6 +2582,8 @@ const L_ = {
)
return
}
L_.syncSublayerData(layerName)
L_.globeLithoLayerHelper(L_.layersNamed[layerName])
} else {
console.warn(
'Warning: Unable to update vector layer as it does not exist: ' +
Expand Down
7 changes: 7 additions & 0 deletions src/external/Dropy/dropy.css
Original file line number Diff line number Diff line change
Expand Up @@ -164,3 +164,10 @@ dd {
.dropy.openUp .dropy__content > ul {
transform: translateY(-100%);
}

.dropy.openUp .dropy__content {
top: unset;
}
.dropy.openUp .dropy__content > ul {
transform: translateY(-100%);
}

0 comments on commit d7dfce4

Please sign in to comment.