Giter Club home page Giter Club logo

geojson.net's Introduction

Circle CI

geojson.net

geojson.net became Placemark.io, a complete system for building, editing, and sharing maps.

geojson.net's People

Contributors

aliasmrchips avatar alulsh avatar bhousel avatar blockjon avatar bmcbride avatar brunosan avatar camilleanne avatar diogok avatar frankrowe avatar glennon avatar jeffpaine avatar jgimbel avatar jieter avatar jwass avatar jyutzler avatar kenichi avatar landonreed avatar laurentlouf avatar lokkju avatar lyzidiamond avatar mikemorris avatar morganherlocker avatar planemad avatar samanpwbb avatar sgillies avatar tcql avatar tmcw avatar tyrasd avatar ubergesundheit avatar yhahn avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

geojson.net's Issues

URL parameters as per API.md appear to be ignored. Work fine in geojson.IO instead of .NET

The API.md file has several example links to demonstrate passing parameters via the URL. All of them except for the first one simply get changed to the first one when the map appears, and show no effect other than to display the entire world map but no geometry, no matter what the URL parameters are.

The same links, with the only change being that the domain is the deprecated “geojson.io” instead of “geojson.net”, appear in the geojson.io version of the file. Those work fine. Also, copying any of the example URLs from the geojson.NET API.md and pasting them into the browser bar, then changing the TLD of the URL from “.net” to “.io” also works just fine, but of course they then go to the deprecated geojson.IO.

Also, a minor thing: at the top of API.md in the geojson.net repository, the initial Header text still says “Geojson.io API.” Maybe that’s intentional because the API doesn’t work yet in geojson.NET? If so, maybe include a notation to that effect near the top of the file, that these are for future implementation.

Migrate off of Mapbox Classic Style implementation

Currently this app uses the Mapbox Legacy Maps API & a default classic style (mapbox.streets) for it's primary tileLayer:

"https://b.tiles.mapbox.com/v4/mapbox.streets/{z}/{x}/{y}@2x.png?access_token=" +

Support for Classic Styles is slated to end on June 1, 2020: https://blog.mapbox.com/deprecating-studio-classic-styles-d8892ac38cb4.

Because this implementation uses a Mapbox template style, migrating to the new endpoints should be fairly straightforward: https://docs.mapbox.com/help/troubleshooting/migrate-legacy-static-tiles-api/#leaflet-implementations

Performance with many points is poor

  1. Go to https://geojson.net
  2. Select Meta -> Random: Points -> Enter 1000 -> Confirm
  3. Zoom out enough to have your screen filled with points

Issues:

  • Attempt to scroll or zoom - depending on the zoom level it might stutter a lot or even freeze for coiuple seconds
  • Switch to other browser tab and then switch back to geojson.net - browser window will be blank for couple of seconds before rendering again

geojson.io does not appear to break a sweat when performing same test.

Run frontend code without server.js

I've been attempting to change somethings in the code and while using node server.js building and making modifications take really long(30s) while DEV mode is active.

That said, I'm trying to run the frontend directly with parcel index.html but I'm receiving the following error:

image

Is there a better way to made some modifications to run the project and not wait so long for the builds?

Usage notes for `geojson.net` where to put usage or documentation or Wiki?

I've added some notes and some animations on how to use geojson.net with xyz raster tiles. Thanks for this tool, as well as geojson.io. Please see https://github.com/roblabs/xyz-raster-sources#use-in-geojsonnet

I would like to add the proper notes to a Wiki or a docs.md. It didn't seem right to add to readme.md. Any thoughts?


Usage notes for a future wiki

You can use geojson.net to add in xyz raster tiles:

  • At the bottom, click on Add layer
    • Fill at ID, Title & Attribution as needed
    • In the URL, you can add in a xyz layer
    • E.G., http://tile.stamen.com/watercolor/{z}/{x}/{y}.jpg

geojson.net

Undo/redo

Obviously a pretty big task. Definitely a pony.

Add nextzen, perhaps other maps

Previously, geojson.io used my personal (unlimited) token, then used a Mapbox-owned (unlimited) token, and now uses my alum token. This isn't an ideal situation for being able to run geojson.io independently.

Get Leaflet.draw to always add GeoJSON features

I'm mostly just fixing whatever I stumble upon without making issues because of this stage of development, but anyway, this one's taking a little while:

leaflet-editable, which is lovely in that it lets us support multipolygons, nonetheless has some faults: specifically that it communicates in Leaflet's L.Polygon and L.Marker and so on, rather than L.GeoJSON features. So... latlng (seriously...) and we can't add properties to them. Need to figure out how to make it emit GeoJSON always.

Support collaborative editing

Sorry if it's too early for the wishlist :) But a need that I've often experienced, and never found a good solution to, is simple collaborative editing of geodata. Basically:

  1. I create a dataset.
  2. I invite you.
  3. You can make some changes.
  4. The latest version is always accessible through an API.

uMap kind of supports this, but doesn't have a real GeoJSON API. I'm not sure if this is possible at geojson.io through saving to Github. If it is, it's kind of clunky and not intuitive.

It would be really amazing if this was implemented simply and well.

