GNS-Science / solvis-graphql-api

solvis-graphql-api
GNU Affero General Public License v3.0
1 stars 0 forks source link

feature: complete union/intersection options for parent_fault filtering and set sane defaults #38

Open chrisbc opened 1 year ago

chrisbc commented 1 year ago

suggested sane defaults are:

chrisbc commented 12 months ago

it seems that intersection isn't default for locations ....

  $first: Int!
  $after: String
  $model_id: String!
  $fault_system: String!
  $location_ids: [String]!
  $radius_km: Int!
  $corupture_fault_names: [String]
  $minimum_mag: Float
  $maximum_mag: Float
  $minimum_rate: Float
  $maximum_rate: Float
  $sortby: [SimpleSortRupturesArgs]
) {
  textual_content_header: KORORAA_textual_content(index: "rupture_map_header.md") {
    ok
    content {
      content_type
      text
    }
  }
  SOLVIS_locations_by_id(location_ids: $location_ids) {
    edges {
      node {
        location_id
        name
        radius_geojson(radius_km: $radius_km, style: {stroke_color: "royalblue", stroke_width: 3, stroke_opacity: 1, fill_opacity: 0.01, fill_color: "royalblue"})
        id
      }
    }
  }
  SOLVIS_filter_rupture_sections(filter: {model_id: $model_id, location_ids: $location_ids, fault_system: $fault_system, corupture_fault_names: $corupture_fault_names, radius_km: $radius_km, minimum_mag: $minimum_mag, maximum_mag: $maximum_mag, minimum_rate: $minimum_rate, maximum_rate: $maximum_rate}) {
    model_id
    section_count
    fault_surfaces(style: {stroke_color: "silver", fill_color: "silver", fill_opacity: 0.25})
    fault_traces(color_scale: {name: "inferno"}, style: {stroke_width: 5})
    color_scale(name: "inferno") {
      name
      min_value
      max_value
      color_map {
        levels
        hexrgbs
      }
    }
    mfd_histogram {
      bin_center
      rate
      cumulative_rate
    }
  }
  SOLVIS_filter_ruptures(first: $first, after: $after, filter: {model_id: $model_id, fault_system: $fault_system, location_ids: $location_ids, radius_km: $radius_km, corupture_fault_names: $corupture_fault_names, minimum_mag: $minimum_mag, maximum_mag: $maximum_mag, minimum_rate: $minimum_rate, maximum_rate: $maximum_rate}, sortby: $sortby) {
    total_count
  }
  ...RuptureAnimationPage_queryRoot_2Ls9it
}

fragment RuptureAnimationPage_queryRoot_2Ls9it on Query {
  SOLVIS_filter_ruptures(first: $first, after: $after, filter: {model_id: $model_id, fault_system: $fault_system, location_ids: $location_ids, radius_km: $radius_km, corupture_fault_names: $corupture_fault_names, minimum_mag: $minimum_mag, maximum_mag: $maximum_mag, minimum_rate: $minimum_rate, maximum_rate: $maximum_rate}, sortby: $sortby) {
    pageInfo {
      hasNextPage
      endCursor
    }
    edges {
      node {
        fault_surfaces
        magnitude
        rate_weighted_mean
        area
        length
        id
        __typename
      }
      cursor
    }
  }
}

json:

{
    "first": 5,
    "after": null,
    "model_id": "NSHM_v1.0.4",
    "fault_system": "CRU",
    "location_ids": [
        "AKL",
        "ZQN"
    ],
    "radius_km": 50,
    "corupture_fault_names": [],
    "minimum_mag": 6,
    "maximum_mag": 10,
    "minimum_rate": 1.0000000000000001e-20,
    "maximum_rate": 1,
    "sortby": null
}