Skip to content

Commit

Permalink
WWTExplorer3d/Healpix/HealpixTile.cs: add HiPS analytics
Browse files Browse the repository at this point in the history
Add a query-string to HiPS tile URLs that will allow providers to get some
analytics on traffic sources. With the Windows client, we could set the
User-Agent, but that's not an option for the web-based client(s), and it will
keep things cleaner to use a single mechanism across platforms.
  • Loading branch information
pkgw committed Feb 11, 2022
1 parent 3a4e607 commit 94df3f6
Showing 1 changed file with 15 additions and 9 deletions.
24 changes: 15 additions & 9 deletions WWTExplorer3d/Healpix/HealpixTile.cs
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ private void createGeometry()
static bool galMatInit = false;
static Matrix3d galacticMatrix = Matrix3d.Identity;

public string GetDirectory(IImageSet dataset, int level, int x, int y)
public new string GetDirectory(IImageSet dataset, int level, int x, int y)
{
StringBuilder sb = new StringBuilder();

Expand All @@ -345,7 +345,7 @@ public string GetDirectory(IImageSet dataset, int level, int x, int y)

public string GetFilename()
{
string extention = GetHipsFileExtention();
string extention = GetHipsFileExtension();

StringBuilder sb = new StringBuilder();
sb.Append(Properties.Settings.Default.CahceDirectory);
Expand Down Expand Up @@ -439,10 +439,9 @@ public static void GenerateLevel2(string filename)
}
}

public string GetUrl(IImageSet dataset, int level, int x, int y)
public new string GetUrl(IImageSet dataset, int level, int x, int y)
{
string returnUrl = "";
string extention = GetHipsFileExtention();
string extension = GetHipsFileExtension();

int tileTextureIndex = -1;
if (level == 0)
Expand All @@ -453,6 +452,7 @@ public string GetUrl(IImageSet dataset, int level, int x, int y)
{
tileTextureIndex = this.face * nside * nside / 4 + this.tileIndex;
}

StringBuilder sb = new StringBuilder();

int subDirIndex = tileTextureIndex / 10000;
Expand All @@ -467,12 +467,18 @@ public string GetUrl(IImageSet dataset, int level, int x, int y)
sb.Append("0");
}

returnUrl = string.Format(dataset.Url, level.ToString(), sb.ToString(), tileTextureIndex.ToString() + extention);

return returnUrl;
// Add a query string component to help the HiPS services do analytics on their traffic.
// Here on Windows we could use a user-agent, but that isn't an option for the web-based
// client(s), and it'll keep things simpler to use the same mechanism across platforms.
return string.Format(
dataset.Url,
level.ToString(),
sb.ToString(),
tileTextureIndex.ToString() + extension + "?client=wwt6windows"
);
}

private string GetHipsFileExtention()
private string GetHipsFileExtension()
{
// The extension will contain either a list of type or a single type
// The imageset can be set to the perfrered file type if desired IE: FITS will never be chosen if others are avaialbe,
Expand Down

0 comments on commit 94df3f6

Please sign in to comment.