(I'm not really asking for simultaneous collaborative editing here, though at least warning if there has been an intermittent save, and making some effort to merge changes might be nice.)

Text editing doesn't work

Not sure if I'm doing something wrong, or something broke, but currently, editing the text representation of the GeoJSON doesn't cause the map to be updated. So pasting into the edit box doesn't work, which is the primary way I use geojson.io (and hence would be expecting here...)

Provide i18n/translation support

I have a potential group of German users who I want to recommend this tool to. Since it's for a history project the users tend to be older and not well-versed in English. It would therefore be very useful for us if the interface was available in German.

I would be willing to provide the translation if geojson.net adds support for translating the interface.

GeoJSON file import failing

Hi Tom,

Importing a GeoJSON file from Open > File fails here:

onFileInputChange = async e => {
const { files } = e.target;
const { geojson, setGeojson } = this.props;
const geojsons = [...files].map(file => {
return new Promise(resolve => {
const reader = new FileReader();
reader.readAsText(file);
reader.addEventListener("load", () =>
resolve(magicFile(reader.result))
);
});
});
setGeojson(mergeGeojson([geojson, ...geojsons]));
};

...since geojsons are Promises and mergeGeojson doesn't seem to handle those.

Should it wait for the file contents to be available? Something like:

const geojsons = await Promise.all( ... )

Latitude and Longitude are incorrect on Marker

Just noticed that when looking under "Statistics' on a marker, the latitude and longitude values are switched.

GeoJson going against the regular standard of (LAT,LNG) is the probable cause... Still not completely sure why they felt the need to switch them and go against the grain.

GitHub browser

  • Browse repos
  • Browse first-level files
  • Browse organizations
  • Traverse down the file tree
  • Preview files / gray out un-importable files
  • Actually import files

Use mapbox as a vector instead of a tile api layer

I noticed that the app uses the mapbox api tiles instead of mapbox source as a vector.

For some reason this gives different results compared to the vector, maybe the version numbers mean something? (v4 vs v8)

Anyway is there any reason to use mapbox tiles over the vector image? Is it easy enough to change in a forked version?

Can't edit overlapping polygons

Not sure if this is a solvable problem, but geojson.net suffers from the same problem as geojson.io, in that if one polygon is wholly within another, it can be impossible to click on in order to edit its properties.

Possible solutions:

  • reorder the display to put smaller polygons on top (I think there are diabolical edge cases without solution, but they're probably very unlikely in practice)
  • a special key modifier or something to ignore the first thing clicked on and "look deeper".
  • a special key modifier or something that lets you click on a vertex (which always seem clickable) and use that as the way of accessing the polygon's properties.
  • a meta tool to flip the order of everything. You could use that to flip, edit, flip when needed.
  • a tool to send the selected layer "to the bottom", which would then let you edit layers that were obscured by it.

enable gist by url querystring

Hi Tim, thank you very much for geojson.net and geojson.io! I really like these tools a lot, but like others I have concerns with the permissions. OK, call me paranoid ;) One idea would be to make it like this nbviewer where when sharing or getting data from pubic gists and repos, you only have to provide the URL. Since the data is public anyway, an oauth token might not even be necessary. Anyway, just an idea, feel free to close this as I probably won't send a PR, sorry.

related issues:

probably more

UI refresh?

Gday @tmcw

Thanks for undertaking this project (the original and the to-be version), I couldn't tell you how often I use it! As I mentioned on slack I'd also half-heartedly started recently working on a more modernised replacement.

If you're interested I'd be happy to attempt to give the UI a bit of love. I can start with throwing together a few mock images and take it from there.

Cheers
Rowan

CSV file import fails

When I attempt to open a CSV file from my computer, the file doesn't appear to load. I get the following error in the console:

XML Parsing Error: syntax error
Location: https://geojson.net/#2/20.0/0.0
Line Number 1, Column 1:

and

TypeError: o is null

Sample CSV file

WSOD since fix for Issue #45 — critical!

Since the fix for Issue #45 (not responding to URL parameters) which I reported was applied. now the geojson.net just WSODs, with or without any URL parameters.

Here’s the complete returned HTML (note no tags in the <body> section that would display anything — just an empty <div> and some <script>:

<!DOCTYPE html>
<html>
<head>
  <meta charset='utf-8'>
  <meta http-equiv='X-UA-Compatible' content='IE=Edge'>
  <title>geojson.net</title>
  <link href='./node_modules/tachyons/src/tachyons.css' rel='stylesheet' />
  <link href='./css/leaflet.css' rel='stylesheet' />
  <link href='./node_modules/codemirror/lib/codemirror.css' rel='stylesheet' />
  <link href='./css/theme.css' rel='stylesheet' />
  <link href='./css/style.css' rel='stylesheet' />
  <link rel='icon' type='image/x-icon' href='./img/favicon.png' />
  <meta name='description' content='simply edit geojson map data' />
  <meta property='og:site_name' content='geojson.net'/>
  <meta name='viewport' content='initial-scale=1,maximum-scale=1'>
  <meta http-equiv="Content-Security-Policy" content="
    default-src
      'self'
      ;
    child-src
      'self'
      blob:
      ;
    connect-src
      'self'
      *
      ;
    font-src
      'self'
      ;
    frame-src
      'self'
      ;
    img-src
      'self'
      data:
      *
      ;
    script-src
      'self'
      'unsafe-eval'
      'unsafe-inline'
      ;
    style-src
      'self'
      'unsafe-inline'
      ;
  ">
  <style>
  /*
   * http://seclab.stanford.edu/websec/framebusting/framebust.pdf
   */
  body { display: none; }
  </style>
</head>
<body>

  <div id='geojsonnet'></div>

  <script>
    if (self == top) {
      document.getElementsByTagName ("body")[0].style.display = 'block';
    } else {
      top.location = self.location;
    }
  </script>
  <script src='./src/index.js'></script>
  </body>
</html>

Necessity of zeit.co/now

Hi Tom,

for what do I exactly need the zeit.co/now dependency? As I am a non-American patriot it's illegal for me to use AWS.

Source: #47

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.